feat: AppShell integration (auth, OTP, live multi-role team) #1

Merged
tanweer919 merged 2 commits from feat/appshell-integration into goutamnextflow 2026-07-10 23:16:45 +00:00
Owner

Fork-side merge of the AppShell integration (cross-repo PR to Goutam/lynkeduppro-crm#1 stays open for upstream).

Fork-side merge of the AppShell integration (cross-repo PR to Goutam/lynkeduppro-crm#1 stays open for upstream).
tanweer919 added 2 commits 2026-07-10 23:16:35 +00:00
Wire the AppShell SDK for auth/identity across the CRM, gated behind
isShellConfigured() so the existing mock portal + static demo user stay
the fallback until the Shell BFF is configured.

- providers.tsx: app-wide <AppShellProvider> (auth passed only when Supabase env set)
- next.config.ts: transpilePackages + /shell -> BFF rewrite (keeps /api/geo intact)
- login: password -> login(), social -> loginWithOAuth(), OAuth return -> completeOAuthLogin()
- register: email/password sign-ups call register() on finish
- dashboard: AuthGate bounces unauthenticated visitors; topbar shows ACE identity
- docs/APPSHELL_INTEGRATION.md, .env.local.example, .npmrc for GitHub Packages
- team-management: new useTeamData() data layer serves live be-crm data door
  (crm.team.member.search/role.list/invitation.list + set-roles/perm/invite
  commands) or the mock fallback, gated on isShellConfigured(). A member can
  hold MANY roles: role chips + multi-select picker in Edit/Invite modals.
- login OTP: OtpVerify wired to real Supabase email + SMS OTP (passwordless)
  via appshell sendEmailOtp/verifyEmailOtp + sendPhoneOtp/verifyPhoneOtp.
- bump @abe-kap/appshell-sdk ^0.2.0 (phone OTP).
tanweer919 merged commit c05aa0641c into goutamnextflow 2026-07-10 23:16:45 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tanweer919/lynkeduppro-crm#1