"use client"; import { createContext, useContext } from "react"; import type { AdminUser } from "@/lib/types"; /** * The signed-in account, for components below the admin layout. The layout * renders its children only once /me has answered, so inside the admin area * this is never null. */ const AdminSessionContext = createContext(null); export const AdminSessionProvider = AdminSessionContext.Provider; export const useAdminUser = (): AdminUser => { const user = useContext(AdminSessionContext); if (!user) { throw new Error("useAdminUser() used outside the admin layout"); } return user; };