gsxdsm
58f758842b
FN-6816: add shadcn custom color picker
...
Add a Shadcn Custom theme flow for editing and applying sanitized dashboard color tokens.
- Add a lazy-loaded Shadcn color picker modal with token defaults, reset controls, and validation tests.
- Persist sanitized custom color overrides through settings, pre-hydration theme bootstrapping, and Command Center/theme dropdown surfaces.
- Register the Shadcn Custom theme option in core types, schema, docs, theme CSS, and release notes.
Files changed:
.changeset/fn-6816-shadcn-custom-colors.md | 5 +
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 3 +-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 +
packages/dashboard/app/App.tsx | 7 +-
packages/dashboard/app/components/AppModals.tsx | 6 +
.../dashboard/app/components/SettingsModal.tsx | 12 ++
.../dashboard/app/components/ShadcnColorPicker.css | 101 ++++++++++++++
.../dashboard/app/components/ShadcnColorPicker.tsx | 95 +++++++++++++
.../dashboard/app/components/ThemeDropdown.tsx | 23 +++-
.../dashboard/app/components/ThemeSelector.css | 14 ++
.../dashboard/app/components/ThemeSelector.tsx | 19 ++-
.../__tests__/ShadcnColorPicker.test.tsx | 50 +++++++
.../components/__tests__/ThemeDropdown.test.tsx | 19 +++
.../components/__tests__/ThemeSelector.test.tsx | 64 +++++++++
.../__tests__/shadcnCustomColors.test.ts | 52 ++++++++
.../components/command-center/CommandCenter.tsx | 15 +++
.../command-center/CommandCenterControls.tsx | 8 +-
.../settings/sections/AppearanceSection.tsx | 8 +-
.../dashboard/app/components/shadcnCustomColors.ts | 80 +++++++++++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 108 +++++++++++++++
packages/dashboard/app/hooks/useTheme.ts | 91 ++++++++++++-
packages/dashboard/app/index.html | 19 ++-
packages/dashboard/app/public/theme-data.css | 148 ++++++++++++++++++++-
26 files changed, 938 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-6816
Fusion-Task-Lineage: f16baaa9-16f5-4526-8159-9a1ceff4f807
2026-06-21 16:13:54 -07:00
gsxdsm
b20a25c526
FN-6815: add Shadcn Gray Blue theme
...
Add a slate-neutral Shadcn Gray Blue dashboard theme variant.\n\n- Register shadcn-gray-blue across core theme validation, startup bootstrap, and selector options.\n- Add dark and light slate blue-gray design tokens, swatches, and shared shadcn styling coverage.\n- Extend theme tests, dashboard docs, and the published package changeset for the new variant.\n\nFiles changed:\n .changeset/shadcn-gray-blue-theme.md | 5 +\n docs/dashboard-guide.md | 2 +-\n packages/core/src/types.ts | 2 +\n .../dashboard/app/components/ThemeSelector.css | 15 +++\n .../components/WorkflowOptionalStepsDropdown.css | 3 +-\n packages/dashboard/app/components/themeOptions.ts | 2 +\n .../dashboard/app/hooks/__tests__/useTheme.test.ts | 12 ++\n packages/dashboard/app/index.html | 2 +-\n packages/dashboard/app/public/theme-data.css | 143 ++++++++++++++++++++-\n 9 files changed, 177 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6815
Fusion-Task-Lineage: 71cca9b3-12ab-4b91-93c5-e3d2498501ce
2026-06-21 13:25:41 -07:00
gsxdsm
12aae94447
FN-6813: add shadcn mono accent variants
...
Expand the shadcn theme family with mono accent variants and migrate the legacy mono id.
- Rename the legacy shadcn-mono theme path to shadcn-mono-red with compatibility migration.
- Add shadcn mono blue, green, purple, pink, orange, and yellow theme tokens and swatches.
- Keep Shadcn Gray registered alongside the expanded shadcn family after conflict resolution.
- Cover theme migration and option registration with hook tests and docs.
Files changed:
.changeset/shadcn-mono-color-family.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 14 +-
.../dashboard/app/components/ThemeSelector.css | 90 ++-
packages/dashboard/app/components/themeOptions.ts | 8 +-
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 35 +-
packages/dashboard/app/hooks/useTheme.ts | 10 +-
packages/dashboard/app/index.html | 4 +-
packages/dashboard/app/public/theme-data.css | 802 ++++++++++++++++++++-
9 files changed, 947 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6813
Fusion-Task-Lineage: c489300c-2131-4914-84f6-41b8e12929d3
2026-06-21 13:25:40 -07:00
gsxdsm
4672203acd
FN-6814: add Shadcn Gray theme variant
...
Adds a neutral Shadcn Gray dashboard color theme across selection, bootstrap, documentation, and release notes.
- Add Shadcn Gray to core theme validation and dashboard theme picker options.
- Define dark and light zinc-gray theme tokens plus matching swatch previews.
- Cover the new theme with regression tests and document the expanded theme count.
Files changed:
.changeset/shadcn-gray-variant.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 4 +-
.../app/__tests__/shadcn-gray-theme.test.ts | 65 ++++++++++
.../dashboard/app/components/ThemeSelector.css | 15 +++
packages/dashboard/app/components/themeOptions.ts | 2 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 143 ++++++++++++++++++++-
8 files changed, 228 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6814
Fusion-Task-Lineage: 0548ad7a-5a3c-4e39-8dab-3eb5d40d84c1
2026-06-21 03:40:56 -07:00
gsxdsm
da5fea6e11
FN-6756: add Shadcn color theme variants
...
Add the Shadcn color family to dashboard theme selection and persisted theme validation.
- Register blue, green, red, purple, pink, orange, yellow, mono, and black Shadcn theme IDs across core and dashboard selectors.
- Add swatches and CSS token blocks for light and dark variants, including bootstrap loading coverage.
- Document the expanded theme count and include a minor changeset for the published CLI package.
Files changed:
.changeset/shadcn-color-variants.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 10 +
.../dashboard/app/components/ThemeSelector.css | 126 +++
packages/dashboard/app/components/themeOptions.ts | 9 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 41 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 1177 ++++++++++++++++++++
8 files changed, 1370 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6756
Fusion-Task-Lineage: 143e717a-9718-419f-a6c5-34305e53c65d
2026-06-20 17:17:32 -07:00
gsxdsm
58a6dccfb2
FN-6758: set shadcn theme accent orange
...
Update the default shadcn dashboard theme to use orange highlight accents while keeping its neutral base.\n\n- Set dark and light shadcn accent tokens and accent text for orange highlights.\n- Update shadcn theme swatches and documentation to reflect the orange accent.\n- Adjust theme tests to assert the orange accent token and preserved glow neutralization.\n\nFiles changed:\n docs/dashboard-guide.md | 2 +-\n packages/dashboard/app/components/ThemeSelector.css | 4 ++--\n packages/dashboard/app/hooks/__tests__/useTheme.test.ts | 12 ++++++++----\n packages/dashboard/app/public/theme-data.css | 11 +++++++----\n 4 files changed, 18 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6758
Fusion-Task-Lineage: b4fe5a6d-416e-4cd1-be57-7e6da5a07f59
2026-06-20 01:43:20 -07:00
gsxdsm
fc0636fe90
FN-6748: add Air dashboard theme
...
Adds a minimal, borderless Air color theme across dashboard theme selection and bootstrap validation.
- Register Air in the core theme union, dashboard theme options, and browser/desktop bootstrap validators.
- Add dark and light Air token blocks with flattened chrome styling and matching swatch samples.
- Cover Air registration and CSS invariants with a focused dashboard test.
- Document the Air theme alongside the existing Shadcn theme in dashboard theming guidance.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 2 +
packages/dashboard/app/__tests__/air-theme.test.ts | 58 ++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 +++
packages/dashboard/app/components/themeOptions.ts | 1 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 101 +++++++++++++++++++++
packages/desktop/src/renderer/index.html | 1 +
8 files changed, 179 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6748
Fusion-Task-Lineage: a0caf14f-673d-485c-8886-97e4b273b624
2026-06-19 16:47:34 -07:00
gsxdsm
e19f7c2008
FN-6747: add shadcn dashboard theme
...
Add a shadcn-inspired dashboard theme across the theme picker, persisted startup validation, and public theme tokens.
- Register the Shadcn color theme in core and dashboard theme option lists.
- Add zinc-neutral dark and light CSS tokens with Geist typography, 1px borders, subtle shadows, and neutralized glow effects.
- Add theme swatches, documentation, startup allow-list support, regression coverage, and a published package changeset.
Files changed:
.changeset/shadcn-dashboard-theme.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 1 +
.../dashboard/app/components/ThemeSelector.css | 14 ++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 28 ++++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 166 +++++++++++++++++++++
8 files changed, 217 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6747
Fusion-Task-Lineage: cf0d6732-aa4f-457d-ae6c-e54fca0191b2
2026-06-19 16:47:34 -07:00
gsxdsm
26e5514a8e
FN-6724: add Factory Mono theme
...
Add a monochrome Factory theme with red accents and no glow effects.
- Register Factory Mono across theme validation, typing, selector UI, and startup hydration.
- Define dark and light Factory Mono CSS tokens, swatches, red CTA accents, uppercase controls, and glow-free active states.
- Cover Factory Mono token behavior with a theme hook regression test and document the expanded theme count.
- Add a minor changeset for the published Fusion package.
Files changed:
.changeset/factory-mono-theme.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 1 +
.../dashboard/app/components/ThemeSelector.css | 14 ++
.../dashboard/app/components/ThemeSelector.tsx | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 28 ++++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 177 +++++++++++++++++++++
8 files changed, 228 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6724
Fusion-Task-Lineage: 861fbcef-d1b1-4bfb-bd60-0196ce825771
2026-06-19 16:47:33 -07:00
gsxdsm
d37bebf8bf
feat(FN-5516): merge fusion/fn-5516
2026-05-22 17:24:38 -07:00
gsxdsm
ed4d021d3d
fix(dashboard): keep mobile nav visible on Android landscape and during keyboard
...
- Broaden mobile media query to include (max-height: 480px) so landscape
phones (which exceed 768 CSS px wide) still render the bottom nav and
mobile board layout instead of desktop horizontally-scrollable columns.
- Guard useMobileKeyboard against pinch-zoom (vv.scale > 1) — Android
Chrome ignores user-scalable=no, and a focused textarea + zoom was
false-positiving keyboard-open and hiding MobileNavBar.
- Read documentElement.clientHeight instead of stale window.innerHeight
when computing keyboard overlap (Android multi-window can leave
innerHeight cached at a wildly different value than the actual layout
viewport — observed 2848 while html was 797).
- Add interactive-widget=resizes-content to the viewport meta so Android
Chrome shrinks the layout viewport with the soft keyboard, matching iOS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 13:12:36 -07:00
Fusion
d8830a5235
feat(FN-4022): isolate ThemeSelector stylesheet and consolidate light theme
...
Consolidated light-theme token ownership from `CustomModelDropdown.css` into `ThemeSelector.css` and `styles.css`, completing the isolation of theme-related CSS across the dashboard. Added a corresponding test fixture for `CustomModelDropdown`.
Fusion-Task-Id: FN-4022
2026-05-11 13:44:14 -07:00