enable 2fa flow

This commit is contained in:
Milo Schwartz
2024-12-23 23:59:15 -05:00
parent b1afba191e
commit 9e50a580a5
33 changed files with 605 additions and 2084 deletions

View File

@@ -1,16 +1,37 @@
"use client";
import { UserContext } from "@app/contexts/userContext";
import UserContext from "@app/contexts/userContext";
import { GetUserResponse } from "@server/routers/user";
import { ReactNode } from "react";
import { useState } from "react";
type UserProviderProps = {
interface UserProviderProps {
children: React.ReactNode;
user: GetUserResponse;
children: ReactNode;
};
}
export function UserProvider({ user, children }: UserProviderProps) {
return <UserContext.Provider value={user}>{children}</UserContext.Provider>;
export function UserProvider({ children, user: u }: UserProviderProps) {
const [user, setUser] = useState<GetUserResponse>(u);
const updateUser = (updatedUser: Partial<GetUserResponse>) => {
if (!user) {
throw new Error("No user to update");
}
setUser((prev) => {
if (!prev) {
return prev;
}
return {
...prev,
...updatedUser
};
});
};
return (
<UserContext.Provider value={{ user: user, updateUser: updateUser }}>
{children}
</UserContext.Provider>
);
}
export default UserProvider;