import React, { useContext } from 'react'; export type ViewType = 'list' | 'detail' | 'edit' | 'create'; const ViewTypeContext = React.createContext('' as ViewType); ViewTypeContext.displayName = 'ViewTypeContext'; export const ViewTypeContextProvider: React.FC< React.PropsWithChildren<{ viewType: ViewType }> > = React.memo(({ children, viewType }) => { return ( {children} ); }); ViewTypeContextProvider.displayName = 'ViewTypeContextProvider'; /** * Get view type * @returns * "list" | "detail" | "edit" | "create" */ export function useViewTypeContext(): ViewType { return useContext(ViewTypeContext); }