seahaven-ap/src/providers/MockSessionProvider.tsx
Adam Moussa 5c82936e50
feat(frontend): add invoice detail 3-pane shell (AP-6) (#9)
Prove invoice coding and collaboration layout on mocks with a fixture PDF viewer, editable header/lines, Comments/Activity feeds, and role-aware action stubs via mock session switching.
2026-08-10 22:22:22 +00:00

19 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>;
}