Add dev mode (optional SSO + test accounts + tools) and the Freshman Guide page - #15
Merged
Conversation
Dev mode — password-gated testing tools (/dev): - Makes CMU SSO optional for testing: three local test personas (cold start, power user, organizer) whose 'dev-' ids are guarded at every data-layer write, so they can exercise the full app — tabs, calendar, RSVPs, create, recommendations — without ever touching Supabase - Panel tools: account switcher, seed 10 realistic events pinned to the current week (bundled mock data has fixed dates) with one-tap cleanup, reset local app state, theme/font/contrast/motion playground, test browser notification, navigation shortcuts, diagnostics readout - Gate note: the password ships in the client bundle by necessity — it is a convenience latch for testers, not security, and everything behind it is client-local by construction Freshman Guide (/resources): - Public one-stop link tree for new CMU students: accounts, academics, IT, dining, housing, health, safety, money, transit, clubs, and who-to-ask-when-stuck — ~50 curated links with plain-language descriptions and client-side search - Linked from the landing page top bar and footer Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ
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.
Dev mode (
/dev, password-gated)Makes CMU SSO optional for testing: three local test personas (cold-start freshman, power user with category interests, club organizer) can sign in without Google. Their
dev-prefixed ids are checked at every data-layer write — RSVPs, scheduling, event creation all stay in local state, so test accounts can exercise the entire app without ever touching Supabase.Panel tools behind the gate:
Honest caveat, also noted in code comments: the password ships in the client bundle by necessity, so the gate is a convenience latch for testers, not security. Everything behind it is client-local by construction, so there is nothing sensitive for it to protect.
The Freshman Guide (
/resources, public)A one-stop link tree of everything a new CMU student needs: accounts (Andrew, SIO, Canvas, Stellic, Duo), academics (SOC, HUB, tutoring, FCEs, cmucourses), IT (WiFi, printing, software, VPN), dining (incl. CMUEats), housing, health (UHS, CaPS, TimelyCare, pantry), safety (CMU Police, Safewalk, CMU Alert), money (SFS, Handshake, CPDC, emergency funding), transit (free PRT, shuttles, campus map), involvement (TartanConnect, SLICE, athletics, CSDI), and a "when you don't know who to ask" section (Dean of Students, advisors, The Word, OIE). ~50 curated links with plain-language descriptions and client-side search. Linked from the landing page top bar and footer.
Verified with a scripted end-to-end browser flow: unlock gate → seed events → sign in as persona → browse Home/Calendar/Find.
tsc0 errors, lint clean, 21/21 unit tests.🤖 Generated with Claude Code
https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ
Generated by Claude Code