Skip to content

Commit 5b662ad

Browse files
committed
feat(package): enable package multi-router
1 parent 5dcdf64 commit 5b662ad

6 files changed

Lines changed: 91 additions & 47 deletions

File tree

packages/editor/.npmignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.gitignore
2+
.vscode
3+
node_modules
4+
dist

packages/editor/package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
{
22
"name": "@magickml/editor",
33
"version": "0.0.3",
4+
"main": "dist/index.js",
45
"scripts": {
5-
"build": "vite build"
6+
"build": "vite build",
7+
"prepare": "npm run build"
8+
},
9+
"devDependencies": {
10+
"@types/react": "^18.0.28",
11+
"@types/react-dom": "^18.0.11",
12+
"next": "^13.2.1",
13+
"react": "^18.2.0",
14+
"react-dom": "^18.2.0",
15+
"react-router-dom": "^6.8.1"
616
}
717
}

packages/editor/src/App.tsx

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,52 @@
11
import * as React from 'react'
2-
32
import './App.css'
43

54
import { Routes, Route } from 'react-router-dom'
5+
import { useRouter } from 'next/router' // importando o useRouter do next/router
6+
67
import MagickPageLayout from './components/MagickPageLayout/MagickPageLayout'
78
import FineTuneManagerLayout from './screens/FineTuneManager/PageLayout'
8-
99
import HomeScreen from './screens/HomeScreen/HomeScreen'
1010
import Magick from './screens/Magick/Magick'
1111
import Contract from './screens/Contract/Contract'
12-
1312
import 'flexlayout-react/style/dark.css'
1413
import './design-globals/design-globals.css'
15-
1614
import MainLayout from './components/MainLayout/MainLayout'
1715
import EventWindow from './workspaces/spells/windows/EventWindow'
1816
import AgentManagerWindow from './workspaces/agents/AgentManagerWindow'
1917
import SettingsWindow from './workspaces/settings/SettingsWindow'
20-
2118
import FineTuneManager from './screens/FineTuneManager/FineTuneManager'
2219
import Completions from './screens/FineTuneManager/completions'
2320
import NewFineTune from './screens/FineTuneManager/screens/NewFineTune'
2421
import CompletionDetails from './screens/FineTuneManager/completions/CompletionDetails'
2522
import RequestWindow from './workspaces/spells/windows/RequestWindow'
2623

2724
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+
2846
function App() {
47+
const router = useRouter();
48+
const routerType = router ? "next" : "react-router-dom";
49+
2950
return (
3051
<Routes>
3152
<Route element={<MainLayout />}>
@@ -59,7 +80,12 @@ function App() {
5980
path="/contract/:chain/:address/:function"
6081
element={<Contract />}
6182
/>
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+
)}
6389
</Route>
6490
</Route>
6591
</Routes>

packages/editor/src/MagickIDE.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import MagickIDE from "./main";
2+
export type { MagickIDEProps } from "./main";
3+
4+
import 'flexlayout-react/style/dark.css'
5+
import './design-globals/design-globals.css'
6+
import "./App.css"
7+
8+
import MagickPageLayout from './components/MagickPageLayout/MagickPageLayout'
9+
import FineTuneManagerLayout from './screens/FineTuneManager/PageLayout'
10+
11+
import HomeScreen from './screens/HomeScreen/HomeScreen'
12+
import Magick from './screens/Magick/Magick'
13+
import Contract from './screens/Contract/Contract'
14+
15+
import MainLayout from './components/MainLayout/MainLayout'
16+
import EventWindow from './workspaces/spells/windows/EventWindow'
17+
import RequestWindow from './workspaces/spells/windows/RequestWindow'
18+
import AgentManagerWindow from './workspaces/agents/AgentManagerWindow'
19+
20+
import FineTuneManager from './screens/FineTuneManager/FineTuneManager'
21+
import Completions from './screens/FineTuneManager/completions'
22+
import NewFineTune from './screens/FineTuneManager/screens/NewFineTune'
23+
import CompletionDetails from './screens/FineTuneManager/completions/CompletionDetails'
24+
25+
export {
26+
MagickPageLayout,
27+
HomeScreen,
28+
Magick,
29+
Contract,
30+
FineTuneManagerLayout,
31+
MainLayout,
32+
EventWindow,
33+
RequestWindow,
34+
AgentManagerWindow,
35+
FineTuneManager,
36+
Completions,
37+
NewFineTune,
38+
CompletionDetails
39+
}
40+
41+
export default MagickIDE;

packages/editor/src/index.ts

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,3 @@
1-
import MagickIDE from "./main";
1+
import MagickIDE from "./MagickIDE";
22
export type { MagickIDEProps } from "./main";
3-
4-
import 'flexlayout-react/style/dark.css'
5-
import './design-globals/design-globals.css'
6-
import "./App.css"
7-
8-
import MagickPageLayout from './components/MagickPageLayout/MagickPageLayout'
9-
import FineTuneManagerLayout from './screens/FineTuneManager/PageLayout'
10-
11-
import HomeScreen from './screens/HomeScreen/HomeScreen'
12-
import Magick from './screens/Magick/Magick'
13-
import Contract from './screens/Contract/Contract'
14-
15-
import MainLayout from './components/MainLayout/MainLayout'
16-
import EventWindow from './workspaces/spells/windows/EventWindow'
17-
import RequestWindow from './workspaces/spells/windows/RequestWindow'
18-
import AgentManagerWindow from './workspaces/agents/AgentManagerWindow'
19-
20-
import FineTuneManager from './screens/FineTuneManager/FineTuneManager'
21-
import Completions from './screens/FineTuneManager/completions'
22-
import NewFineTune from './screens/FineTuneManager/screens/NewFineTune'
23-
import CompletionDetails from './screens/FineTuneManager/completions/CompletionDetails'
24-
25-
export {
26-
MagickPageLayout,
27-
HomeScreen,
28-
Magick,
29-
Contract,
30-
FineTuneManagerLayout,
31-
MainLayout,
32-
EventWindow,
33-
RequestWindow,
34-
AgentManagerWindow,
35-
FineTuneManager,
36-
Completions,
37-
NewFineTune,
38-
CompletionDetails
39-
}
40-
41-
export default MagickIDE;
3+
export default MagickIDE;

packages/editor/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"DOM.Iterable"
1111
],
1212
"rootDir": "../..",
13+
"outDir": "lib",
1314
"skipLibCheck": true,
1415
"esModuleInterop": true,
1516
"moduleResolution": "Node",

0 commit comments

Comments
 (0)