import type { LayoutType } from '@/@types/theme' import Loading from '@/components/shared/Loading' import { Alert, Button } from '@/components/ui' import { store, useStoreState } from '@/store' import { Suspense, useEffect } from 'react' import { ErrorBoundary } from 'react-error-boundary' import { FaArrowLeft } from 'react-icons/fa'; import { Navigate, useLocation } from 'react-router-dom' import DialogProvider from './shared/DialogContext' import DialogShowComponent from './shared/DialogContext/DialogShowComponent' import UiDialog from './shared/UiDialog' import { DynamicRouter } from '@/routes/dynamicRouter' import { getAccessDeniedPath } from '@/utils/routing' interface ViewsProps { pageContainerType?: 'default' | 'gutterless' | 'contained' layout?: LayoutType } function fallbackRender({ error, resetErrorBoundary }: { error: Error; resetErrorBoundary: any }) { return (
{error.name ?? 'Hata!'}
{error.message}
) } const Views = (props: ViewsProps) => { const { setWarning, removeError } = store.getActions().base.messages const { errors, warning } = useStoreState((state) => state.base.messages) const location = useLocation() useEffect(() => { setWarning('') }, [location, setWarning]) return ( }> {!!warning?.length && ( {warning.map((w, i) => (
{w}
))}
)} {errors?.some((e) => e.statusCode === '403' || e.statusCode === '401') && ( )} {errors?.map((e) => ( { removeError(e.id) }} onClose={() => { removeError(e.id) }} title={e.title} > {e.message}

{e.statusCode}

{e.cid}
))}
) } export default Views