Skip to content

Add FXIOS-16205 Add new Nova tokens to the existing ThemeColourPallete#34523

Open
rilury wants to merge 5 commits into
mainfrom
riordan/FXIOS-16205_Add-new-Nova-tokens-to-the-existing-ThemeColourPallete
Open

Add FXIOS-16205 Add new Nova tokens to the existing ThemeColourPallete#34523
rilury wants to merge 5 commits into
mainfrom
riordan/FXIOS-16205_Add-new-Nova-tokens-to-the-existing-ThemeColourPallete

Conversation

@rilury

@rilury rilury commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

📜 Tickets

Jira ticket
Github issue

💡 Description

This PR consolidates Nova and current themes into a single ThemeColourPalette (remove NovaThemeColourPalette) and wires Nova-only tokens: layerInverse/layerGlassTintNova/textToast (toast), iconPrivate (private badge), iconInverted (tab-tray Done checkmark). The current theme implementation is not impacted.

🎥 Demos

Before After
Demo

📝 Checklist

  • I filled in the ticket numbers and a description of my work
  • I updated the PR name to follow our PR naming guidelines
  • I ensured unit tests pass and wrote tests for new code
  • If working on UI, I checked and implemented accessibility (Dynamic Text and VoiceOver)
  • If adding telemetry, I read the data stewardship requirements and will request a data review
  • If adding or modifying strings, I read the guidelines and will request a string review from l10n
  • If needed, I updated documentation and added comments to complex code

@mobiletest-ci-bot

mobiletest-ci-bot commented Jul 6, 2026

Copy link
Copy Markdown
Messages
📖 Project coverage: 44.65%

🥇 Perfect PR size

Smaller PRs are easier to review. Thanks for making life easy for reviewers! ✨

💬 Description craftsman

Great PR description! Reviewers salute you 🫡

✅ Code coverage

  • No new files detected so the coverage gate wasn't run.
  • No modified files had significant enough changes for the coverage gate to run.

Client.app: Coverage: 43.51

File Coverage
Toast.swift 81.59%
TabTrayPanelSwipeTheme.swift 0.0% ⚠️
ButtonToast.swift 72.63%
TabTrayViewController.swift 51.55%
TabTrayPanelSwipePalette.swift 0.0% ⚠️

ToolbarKit: Coverage: 66.16

File Coverage
ToolbarButton.swift 62.18%

Generated by 🚫 Danger Swift against d3332ab

@rilury rilury added the ignore-code-coverage Use this label with a comment and tag the unit tests owners label Jul 6, 2026
@rilury rilury requested a review from thatswinnie July 6, 2026 14:29
@rilury rilury marked this pull request as ready for review July 6, 2026 14:29
@rilury rilury requested a review from a team as a code owner July 6, 2026 14:30

@thatswinnie thatswinnie left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't think we should make tokens optional - every theme should have a color value for every token available. Instead let's assign maybe a clear color to the ones not in use. And we should check which token to use based on the nova feature flag (which also makes it easier to clean the code up later).

@rilury

rilury commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

Hey, @thatswinnie I updated the code. All tokens are now non-optional: Nova themes hold the real values, the others assign .clear to the Nova only tokens. Call sites pick via theme.isNova, which reflects the .novaDesign flag since the theme manager only returns a Nova theme when it's on.
I used isNova rather than reading the flag directly because some call sites (BrowserKit components) only receive a Theme and have no access to FeatureFlaggable. Thank you!

@rilury rilury requested a review from thatswinnie July 7, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore-code-coverage Use this label with a comment and tag the unit tests owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants