|
1 | 1 | import * as React from 'react' |
2 | | - |
3 | 2 | import './App.css' |
4 | 3 |
|
5 | 4 | import { Routes, Route } from 'react-router-dom' |
| 5 | +import { useRouter } from 'next/router' // importando o useRouter do next/router |
| 6 | + |
6 | 7 | import MagickPageLayout from './components/MagickPageLayout/MagickPageLayout' |
7 | 8 | import FineTuneManagerLayout from './screens/FineTuneManager/PageLayout' |
8 | | - |
9 | 9 | import HomeScreen from './screens/HomeScreen/HomeScreen' |
10 | 10 | import Magick from './screens/Magick/Magick' |
11 | 11 | import Contract from './screens/Contract/Contract' |
12 | | - |
13 | 12 | import 'flexlayout-react/style/dark.css' |
14 | 13 | import './design-globals/design-globals.css' |
15 | | - |
16 | 14 | import MainLayout from './components/MainLayout/MainLayout' |
17 | 15 | import EventWindow from './workspaces/spells/windows/EventWindow' |
18 | 16 | import AgentManagerWindow from './workspaces/agents/AgentManagerWindow' |
19 | 17 | import SettingsWindow from './workspaces/settings/SettingsWindow' |
20 | | - |
21 | 18 | import FineTuneManager from './screens/FineTuneManager/FineTuneManager' |
22 | 19 | import Completions from './screens/FineTuneManager/completions' |
23 | 20 | import NewFineTune from './screens/FineTuneManager/screens/NewFineTune' |
24 | 21 | import CompletionDetails from './screens/FineTuneManager/completions/CompletionDetails' |
25 | 22 | import RequestWindow from './workspaces/spells/windows/RequestWindow' |
26 | 23 |
|
27 | 24 | const singleUserMode = import.meta.env.VITE_APP_SINGLE_USER_MODE || true |
| 25 | + |
| 26 | +let router: any; |
| 27 | + |
| 28 | +try { |
| 29 | + require.resolve('next/router'); |
| 30 | + router = require('next/router'); |
| 31 | +} catch (e) { |
| 32 | + // next/router not found, try react-router-dom |
| 33 | +} |
| 34 | + |
| 35 | +if (!router) { |
| 36 | + try { |
| 37 | + require.resolve('react-router-dom'); |
| 38 | + router = require('react-router-dom'); |
| 39 | + } catch (e) { |
| 40 | + console.error('Neither next/router nor react-router-dom was found in the user\'s dependencies'); |
| 41 | + return null; |
| 42 | + } |
| 43 | +} |
| 44 | + |
| 45 | + |
28 | 46 | function App() { |
| 47 | + const router = useRouter(); |
| 48 | + const routerType = router ? "next" : "react-router-dom"; |
| 49 | + |
29 | 50 | return ( |
30 | 51 | <Routes> |
31 | 52 | <Route element={<MainLayout />}> |
@@ -59,7 +80,12 @@ function App() { |
59 | 80 | path="/contract/:chain/:address/:function" |
60 | 81 | element={<Contract />} |
61 | 82 | /> |
62 | | - <Route path="/*" element={<Magick />} /> |
| 83 | + {/* Condicional para escolher o sistema de roteamento */} |
| 84 | + {routerType === "next" ? ( |
| 85 | + <Route path="/*" element={<Magick />} /> |
| 86 | + ) : ( |
| 87 | + <Route path="/*" element={<Magick />} /> |
| 88 | + )} |
63 | 89 | </Route> |
64 | 90 | </Route> |
65 | 91 | </Routes> |
|
0 commit comments