Organize/components/profile
Brian Fertig a849293bd0 Add account linking and per-account theme persistence
- Profile page gains a Request Account Link form, plus sections for pending requests (create / deny / deny-and-block), confirmed linked accounts (toggle / remove), and blocked requesters (allow requests)
- Toggle signs the browser in as the linked account using a single-use 60-second switch token minted server-side after link verification, so the target's password is never needed; a new "account-switch" Credentials provider in auth.ts consumes the token atomically to prevent replay
- Theme preference now stored on the User profile row (new `theme` column) and applied from the root layout's no-FOUC script before first paint, so each account keeps its own look across toggles and devices; anonymous visitors keep the old localStorage behavior
- New Prisma models: AccountLinkRequest, AccountLink, AccountLinkBlock, AccountSwitchToken with composite uniques, self-link check constraint, and cascade deletes
2026-08-30 13:28:55 -06:00
..
account-avatar.tsx Add account linking and per-account theme persistence 2026-08-30 13:28:55 -06:00
blocked-link-requests.tsx Add account linking and per-account theme persistence 2026-08-30 13:28:55 -06:00
linked-accounts.tsx Add account linking and per-account theme persistence 2026-08-30 13:28:55 -06:00
pending-link-requests.tsx Add account linking and per-account theme persistence 2026-08-30 13:28:55 -06:00
profile-form.tsx
request-link-form.tsx Add account linking and per-account theme persistence 2026-08-30 13:28:55 -06:00