Code split <Workspace> and <Settings> routes

This commit is contained in:
Gregory Schier
2024-09-24 11:18:39 -07:00
parent aa82ef8636
commit 0100a3983d
3 changed files with 15 additions and 12 deletions

View File

@@ -1,10 +1,12 @@
import { lazy } from 'react';
import { createBrowserRouter, Navigate, RouterProvider, useParams } from 'react-router-dom';
import { routePaths, useAppRoutes } from '../hooks/useAppRoutes';
import { DefaultLayout } from './DefaultLayout';
import { RedirectToLatestWorkspace } from './RedirectToLatestWorkspace';
import RouteError from './RouteError';
import { Settings } from './Settings/Settings';
import Workspace from './Workspace';
const LazyWorkspace = lazy(() => import('./Workspace'));
const LazySettings = lazy(() => import('./Settings/Settings'));
const router = createBrowserRouter([
{
@@ -24,14 +26,14 @@ const router = createBrowserRouter([
path: routePaths.workspace({
workspaceId: ':workspaceId',
}),
element: <Workspace />,
element: <LazyWorkspace />,
},
{
path: routePaths.request({
workspaceId: ':workspaceId',
requestId: ':requestId',
}),
element: <Workspace />,
element: <LazyWorkspace />,
},
{
path: '/workspaces/:workspaceId/environments/:environmentId/requests/:requestId',
@@ -41,7 +43,7 @@ const router = createBrowserRouter([
path: routePaths.workspaceSettings({
workspaceId: ':workspaceId',
}),
element: <Settings />,
element: <LazySettings />,
},
],
},

View File

@@ -20,7 +20,7 @@ enum Tab {
const tabs = [Tab.General, Tab.Appearance, Tab.Plugins];
export const Settings = () => {
export default function Settings() {
const osInfo = useOsInfo();
const [tab, setTab] = useState<string>(Tab.General);
@@ -66,4 +66,4 @@ export const Settings = () => {
</Tabs>
</div>
);
};
}

View File

@@ -2,14 +2,15 @@ import { getCurrentWebviewWindow } from '@tauri-apps/api/webviewWindow';
import { type } from '@tauri-apps/plugin-os';
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { pdfjs } from 'react-pdf';
import { App } from './components/App';
import './main.css';
pdfjs.GlobalWorkerOptions.workerSrc = new URL(
'pdfjs-dist/build/pdf.worker.min.mjs',
import.meta.url,
).toString();
import('react-pdf').then(({ pdfjs }) => {
pdfjs.GlobalWorkerOptions.workerSrc = new URL(
'pdfjs-dist/build/pdf.worker.min.mjs',
import.meta.url,
).toString();
});
// Hide decorations here because it doesn't work in Rust for some reason (bug?)
const osType = type();