Rebuild onboarding and follow the system theme outside the account - #132
Merged
Merged
Conversation
Signed-out visitors now follow the operating system instead of a forced light theme, and never inherit the last account's saved choice. Signed-in people keep their choice on every route, onboarding included. Only the landing page stays light until it has a dark design. The auth pages use theme tokens instead of hard-coded greys, the landing mesh gains a dark variant, and the global error page follows the saved theme. Sign-up stops shouting, sign-in and sign-up keep focus on the submitted field and link errors to it, and the loading skeleton matches the stacked social buttons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Onboarding asks for a name, the year the student started, their degree and their study load, one question per step with a live summary of the plan. The rules year follows the start year, falling back to the closest published year, so continuing students no longer get a timeline that starts years early. The catalogue loader pages past the 1000-row limit and batches identifier lists. Profile types move into lib, the student-number rule is shared, toasts gain an error tone and match the visible theme, and removing a course revalidates the plan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The course drawer's result buttons read correctly in dark mode, failures use the error toast, requirement and key-date tabs use the shared line style, floors on a route say so in text, and the usage preview drops its own width cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Theme
/) stays light for now because it has no dark design yet and is being redesigned on another branch. Remove it fromLIGHT_ONLY_PATHSinlib/theme.tsonce that lands.themeandresolvedThemeignoredforcedTheme, so signed-out visitors got dark toasts on light pages.Onboarding
catalogueYear - (yearOfStudy - 1)started continuing students' timelines years early.max_rowslimit and sends ID lists in batches of 200.readAllRowsmoves tolib/supabase/read-all-rows.ts.Audit fixes
aria-pressed.notifygains anerrortone, and failures now use it.OutlinedTabsListis removed. Floors on a route say so in text, not only with a colour dot. The usage preview drops its own width limit.ProfileandAppStatemove intolib/coursemap/types.ts, solib/no longer imports fromapp/. The student-number check is shared. Removing a course now refreshes the plan page.Not in this PR (flagged by the audit, needing a decision):
@xyflow/reactdependency.Verification
pnpm verify: formatting, lint, types, 95 unit and component test files, the production build, 8 anonymous access Playwright tests andgit diff --check, all run locally in an isolated worktree.New tests:
commencement.test.ts,onboarding-form.test.tsxandonboarding-catalogue.test.ts, which covers pagination and batch size.theme.test.tsis rewritten for the new rules. A test that only matched onboarding source text was replaced with the behavioural loader test.Deployment notes
None.
🤖 Generated with Claude Code