import { createContext, useContext } from 'react'; import type { Action, AppState } from './types'; import { initialState } from './types'; export const AppStateContext = createContext(initialState); export const AppDispatchContext = createContext>(() => {}); export function useAppState(): AppState { return useContext(AppStateContext); } export function useAppDispatch(): React.Dispatch { return useContext(AppDispatchContext); } export function dispatchError(dispatch: React.Dispatch, err: unknown): void { dispatch({ type: 'SET_ERROR', error: err instanceof Error ? err.message : String(err) }); }