diff --git a/packages/react-auth/src/auth-context.tsx b/packages/react-auth/src/auth-context.tsx index 51ab5ac9..a3c7dc6e 100644 --- a/packages/react-auth/src/auth-context.tsx +++ b/packages/react-auth/src/auth-context.tsx @@ -274,6 +274,17 @@ export function createAuthProvider(config: Au [api] ); + // ── Update user (local state + localStorage) ── + + const updateUser = useCallback((updates: Partial) => { + setUser(prev => { + if (!prev) return null; + const updated = { ...prev, ...updates }; + localStorage.setItem(USER_KEY, JSON.stringify(updated)); + return updated; + }); + }, []); + // ── Delete account ───────────────────────────── const deleteAccount = useCallback( @@ -319,6 +330,7 @@ export function createAuthProvider(config: Au forgotPassword, changePassword, deleteAccount, + updateUser, clearMessages, }} > diff --git a/packages/react-auth/src/types.ts b/packages/react-auth/src/types.ts index f1e26744..f7287f60 100644 --- a/packages/react-auth/src/types.ts +++ b/packages/react-auth/src/types.ts @@ -17,6 +17,7 @@ export interface AuthContextValue { forgotPassword: (email: string) => Promise; changePassword: (currentPassword: string, newPassword: string) => Promise; deleteAccount: (password: string) => Promise; + updateUser: (updates: Partial) => void; clearMessages: () => void; }