prototype 1.0
This commit is contained in:
66
src/App.tsx
66
src/App.tsx
@@ -1,40 +1,30 @@
|
||||
import React from 'react';
|
||||
import { Admin, Resource, Layout } from 'react-admin';
|
||||
import { authProvider } from './authProvider';
|
||||
import { dataProvider } from './dataProvider';
|
||||
import { MyLayout } from './layout/MyLayout';
|
||||
import Dashboard from './resources/dashboard/Dashboard';
|
||||
import { UserList, UserEdit } from './resources/users';
|
||||
import { ReportList, ReportEdit } from './resources/reports';
|
||||
import { TicketList, TicketEdit } from './resources/tickets';
|
||||
import { AdminList, AdminEdit } from './resources/admins';
|
||||
import { BannedWordList, BannedWordEdit } from './resources/banned-words';
|
||||
import { SubscriptionList, SubscriptionEdit } from './resources/subscriptions';
|
||||
import { ReviewList, ReviewEdit } from './resources/reviews';
|
||||
import { AuditList } from './resources/audit';
|
||||
import { BrowserRouter as Router } from 'react-router-dom'
|
||||
import { ThemeProvider } from '@/components/theme-provider'
|
||||
import { SidebarConfigProvider } from '@/contexts/sidebar-context'
|
||||
import { AppRouter } from '@/components/router/app-router'
|
||||
import { useEffect } from 'react'
|
||||
import { initGTM } from '@/utils/analytics'
|
||||
|
||||
const App = () => (
|
||||
<Admin
|
||||
dashboard={Dashboard}
|
||||
authProvider={authProvider}
|
||||
dataProvider={dataProvider}
|
||||
requireAuth
|
||||
>
|
||||
{(permissions) => [
|
||||
// Доступно всем администраторам
|
||||
<Resource name="users" list={UserList} edit={UserEdit} />,
|
||||
<Resource name="reports" list={ReportList} edit={ReportEdit} />,
|
||||
<Resource name="tickets" list={TicketList} edit={TicketEdit} />,
|
||||
<Resource name="banned-words" list={BannedWordList} edit={BannedWordEdit} />,
|
||||
<Resource name="subscriptions" list={SubscriptionList} edit={SubscriptionEdit} />,
|
||||
<Resource name="reviews" list={ReviewList} edit={ReviewEdit} />,
|
||||
<Resource name="audit" list={AuditList} />,
|
||||
// Только superadmin
|
||||
permissions === 'superadmin' ? (
|
||||
<Resource name="admins" list={AdminList} edit={AdminEdit} />
|
||||
) : null,
|
||||
]}
|
||||
</Admin>
|
||||
);
|
||||
// Get basename from environment (for deployment) or use empty string for development
|
||||
const basename = import.meta.env.VITE_BASENAME || ''
|
||||
|
||||
export default App;
|
||||
function App() {
|
||||
// Initialize GTM on app load
|
||||
useEffect(() => {
|
||||
initGTM();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="font-sans antialiased" style={{ fontFamily: 'var(--font-inter)' }}>
|
||||
<ThemeProvider defaultTheme="system" storageKey="vite-ui-theme">
|
||||
<SidebarConfigProvider>
|
||||
<Router basename={basename}>
|
||||
<AppRouter />
|
||||
</Router>
|
||||
</SidebarConfigProvider>
|
||||
</ThemeProvider>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default App
|
||||
|
||||
Reference in New Issue
Block a user