Skip to content

Match setup page to the lobby theme - #399

Merged
jserv merged 1 commit into
sysprog21:mainfrom
explosion3975:codex/setup-page-147
Oct 22, 2026
Merged

jserv merged 1 commit into
sysprog21:mainfrom
explosion3975:codex/setup-page-147

Conversation

@explosion3975

@explosion3975 explosion3975 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The first-run setup page now uses the lobby's current violet palette, typography, spacing, card surface, and primary button styles. LiveKit credentials are grouped and marked required; the Google AI key is separate and marked optional. Existing validation and submission behavior remain intact.

Screenshots

Before: setup page

image

After: setup page

image

Current lobby

image

Closes #147


Summary by cubic

The first-run setup page now matches the lobby's violet palette, typography, spacing, card surface, and primary button styles. LiveKit credentials are grouped and marked Required; the Google AI key sits in a separate group marked Optional. Validation and submission behavior is unchanged, and the status region is now announced to screen readers via aria-live.

Adds browser tests covering the two credential groups, required/optional markers, light and dark theme colors against the lobby palette, no overflow at 320px, and submission retry after a server error. Updates the CLI test to expect the revised optional-key wording.

Closes #147.

Written for commit 1461507. Summary will update on new commits.

View guided diff

cubic-dev-ai[bot]

This comment was marked as resolved.

Comment thread src/web/setup.rs
#status { margin-top: 1rem; white-space: pre-wrap; }
#status.error { color: #b00020; }
#status.ok { color: #0a7a2f; }
:root {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These tokens are a hand copy of the lobby's .practice-page light block and dark override in web/styles.css (the @media not all and (prefers-color-scheme: dark) rule and the one after it). They match today, but nothing ties them together: the next palette change to the lobby leaves this page on the old violet with every test still green, because setup-page.test.js pins the same literals this block holds. Have the test read web/styles.css and compare each custom property here with the lobby's value, so drift fails the gate; naming --tint and --tint-edge as the lobby does (--practice-tint, --practice-tint-edge) turns that comparison into a direct lookup.

Comment thread src/web/setup.rs Outdated

@jserv jserv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The first-run form no longer matched the lobby, and its required
LiveKit fields were hard to distinguish from the optional Google AI key.
Align the layout and colors with the lobby while preserving credential
handling. Keep the two palettes in sync as the theme evolves and make
status updates available to screen readers. Align the CLI check with
the revised optional-key guidance.
@jserv
jserv requested review from ColtenOuO and alanhc October 22, 2026 07:47
@jserv
jserv merged commit 17a669a into sysprog21:main Oct 22, 2026
10 checks passed
@jserv

jserv commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Thank @explosion3975 for contributing!

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.

Make the setup page visually consistent with the main CodeTrial interface

2 participants