'use client'; import { createContext, useContext, useState } from 'react'; import { UserAccessMode } from '@/models/miscellaneous'; interface IAccessModeContext { mode: UserAccessMode setMode: React.Dispatch> } const AccessContext = createContext(null); export const useAccessMode = () => { const context = useContext(AccessContext); if (!context) { throw new Error( 'useAccessMode has to be used within ' ); } return context; } interface AccessModeStateProps { children: React.ReactNode } export const AccessModeState = ({ children }: AccessModeStateProps) => { const [mode, setMode] = useState(UserAccessMode.READER); return ( {children} ); };