echos-ocr/src
Randall Stillwell f2c7d13a3e Unify invite landing with inline signup/login flow
Rewrite /invite/[token] so invited users can create an account and
join a workspace in a single page instead of bouncing to /signup.
The page branches on verify response + session state:

- New user: inline signup form (name + password, email locked), then
  auto signs in and redirects to the dashboard.
- Existing user, signed out: password-only login form that signs in
  and auto-calls /api/invitations/accept.
- Existing user, signed in with matching email: single Accept button.
- Existing user, signed in with mismatched email: amber notice plus
  one-click "Sign out and continue" that returns to the same invite
  URL logged out.

Also:
- Expired / already-accepted / not-found states now show the inviter's
  name and org context so users know who to contact for a new link.
- Extract the password + confirm-password + strength meter into a
  reusable <PasswordFields> component consumed by both the signup and
  invite pages so the UI stays in lockstep. The component supports
  hiding the confirm field and overriding autoComplete for login use.

Made-with: Cursor
2026-04-19 10:45:51 -05:00
..
app Unify invite landing with inline signup/login flow 2026-04-19 10:45:51 -05:00
components Unify invite landing with inline signup/login flow 2026-04-19 10:45:51 -05:00
lib Replace hardcoded echoocr.com fallbacks with resolved site URL 2026-04-19 10:12:44 -05:00
types Add multi-workspace support with org switcher and open registration 2026-04-16 18:08:08 -05:00
auth.ts Add feature pages, pricing page, and redirect unauthenticated users to landing page 2026-04-16 19:09:52 -05:00
instrumentation.ts Migrate to Vercel + Supabase + Upstash production stack 2026-04-15 23:51:44 -05:00
middleware.ts Fix migration test issues: upload button, forgot password, IMAP, FTP UI, surveys nav, integration tests 2026-04-17 12:17:11 -05:00