import {Outlet} from 'react-router-dom';
import {AdminSidebar} from './admin-sidebar';
import {DashboardLayout} from '../ui/layout/dashboard-layout';
import {DashboardContent} from '../ui/layout/dashboard-content';
import {DashboardSidenav} from '../ui/layout/dashboard-sidenav';
import {DashboardNavbar} from '../ui/layout/dashboard-navbar';
import {
AdminSetupAlert,
useAdminSetupAlerts,
} from '@common/admin/use-admin-setup-alerts';
import {SectionHelper} from '@common/ui/section-helper';
import {ErrorIcon} from '@common/icons/material/Error';
import {
setInLocalStorage,
useLocalStorage,
} from '@common/utils/hooks/local-storage';
export function AdminLayout() {
return (
);
}
function SetupAlertsList() {
const {data} = useAdminSetupAlerts();
const [dismissValue] = useLocalStorage<{
timestamp: number;
} | null>('admin-setup-alert-dismissed', null);
// show alert if 1 day passed since last dismiss
const shouldShowAlert =
!dismissValue || Date.now() - dismissValue.timestamp > 86400000;
if (!data?.alerts.length || !shouldShowAlert) {
return null;
}
return (
);
}
interface SetupAlertProps {
alert: AdminSetupAlert;
}
function SetupAlert({alert}: SetupAlertProps) {
const description = (
);
return (
}
onClose={() => {
setInLocalStorage('admin-setup-alert-dismissed', {
timestamp: Date.now(),
});
}}
key={alert.title}
title={alert.title}
description={description}
color="neutral"
/>
);
}