seahaven-ap/src/providers/MockSessionProvider.tsx

20 lines
703 B
TypeScript
Raw Normal View History

import { useMemo, useState, type ReactNode } from "react";
import { getMockSessionUser, setMockSessionUserId, type MockUser } from "@/mocks";
import { MockSessionContext, type MockSessionContextValue } from "@/providers/mock-session-context";
export function MockSessionProvider({ children }: { children: ReactNode }) {
const [user, setUser] = useState<MockUser>(() => getMockSessionUser());
const value = useMemo<MockSessionContextValue>(
() => ({
user,
setCurrentUserId: (nextUserId: string) => {
setUser(setMockSessionUserId(nextUserId));
},
}),
[user],
);
return <MockSessionContext.Provider value={value}>{children}</MockSessionContext.Provider>;
}