Skip to content

feat: custom brand theme - #10

Open
91jaeminjo wants to merge 5 commits into
mainfrom
feat/custom-brand-theme
Open

feat: custom brand theme#10
91jaeminjo wants to merge 5 commits into
mainfrom
feat/custom-brand-theme

Conversation

@91jaeminjo

Copy link
Copy Markdown
Collaborator

Summary

Brings the theming outcome of soliplex/frontend#75 to this app, expressed through the current BrandTheme API (PR #75's own ColorConfig/FontConfig architecture never merged).

  • New lib/theme.dart: themeTemplateBrand (BrandTheme) + GoogleFontResolver.
  • main.dart passes theme: + fontResolver: into standard().
  • Bundles Inter (asset); Oswald and Squada One load via google_fonts.

What's reproduced

  • Light/dark grey-purple palettes (primary #6B6D7B / #B8B9C6), all roles
  • Full 15-role type scale with PR #75's exact sizes/weights/heights/spacing
  • Per-role families: headline/title routed to Inter, display roles on Oswald
  • Squada One brand-name font; square borders

Not included

  • Runtime light/dark toggle + persistence — library UI (reactive shell + ThemeToggleButton in library screens), not closable from this consumer repo.

⚠️ Dependency caveat

pubspec.yaml tracks soliplex_frontend at the unmerged branch feat/brand-theme-api-gaps (commit b26556fa), which adds the typography/font API surface this theme needs (all 15 text roles, per-role BrandFontRole, brand font, BrandTint export). This PR should not merge before that branch lands; afterward, repin to the released tag.

Testing

  • test/theme_test.dart — palettes lower correctly (light/dark), square shape, full type scale, per-role families, brand font, bundled-font resolver path.
  • 13/13 tests pass, analyze 0 issues, app runs clean on macOS (no google_fonts load errors).

🤖 Generated with Claude Code

91jaeminjo and others added 5 commits June 25, 2026 01:01
Prepares custom brand theming: adds the google_fonts dependency for the
display font and bundles the Inter variable font as the body font asset.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds themeTemplateBrand (BrandTheme): light/dark grey-purple palettes,
Inter body / Oswald display typography with per-role scale overrides, and
square corners. GoogleFontResolver serves bundled families from assets and
delegates the rest to google_fonts. Covered by test/theme_test.dart.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Passes themeTemplateBrand and GoogleFontResolver into standard() so the app
runs with the white-label palette, Inter/Oswald fonts, and square corners.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Switches the soliplex_frontend git ref from the v0.91.0+64 tag to the
feat/brand-theme-api-gaps branch, which adds the typography/font API surface
(all 15 text roles, per-role family, brand font, BrandTint export) needed to
fully express the brand theme. Non-breaking: analyze clean and all tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Expands BrandTypography to all 15 Material text roles with PR #75's exact
metrics, routes the headline and title roles back to the body font (Inter)
via per-role BrandFontRole, and adds Squada One as the brand-name family.
Oswald now styles only the display roles.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@91jaeminjo 91jaeminjo changed the title feat: custom brand theme (PR #75 theming parity) feat: custom brand theme Jun 25, 2026
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.

1 participant