gsxdsm
ffbda3fb52
FN-8550: theme agent Settings controls
...
Apply token-driven styling and responsive behavior across Agent Settings controls.
- Theme configuration inputs, runtime tabs, avatar actions, policy editor, model combobox, and skill multiselect states
- Add coverage for Settings styling contracts, runtime/avatar semantics, and skill selection states
- Correct the model-filter clear control sizing with a valid themed font token
Files changed:
.../agent-detail-settings-theme-styling.test.ts | 103 ++++++++++++
.../dashboard/app/components/AgentDetailView.css | 113 +++++++++++++
.../dashboard/app/components/AgentDetailView.tsx | 8 +-
.../app/components/AgentPermissionPolicyEditor.css | 44 +++++-
.../app/components/CustomModelDropdown.css | 84 +++++-----
.../dashboard/app/components/SkillMultiselect.css | 174 ++++++++++++++-------
.../dashboard/app/components/SkillMultiselect.tsx | 4 +
.../AgentDetailView.advanced-settings.test.tsx | 36 +++++
.../components/__tests__/SkillMultiselect.test.tsx | 57 +++++++
9 files changed, 518 insertions(+), 105 deletions(-)
Fusion-Task-Id: FN-8550
Fusion-Task-Lineage: 5a55ded8-2cd7-4364-855a-3763d5d8af95
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-23 13:38:41 -07:00
gsxdsm
87e87a8f1a
FN-6693: enforce dashboard CSS token references
...
Extend the dashboard CSS token guard and replace stale custom-property references with defined design tokens.
- Add a dashboard-wide CSS token validity test that scans component/app CSS for undefined custom-property references.
- Include dashboard CSS tests in the dashboard Vitest config and document the guard in testing guidance.
- Remap undefined CSS variables across dashboard components and command-center styles to existing semantic or local tokens.
Files changed:
docs/testing.md | 3 +
.../dashboard-css-token-validity.css.test.ts | 165 +++++++++++++++++++++
.../dashboard/app/components/ActiveAgentsPanel.css | 10 +-
.../dashboard/app/components/AgentLogViewer.css | 2 +-
.../app/components/AgentReflectionsTab.css | 10 +-
packages/dashboard/app/components/AgentsView.css | 6 +-
.../dashboard/app/components/BranchGroupCard.css | 6 +-
packages/dashboard/app/components/ChatView.css | 12 +-
.../app/components/CliBinaryInstallBanner.css | 2 +-
.../dashboard/app/components/CliBinaryPanel.css | 2 +-
.../app/components/ConversationHistory.css | 12 +-
.../dashboard/app/components/DashboardLoader.css | 2 +-
.../dashboard/app/components/DesktopLaunchGate.css | 4 +-
.../dashboard/app/components/DirectoryPicker.css | 2 +-
.../dashboard/app/components/FileMentionPopup.css | 4 +-
.../dashboard/app/components/GitHubImportModal.css | 10 +-
packages/dashboard/app/components/GoalsView.css | 2 +-
.../dashboard/app/components/GroupTaskModal.css | 18 +--
packages/dashboard/app/components/InsightsView.css | 10 +-
packages/dashboard/app/components/Lane.css | 8 +-
.../dashboard/app/components/LanguageSelector.css | 8 +-
packages/dashboard/app/components/MailboxModal.css | 62 ++++----
.../app/components/MergeAdvanceNotice.css | 2 +-
.../dashboard/app/components/MissionManager.css | 10 +-
.../app/components/MobileWorkflowGraphView.css | 2 +-
.../app/components/ModelOnboardingModal.css | 12 +-
.../app/components/OnboardingDisclosure.css | 4 +-
.../dashboard/app/components/PlanningModeModal.css | 2 +-
.../dashboard/app/components/PluginManager.css | 58 ++++----
.../components/PostOnboardingRecommendations.css | 4 +-
.../dashboard/app/components/PullRequestView.css | 32 ++--
packages/dashboard/app/components/QuickChatFAB.css | 4 +-
.../dashboard/app/components/QuickEntryBox.css | 6 +-
.../dashboard/app/components/ReliabilityView.css | 6 +-
packages/dashboard/app/components/ScriptsModal.css | 34 ++---
.../dashboard/app/components/SessionTerminal.css | 28 ++--
.../dashboard/app/components/SettingsModal.css | 6 +-
.../dashboard/app/components/SkillMultiselect.css | 2 +-
packages/dashboard/app/components/TaskCard.css | 24 +--
.../dashboard/app/components/TaskDocumentsTab.css | 8 +-
.../dashboard/app/components/TaskFieldsSection.css | 20 +--
.../dashboard/app/components/TerminalModal.css | 22 +--
.../app/components/WorkflowFieldsPanel.css | 6 +-
.../app/components/WorkflowNodeEditor.css | 30 ++--
.../dashboard/app/components/WorkspaceSelector.css | 2 +-
.../components/command-center/CommandCenter.css | 106 ++++++-------
.../components/command-center/DateRangePicker.css | 18 +--
.../command-center/MissionControlPanel.css | 14 +-
.../app/components/command-center/SdlcFunnel.css | 2 +-
.../command-center/areas/SystemStatsArea.css | 24 +--
.../app/components/command-center/areas/areas.css | 62 ++++----
.../components/command-center/charts/charts.css | 104 ++++++-------
packages/dashboard/vitest.config.ts | 1 +
53 files changed, 592 insertions(+), 423 deletions(-)
Fusion-Task-Id: FN-6693
Fusion-Task-Lineage: e9ccf3e6-fee9-47e0-9474-7b5580adbf31
2026-06-19 04:27:01 -07:00
gsxdsm
282b06949e
FN-6688: replace dashboard primary text alias
...
Replace undefined dashboard primary text aliases with the canonical theme-aware text token.
- Swap non-Command-Center CSS references from `--text-primary` to `--text` across dashboard components.
- Extend text token canonicalization tests to block future `--text-primary` usage and root alias definitions.
- Document the dashboard CSS token rule and add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-6688-text-primary-cleanup.md | 5 +++++
docs/dashboard-guide.md | 2 ++
.../__tests__/text-token-canonicalization.test.ts | 18 ++++++++++++++++--
.../dashboard/app/components/ActiveAgentsPanel.css | 4 ++--
.../dashboard/app/components/CliBinaryPanel.css | 2 +-
.../app/components/ConversationHistory.css | 6 +++---
.../dashboard/app/components/DesktopLaunchGate.css | 2 +-
packages/dashboard/app/components/ErrorBoundary.css | 2 +-
.../dashboard/app/components/LanguageSelector.css | 2 +-
packages/dashboard/app/components/MobileNavBar.css | 4 ++--
packages/dashboard/app/components/QuickEntryBox.css | 6 +++---
packages/dashboard/app/components/ScriptsModal.css | 21 +++++++++++++--------
.../dashboard/app/components/SkillMultiselect.css | 2 +-
.../dashboard/app/components/TaskFieldsSection.css | 4 ++--
.../app/components/WorkflowFieldsPanel.css | 2 +-
packages/dashboard/app/styles.css | 2 +-
16 files changed, 55 insertions(+), 29 deletions(-)
Fusion-Task-Id: FN-6688
Fusion-Task-Lineage: 96e47af2-8bf5-4326-be24-2816530fd646
2026-06-19 01:33:13 -07:00
Fusion
b087dc233f
fix(FN-4286): replace text-secondary usages with canonical tokens
...
Fusion-Task-Id: FN-4286
Fusion-Task-Lineage: 1dd74ee2-7fb2-4b41-b923-a9f339521b50
2026-05-13 10:00:00 -07:00
gsxdsm
c3d1716fdd
refactor(dashboard): split monolithic styles.css into per-component files
...
Split app/styles.css from ~40k lines down to ~4.5k. Created 56 co-located
component CSS files in app/components/, each imported by its owning .tsx.
The remainder of styles.css holds genuinely global rules (design tokens,
.btn/.card/.modal/.form-input primitives, cross-component @media overrides).
- Lazy-load 13 heavy views (AgentsView, RoadmapsView, NodesView, etc.) via
React.lazy + Suspense; prefetch all chunks on idle so first navigation is
instant. Initial JS bundle: 1.58 MB → 1.16 MB (-26%). Initial CSS bundle:
635 kB → 471 kB (-26%); the rest splits into 13 per-view chunks.
- Add app/test/cssFixture.ts exposing loadAllAppCss() + loadAllAppCssBaseOnly()
so CSS regression tests load the full per-component bundle (mirroring Vite
source order). Migrate 30+ tests off direct readFileSync('../styles.css').
- Enable test.css: { include: [/.+/] } in vitest.config.ts so component CSS
imports actually inject styles in jsdom (fixes getComputedStyle assertions).
- Add ESLint rule (no-restricted-syntax) banning direct styles.css reads in
dashboard test files; points at loadAllAppCss() instead.
- Restore lost utility classes (.text-muted, .text-secondary, .text-dim,
.form-input) and rescue dropped chat tool-call rules into QuickChatFAB.css.
- Mobile fixes along the way: scroll containment for view containers
(min-height:0 + -webkit-overflow-scrolling), QuickChatFAB full-screen on
mobile (with safe-area-inset for iOS home bar), AgentsView single-row
header layout, ActivityLogModal close button on right, model-combobox
z-index above the mobile quick-chat panel.
- Bug fix: SkillsView toggle was display:none which hid the input from the
accessibility tree; replaced with the visually-hidden pattern so screen
readers + getByRole still find the checkbox.
- Bug fix: standalone Delete button in TaskDetailModal for triage-column
tasks (Actions dropdown is hidden in triage state, so previously no way
to delete a freshly-created task without status change first).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 19:39:20 -07:00