import { createContext } from "react"; import { useDispatch } from "react-redux"; import { RouterProvider, createMemoryRouter } from "react-router-dom"; import Layout from "./components/Layout"; import useSetup from "./hooks/useSetup"; import ErrorPage from "./pages/error"; import GUI from "./pages/gui"; import { default as Help, default as HelpPage } from "./pages/help"; import History from "./pages/history"; import MigrationPage from "./pages/migration"; import ModelConfig from "./pages/modelconfig"; import Models from "./pages/models"; import MonacoPage from "./pages/monaco"; import SettingsPage from "./pages/settings"; import { ContextSubmenuItem } from "./shims/typings"; import useSubmenuContextProviders from "./hooks/useSubmenuContextProviders"; import { useVscTheme } from "./hooks/useVscTheme"; import Stats from "./pages/stats"; const router = createMemoryRouter([ { path: "/", element: , errorElement: , children: [ { path: "/index.html", element: , }, { path: "/", element: , }, { path: "/history", element: , }, { path: "/stats", element: , }, { path: "/help", element: , }, { path: "/settings", element: , }, { path: "/models", element: , }, { path: "/help", element: , }, { path: "/modelconfig/:modelName", element: , }, { path: "/monaco", element: , }, { path: "/migration", element: , }, ], }, ]); export const SubmenuContextProvidersContext = createContext<{ getSubmenuContextItems: ( providerTitle: string | undefined, query: string, ) => (ContextSubmenuItem & { providerTitle: string })[]; addItem: (providerTitle: string, item: ContextSubmenuItem) => void; }>({ getSubmenuContextItems: () => [], addItem: () => {}, }); export const VscThemeContext = createContext(undefined); function App() { const dispatch = useDispatch(); useSetup(dispatch); const vscTheme = useVscTheme(); const submenuContextProvidersMethods = useSubmenuContextProviders(); return ( ); } export default App;