Skip to content

feat: update homepage layout and VIP theme colors#2331

Closed
ElMagnea wants to merge 4 commits into
mainfrom
feature/vip-theme-homepage
Closed

feat: update homepage layout and VIP theme colors#2331
ElMagnea wants to merge 4 commits into
mainfrom
feature/vip-theme-homepage

Conversation

@ElMagnea
Copy link
Copy Markdown
Collaborator

Updates homepage layout by removing WeeklyPulse component and adjusts VIP theme colors.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on refining the homepage user experience by removing the WeeklyPulse component and enhancing the visual feedback for empty states in the 'Where to Watch' sections. Additionally, it expands the application's social media utility links and performs minor localization updates to improve clarity.

Highlights

  • Homepage Cleanup: Removed the WeeklyPulse component from the homepage layout.
  • UI Improvements: Introduced a new WhereToWatchEmptyItem component to provide a better visual state when no streaming services are available.
  • URL Updates: Added social media links for Instagram, X, and TikTok to the UrlBuilder.
  • Localization: Updated the 'Upcoming Schedule' label to 'Calendar' in the English localization file.
Ignored Files
  • Ignored by pattern: projects/client/i18n/messages/** (1)
    • projects/client/i18n/messages/en-au.json
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@trakt-bot trakt-bot Bot enabled auto-merge (rebase) May 14, 2026 09:39
@deepsource-io
Copy link
Copy Markdown

deepsource-io Bot commented May 14, 2026

DeepSource Code Review

We reviewed changes in 556eef9...597d6e1 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Coverage  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript May 14, 2026 9:39a.m. Review ↗
Code coverage May 14, 2026 9:39a.m. Review ↗

Code Coverage Summary

Language Line Coverage (Overall)
Aggregate
71.5%
Javascript
71.5%

➟ Additional coverage metrics may have been reported. See full coverage report ↗


Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new WhereToWatchEmptyItem component to provide a visual empty state for the 'Where to Watch' section, updates the 'Upcoming Schedule' translation to 'Calendar', adds several social media links to the UrlBuilder, and removes the WeeklyPulse feature from the home page. Review feedback highlights several opportunities for improvement, specifically regarding CSS encapsulation and the avoidance of global style pollution. Recommendations include scoping styles to prevent leakage, removing unnecessary SCSS declarations and dead CSS, and ensuring all user-facing strings are properly internationalized.

Comment on lines +108 to +118
:global(.section-list-empty-state) {
width: auto;
margin: 0;
padding-inline: 0;
align-items: flex-start;
justify-content: flex-start;
}

:global(.section-list-empty-state:not(:has(:global(.trakt-skeleton-list)))) {
width: auto;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The :global(.section-list-empty-state) selector is not scoped to this component, which will cause these styles to leak and affect all SectionList components throughout the application. To avoid global CSS pollution, please scope this selector by wrapping the SectionList in a unique container class or using a more specific selector.

References
  1. Avoid using :global() for CSS classes that are only used as selectors within the same Svelte component. Prefer scoped styles to maintain better style encapsulation.

Comment on lines +7 to +8
<span>No Services</span>
<span>Available</span>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The strings "No Services" and "Available" are hardcoded. To support internationalization, please use the project's i18n system by referencing a key from the m object (e.g., m.button_text_no_services() or a new specific key).

Comment on lines +15 to +22
:global(.trakt-link) {
text-decoration: none;
color: var(--color-text-secondary);

&:hover {
color: var(--color-text-secondary);
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The CSS block targeting :global(.trakt-link) appears to be dead code as there are no elements with that class in this component's markup. Please remove it to maintain code cleanliness.

</div>
{/if}

<style lang="scss">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The lang="scss" attribute is unnecessary here because no SCSS-specific features (like variables, mixins, or functions) are being used. Plain CSS nesting is supported by the Svelte compiler and modern browsers.

<style>
References
  1. Only add lang="scss" to <style> tags in Svelte components when SCSS-specific features are used. Plain CSS nesting does not require it. (link)

Comment on lines +170 to +180
:global(.section-list-empty-state) {
width: auto;
margin: 0;
padding-inline: 0;
align-items: flex-start;
justify-content: flex-start;
}

:global(.section-list-empty-state:not(:has(:global(.trakt-skeleton-list)))) {
width: auto;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

These global styles are identical to those added in WhereToWatchList.svelte. Beyond the duplication, they also suffer from global scope leakage. Consider moving shared layout overrides for the empty state into a common location or scoping them properly within each component to prevent unintended side effects on other lists.

@seferturan
Copy link
Copy Markdown
Contributor

Will be tackled differently (e.g. when we add the screen time version).

@seferturan seferturan closed this May 19, 2026
auto-merge was automatically disabled May 19, 2026 15:21

Pull request was closed

@seferturan seferturan deleted the feature/vip-theme-homepage branch May 19, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants