Skip to content

Add distinct interface profiles and scoped palette recommendations - #1729

Merged
luokerenx4 merged 6 commits into
TraderAlice:devfrom
ZenAlexa:contrib/interface-profiles
Oct 6, 2026
Merged

luokerenx4 merged 6 commits into
TraderAlice:devfrom
ZenAlexa:contrib/interface-profiles

Conversation

@ZenAlexa

@ZenAlexa ZenAlexa commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Why

Interface style needs a visible geometry and material identity. Broker Classic needs terminal-like structure, and the appearance picker needs to show the effective Day and Night colors accurately.

This is the theme boundary extracted from #1704. The base is dev at 4813c1b89.

What changed

Profile definitions

Profile Geometry and surface Recommended Day palette Recommended Night palette
Default Existing product geometry and saved palette pair Saved choice Saved choice
Broker Classic Tight corners, ruled tables, header bands, tabular figures, short feedback timing Porcelain Midnight
Studio Soft panel corners, restrained elevation, quiet borders Paper Graphite
Outline Crisp outlines, flatter surfaces, outlined navigation selection Porcelain Iris
Windows 98 Square controls, bevels, Tahoma stack, immediate state changes Windows Classic Windows Classic
  • Centralized each profile's font, radius, surface, border, selection, and motion values in the existing theme owner.
  • Changed Tailwind font and radius utilities to consume runtime CSS variables. Profile switching now reaches the actual controls and panels.
  • Kept saved palettes separate from optional profile recommendations. Selecting a different profile starts from the saved palette choice. Applying recommendations uses that profile's Day and Night pair.
  • Shared effective-palette resolution across the document theme and JavaScript consumers such as charts and terminals.
  • Added native radio semantics to the profile gallery, including full-card hit targets and keyboard arrow selection.
  • Updated effective palette previews, Active labels, persistence, and pre-render theme resolution for the five profiles.
  • Removed the older duplicate profile overrides and consolidated surface ownership.

Review boundary

This PR preserves the base branch's navigation dimensions and content layout. The companion compact-workspace PR owns density, shared menus, settings consolidation, and trading layout. Theme hooks on existing buttons, configuration sections, and metric values are limited to selectors used by these profiles.

Material refinement

Commit 9111db181 extends each profile across actual navigation, headers, menus, dialogs, configuration sections, and data cards. Account summaries, chart surfaces, loading placeholders, and account strips share the existing surface hook. Each component retains its layout and padding.

  • Broker Classic uses neutral header bands, rectangular navigation selection, 2–4px primary corners, ruled numerical tables, and a short hard popup shadow.
  • Studio uses layered navigation, 14px data-card corners, 16px menu corners, 20px confirmation-dialog corners, and soft elevation.
  • Outline uses flat data surfaces, a crisp neutral outline, 6px popup corners, and an outlined active tab with its paired foreground color.
  • Popup borders have one owner. Keyboard focus retains the shared focus treatment. Each gallery preview resolves its own material tokens.
  • Saved palettes keep their values through profile selection. Blue, green, red, and amber status roles retain their existing semantic purpose.

Confirmation dialog material

Commit c6722f7a2 includes alert-dialog-content in the existing profile popup selector. Confirmation dialogs now inherit the profile border, background, and shadow. Confirmation, cancellation, busy state, focus refs, and layout remain with the existing dialog owner. The change is limited to two additions and one deletion in the profile stylesheet.

Palette contrast and quote-feedback fixes

Commit 6f6670fd0 pairs the neutral selected-navigation background with its foreground color. The saved Windows Classic palette now keeps selected labels readable in Outline, Studio, and Broker Classic. The profile selection and saved palette values retain their existing ownership.

Earlier Outline selection with Windows Classic Current paired navigation foreground
Earlier selected navigation foreground Current selected navigation foreground

Moved Broker Classic table striping into the components cascade layer. The real MarkPrices consumer now displays its semantic rise and fall background on both odd and even rows. After each 500ms feedback interval, the ordinary stripe returns. Hover and business-state utilities retain their higher cascade priority.

Checked price increases and decreases with deterministic data in the existing MarkPrices component. Both rows resolved to the same success color during increases and the same destructive color during decreases. The patch changes one existing stylesheet, with five additions and two deletions.

Related PRs and integration

Each branch targets dev and includes upstream 4813c1b89. Each branch builds independently. Shared consumers overlap. Suggested merge order: #1730, #1728, #1729. Integrate each subsequent branch with the merged changes and preserve each component's presentation owner.

Composed integration reference eff62db08 contains all three updated PR heads and the shared-file resolutions. The boundary-fix captures above use its matching production-demo source tree. The existing galleries below were captured on 2026-10-02 from integration 5eae22a85, using supplied demo data. Desktop captures use 1280 × 720; narrow captures use 390 × 844. Each caption identifies the view and state.

Refreshed screenshots

Current account surfaces

Broker Classic Studio Outline
Current Broker Classic account Current Studio account Current Outline account

Confirmation dialog consistency

Earlier default material in Outline Current Outline border and flat material
Earlier default material in Outline Current Outline border and flat material
Current Broker Classic confirmation Current Studio confirmation
Current Broker Classic confirmation Current Studio confirmation

Current profile gallery

Current profile geometry and palette recommendations

Verification

The current update was checked on 2026-10-02 against upstream dev at 4813c1b89.

  • Full UI suite passed on this branch and the composed tree: 351 files and 2,022 existing behavior cases per run.
  • TypeScript and this branch's standard production build passed. The final composed production-demo build passed.
  • Production browser checks confirmed Outline confirmation dialogs with one 1px border, 6px corners, and no shadow; Broker Classic with 4px corners and its short hard shadow; Studio with 20px corners and layered soft elevation.
  • Account cards and chart panels retained matching 411px heights across Broker Classic, Studio, and Outline. Changing the chart period retained that geometry.
  • Existing profile checks cover keyboard selection, Day and Night recommendations, saved palette restoration, persistence, effective chart colors, and CSS variable ownership.
  • Confirmation cancellation and Escape returned keyboard focus to the original session action. Reduced-motion preferences retained the same focus behavior.
  • git diff --check passed.

The two branch suites initially ran concurrently and each reached the default 5-second timeout in the existing older-record Office scenario. Sequential runs use the same command and unchanged timeout: NODE_ENV=test node scripts/run-tests.mjs --path ui/src. Their final results are recorded above.

Switch profiles, open menus and confirmation dialogs, use keyboard navigation, and repeat with reduced motion enabled. Screenshots show each resting material. Motion timing and state continuity need the running build for review.

GitHub clean-build passed on this update. Vercel preview deployment requires authorization from the repository’s Vercel team.

@vercel

vercel Bot commented Oct 1, 2026

Copy link
Copy Markdown

@ZenAlexa is attempting to deploy a commit to the luokerenx4's Team Team on Vercel.

A member of the Team first needs to authorize it.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openalice-demo Ready Ready Preview Oct 6, 2026 2:12pm UTC

Request Review

@luokerenx4
luokerenx4 merged commit 53baaa3 into TraderAlice:dev Oct 6, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — 6f6670fd Deployed Oct 6, 2026 by vercel[bot]
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.

3 participants