Uh oh!
There was an error while loading. Please reload this page.
feat(juce): theme the activation UI from ActivationConfig - #25
Merged
Conversation
The docs promised a re-skinnable activation UI, but the palette lived on a private ActivationLookAndFeel inside ActivationComponent::Impl and the three font helpers were non-virtual with no typeface of their own, so the only reachable token was the accent colour (#23). Theming now travels on the config. ActivationConfig gains `palette` and `fonts`, read when the component builds its LookAndFeel, which is the only moment that works: the views cache palette-coloured icon Drawables in their constructors, so a theme handed over later would reach half the screen. ActivationPalette moves to a new ActivationTheme.h alongside ActivationFonts (a Typeface::Ptr per role, plus a makeFont hook for full control). Fifteen new tokens replace the 36 colours still hardcoded in ActivationComponent.cpp: the glow and spinner track, card and progress surfaces, scrollbars, seat pips, skeleton bars, the trial and danger ramps, the white on accent fills, and the panel shadow and overlay scrim. Every default is the exact byte value in use before, so the render is unchanged. ActivationDialog also frames its window in palette.backgroundBottom. Covered by four unit tests and eight new snapshots across three unlike themes; the 21 existing snapshots stay byte-identical.
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
Uh oh!
There was an error while loading. Please reload this page.
🎉 This PR is included in version 4.2.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The JUCE docs promised a re-skinnable activation UI, but the palette lived on a private
ActivationLookAndFeelinsideActivationComponent::Impland the font helpers were non-virtual with no typeface of their own, so the only reachable token was the accent colour (reported in #23). Theming now travels on the config:ActivationConfiggainspaletteandfonts, read when the component builds its LookAndFeel, which is the only moment that works because the views cache palette-coloured iconDrawables in their constructors.ActivationPalettemoves to a newActivationTheme.hnext toActivationFonts(aTypeface::Ptrper role plus amakeFonthook), 15 new tokens replace the 36 colours still hardcoded inActivationComponent.cpp, andActivationDialogframes its window inpalette.backgroundBottom.Every token default is the exact byte value in use before, so this is a pure refactor for anyone not theming: four new unit tests cover the palette and font precedence, eight new snapshots render three deliberately unlike themes (warm near-black with a monospaced face, light, deep green) across the screens that between them touch every token, and the 21 existing snapshots are byte-identical. The public-key half of #23 is not touched here: it is being fixed in the merchant app's Implementation guide, so the SDK accepts no new key format.