mirror of
https://github.com/Sea-Haven-Industries/seahaven-ap.git
synced 2026-10-03 01:03:14 +00:00
20 lines
703 B
TypeScript
20 lines
703 B
TypeScript
|
|
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>;
|
||
|
|
}
|