-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
/
Copy pathindex.tsx
93 lines (89 loc) · 3.18 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* eslint react/jsx-key: off */
import * as React from 'react';
import {
addOfflineSupportToQueryClient,
Admin,
Resource,
CustomRoutes,
} from 'react-admin';
import { createRoot } from 'react-dom/client';
import { Route } from 'react-router-dom';
import { PersistQueryClientProvider } from '@tanstack/react-query-persist-client';
import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister';
import authProvider from './authProvider';
import comments from './comments';
import CustomRouteLayout from './customRouteLayout';
import CustomRouteNoLayout from './customRouteNoLayout';
import dataProvider from './dataProvider';
import i18nProvider from './i18nProvider';
import Layout from './Layout';
import posts from './posts';
import users from './users';
import tags from './tags';
import { queryClient } from './queryClient';
const localStoragePersister = createSyncStoragePersister({
storage: window.localStorage,
});
addOfflineSupportToQueryClient({
queryClient,
dataProvider,
resources: ['posts', 'comments', 'tags', 'users'],
});
const container = document.getElementById('root') as HTMLElement;
const root = createRoot(container);
root.render(
<React.StrictMode>
<PersistQueryClientProvider
client={queryClient}
persistOptions={{ persister: localStoragePersister }}
onSuccess={() => {
// resume mutations after initial restore from localStorage is successful
queryClient.resumePausedMutations();
}}
>
<Admin
authProvider={authProvider}
dataProvider={dataProvider}
i18nProvider={i18nProvider}
queryClient={queryClient}
title="Example Admin"
layout={Layout}
>
<Resource name="posts" {...posts} />
<Resource name="comments" {...comments} />
<Resource name="tags" {...tags} />
<Resource name="users" {...users} />
<CustomRoutes noLayout>
<Route
path="/custom"
element={
<CustomRouteNoLayout title="Posts from /custom" />
}
/>
<Route
path="/custom1"
element={
<CustomRouteNoLayout title="Posts from /custom1" />
}
/>
</CustomRoutes>
<CustomRoutes>
<Route
path="/custom2"
element={
<CustomRouteLayout title="Posts from /custom2" />
}
/>
</CustomRoutes>
<CustomRoutes>
<Route
path="/custom3"
element={
<CustomRouteLayout title="Posts from /custom3" />
}
/>
</CustomRoutes>
</Admin>
</PersistQueryClientProvider>
</React.StrictMode>
);