You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dashboard renders the correct branch view from real data, all six views are styled, and the RSVP form works end-to-end against mocks.
Tasks
Dashboard routing
/dashboard page server-fetches GET /api/v1/status, reads the branch field, renders the matching view component.
What this accomplishes: Each applicant sees exactly the view their state warrants, with no client-side flicker between branches.
Loading skeleton while status is being fetched (or use Next.js loading.tsx).
What this accomplishes: No jarring blank screen on initial load.
Branch views — content and styling
PreRegistrationView: countdown to registration open date, "Applications open in X days" hero, link to learn more about HackBeanpot.
What this accomplishes: Users who land before applications open get hyped instead of confused.
InProgressView: "You've started your application" message, "X% complete" indicator (can be a stub for now), big "Continue application" CTA → /application.
What this accomplishes: Returning users get an immediate path back to their draft.
SubmittedView: "We've received your application" confirmation, expected decision date, "Edit application" link if registration is still open.
What this accomplishes: Applicants know they're in the system and what comes next.
Goal
The dashboard renders the correct branch view from real data, all six views are styled, and the RSVP form works end-to-end against mocks.
Tasks
Dashboard routing
/dashboardpage server-fetchesGET /api/v1/status, reads thebranchfield, renders the matching view component.Branch views — content and styling
PreRegistrationView: countdown to registration open date, "Applications open in X days" hero, link to learn more about HackBeanpot.InProgressView: "You've started your application" message, "X% complete" indicator (can be a stub for now), big "Continue application" CTA →/application.SubmittedView: "We've received your application" confirmation, expected decision date, "Edit application" link if registration is still open.AdmittedView: celebratory hero, "You're in!" message, confirm-by deadline displayed, "RSVP now" CTA →/rsvp.WaitlistedView: "You're on the waitlist" message, explanation of what that means, contact info if they have questions.DeclinedView: respectful copy, "we hope to see you next year," link to mailing list signup.RSVP page
/rsvpserver-fetches status; if not admitted or pastconfirm-by, redirect to/dashboard.RsvpForm: post-acceptance question fields (dietary restrictions, t-shirt size, etc.) using RHF + Zod.ConfirmByCountdown: shows time remaining, updates every minute, disables submit when expired.POST /api/v1/post-acceptance, toast on success, redirect to/dashboard.Styling
Definition of done