Files
how2ice 005cf56baf
Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
init project
2025-12-12 14:26:25 +09:00

66 lines
1.8 KiB
TypeScript

import CssBaseline from '@mui/material/CssBaseline';
import { createHashRouter, RouterProvider } from 'react-router';
import DashboardLayout from './components/DashboardLayout';
import EmployeeList from './components/EmployeeList';
import EmployeeShow from './components/EmployeeShow';
import EmployeeCreate from './components/EmployeeCreate';
import EmployeeEdit from './components/EmployeeEdit';
import NotificationsProvider from './hooks/useNotifications/NotificationsProvider';
import DialogsProvider from './hooks/useDialogs/DialogsProvider';
import AppTheme from '../shared-theme/AppTheme';
import {
dataGridCustomizations,
datePickersCustomizations,
sidebarCustomizations,
formInputCustomizations,
} from './theme/customizations';
const router = createHashRouter([
{
Component: DashboardLayout,
children: [
{
path: '/employees',
Component: EmployeeList,
},
{
path: '/employees/:employeeId',
Component: EmployeeShow,
},
{
path: '/employees/new',
Component: EmployeeCreate,
},
{
path: '/employees/:employeeId/edit',
Component: EmployeeEdit,
},
// Fallback route for the example routes in dashboard sidebar items
{
path: '*',
Component: EmployeeList,
},
],
},
]);
const themeComponents = {
...dataGridCustomizations,
...datePickersCustomizations,
...sidebarCustomizations,
...formInputCustomizations,
};
export default function CrudDashboard(props: { disableCustomTheme?: boolean }) {
return (
<AppTheme {...props} themeComponents={themeComponents}>
<CssBaseline enableColorScheme />
<NotificationsProvider>
<DialogsProvider>
<RouterProvider router={router} />
</DialogsProvider>
</NotificationsProvider>
</AppTheme>
);
}