diff --git a/client/contexts/AuthContext.tsx b/client/contexts/AuthContext.tsx index 14e5a6d8..32bd3b77 100644 --- a/client/contexts/AuthContext.tsx +++ b/client/contexts/AuthContext.tsx @@ -437,6 +437,19 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ if (user?.id) await fetchUserProfile(user.id); }; + const linkedProviders = useMemo(() => { + const supported: SupportedOAuthProvider[] = ["github", "google"]; + if (!user?.identities) return []; + return (user.identities as any[]) + .filter((identity) => supported.includes(identity.provider)) + .map((identity) => ({ + provider: identity.provider as SupportedOAuthProvider, + identityId: identity.identity_id, + linkedAt: identity.created_at, + lastSignInAt: identity.last_sign_in_at, + })); + }, [user]); + const computedComplete = checkProfileComplete(profile) || (typeof window !== "undefined" && @@ -449,9 +462,12 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ session, loading, profileComplete: computedComplete, + linkedProviders, signIn, signUp, signInWithOAuth, + linkProvider, + unlinkProvider, signOut, updateProfile, refreshProfile,