1+ import './styles/global.css' ;
2+ import './styles/theme.css' ;
3+
14import { MantineProvider } from '@mantine/core' ;
25import { ModalsProvider } from '@mantine/modals' ;
36import { NotificationsProvider } from '@mantine/notifications' ;
@@ -21,6 +24,7 @@ import {PublishDocModal} from './components/PublishDocModal/PublishDocModal.js';
2124import { ScheduleReleaseModal } from './components/ScheduleReleaseModal/ScheduleReleaseModal.js' ;
2225import { VersionHistoryModal } from './components/VersionHistoryModal/VersionHistoryModal.js' ;
2326import { FirebaseContext , FirebaseContextObject } from './hooks/useFirebase.js' ;
27+ import { VirtualClipboardProvider } from './hooks/useVirtualClipboard.js' ;
2428import { AIPage } from './pages/AIPage/AIPage.js' ;
2529import { AssetsPage } from './pages/AssetsPage/AssetsPage.js' ;
2630import { CollectionPage } from './pages/CollectionPage/CollectionPage.js' ;
@@ -43,8 +47,6 @@ import {SidebarToolsPage} from './pages/SidebarToolsPage/SidebarToolsPage.js';
4347import { TranslationsArbPage } from './pages/TranslationsArbPage/TranslationsArbPage.js' ;
4448import { TranslationsEditPage } from './pages/TranslationsEditPage/TranslationsEditPage.js' ;
4549import { TranslationsPage } from './pages/TranslationsPage/TranslationsPage.js' ;
46- import './styles/global.css' ;
47- import './styles/theme.css' ;
4850
4951type CollectionMeta = Omit < Collection , 'fields' > ;
5052
@@ -96,65 +98,67 @@ function App() {
9698 >
9799 < NotificationsProvider >
98100 < FirebaseContext . Provider value = { window . firebase } >
99- < ModalsProvider
100- modals = { {
101- [ CopyDocModal . id ] : CopyDocModal ,
102- [ DocPickerModal . id ] : DocPickerModal ,
103- [ DocSelectModal . id ] : DocSelectModal ,
104- [ DataSourceSelectModal . id ] : DataSourceSelectModal ,
105- [ EditJsonModal . id ] : EditJsonModal ,
106- [ EditTranslationsModal . id ] : EditTranslationsModal ,
107- [ ExportSheetModal . id ] : ExportSheetModal ,
108- [ LocalizationModal . id ] : LocalizationModal ,
109- [ LockPublishingModal . id ] : LockPublishingModal ,
110- [ PublishDocModal . id ] : PublishDocModal ,
111- [ ScheduleReleaseModal . id ] : ScheduleReleaseModal ,
112- [ VersionHistoryModal . id ] : VersionHistoryModal ,
113- } }
114- >
115- < Router >
116- < Route path = "/cms" component = { ProjectPage } />
117- < Route path = "/cms/ai" component = { AIPage } />
118- < Route path = "/cms/assets" component = { AssetsPage } />
119- < Route path = "/cms/compare" component = { ComparePage } />
120- < Route
121- path = "/cms/content/:collection?"
122- component = { CollectionPage }
123- />
124- < Route
125- path = "/cms/content/:collection/:slug"
126- component = { DocumentPage }
127- />
128- < Route path = "/cms/data" component = { DataPage } />
129- < Route path = "/cms/data/new" component = { NewDataSourcePage } />
130- < Route path = "/cms/data/:id" component = { DataSourcePage } />
131- < Route path = "/cms/data/:id/edit" component = { EditDataSourcePage } />
132- < Route path = "/cms/logs" component = { LogsPage } />
133- < Route path = "/cms/releases" component = { ReleasesPage } />
134- < Route path = "/cms/releases/new" component = { NewReleasePage } />
135- < Route path = "/cms/releases/:id" component = { ReleasePage } />
136- < Route
137- path = "/cms/releases/:id/edit"
138- component = { EditReleasePage }
139- />
140- < Route path = "/cms/settings" component = { SettingsPage } />
141- < Route path = "/cms/tools/:id" component = { SidebarToolsPage } />
142- < Route path = "/cms/translations" component = { TranslationsPage } />
143- < Route
144- path = "/cms/translations/arb"
145- component = { TranslationsArbPage }
146- />
147- < Route
148- path = "/cms/translations/:hash"
149- component = { TranslationsEditPage }
150- />
151- < Route
152- path = "/cms/translations/:collection/:slug"
153- component = { DocTranslationsPage }
154- />
155- < Route default component = { NotFoundPage } />
156- </ Router >
157- </ ModalsProvider >
101+ < VirtualClipboardProvider >
102+ < ModalsProvider
103+ modals = { {
104+ [ CopyDocModal . id ] : CopyDocModal ,
105+ [ DocPickerModal . id ] : DocPickerModal ,
106+ [ DocSelectModal . id ] : DocSelectModal ,
107+ [ DataSourceSelectModal . id ] : DataSourceSelectModal ,
108+ [ EditJsonModal . id ] : EditJsonModal ,
109+ [ EditTranslationsModal . id ] : EditTranslationsModal ,
110+ [ ExportSheetModal . id ] : ExportSheetModal ,
111+ [ LocalizationModal . id ] : LocalizationModal ,
112+ [ LockPublishingModal . id ] : LockPublishingModal ,
113+ [ PublishDocModal . id ] : PublishDocModal ,
114+ [ ScheduleReleaseModal . id ] : ScheduleReleaseModal ,
115+ [ VersionHistoryModal . id ] : VersionHistoryModal ,
116+ } }
117+ >
118+ < Router >
119+ < Route path = "/cms" component = { ProjectPage } />
120+ < Route path = "/cms/ai" component = { AIPage } />
121+ < Route path = "/cms/assets" component = { AssetsPage } />
122+ < Route path = "/cms/compare" component = { ComparePage } />
123+ < Route
124+ path = "/cms/content/:collection?"
125+ component = { CollectionPage }
126+ />
127+ < Route
128+ path = "/cms/content/:collection/:slug"
129+ component = { DocumentPage }
130+ />
131+ < Route path = "/cms/data" component = { DataPage } />
132+ < Route path = "/cms/data/new" component = { NewDataSourcePage } />
133+ < Route path = "/cms/data/:id" component = { DataSourcePage } />
134+ < Route path = "/cms/data/:id/edit" component = { EditDataSourcePage } />
135+ < Route path = "/cms/logs" component = { LogsPage } />
136+ < Route path = "/cms/releases" component = { ReleasesPage } />
137+ < Route path = "/cms/releases/new" component = { NewReleasePage } />
138+ < Route path = "/cms/releases/:id" component = { ReleasePage } />
139+ < Route
140+ path = "/cms/releases/:id/edit"
141+ component = { EditReleasePage }
142+ />
143+ < Route path = "/cms/settings" component = { SettingsPage } />
144+ < Route path = "/cms/tools/:id" component = { SidebarToolsPage } />
145+ < Route path = "/cms/translations" component = { TranslationsPage } />
146+ < Route
147+ path = "/cms/translations/arb"
148+ component = { TranslationsArbPage }
149+ />
150+ < Route
151+ path = "/cms/translations/:hash"
152+ component = { TranslationsEditPage }
153+ />
154+ < Route
155+ path = "/cms/translations/:collection/:slug"
156+ component = { DocTranslationsPage }
157+ />
158+ < Route default component = { NotFoundPage } />
159+ </ Router >
160+ </ ModalsProvider >
161+ </ VirtualClipboardProvider >
158162 </ FirebaseContext . Provider >
159163 </ NotificationsProvider >
160164 </ MantineProvider >
0 commit comments