Extract the AI provider/endpoints settings and the MCP server section out of the Workspace "General" settings page into their own "AI" settings page, reachable from a new sidebar entry. - add page apps/client/.../settings/workspace/ai-settings.tsx (AiProviderSettings admin-gated + McpSettings), with its own Helmet title - register the /settings/ai route in App.tsx and add SETTINGS.WORKSPACE.AI to app-route.ts - add an "AI" item (IconSparkles) to the Workspace group in settings-sidebar - trim workspace-settings.tsx back to the General section and drop the now-unused imports
89 lines
3.9 KiB
TypeScript
89 lines
3.9 KiB
TypeScript
import { Navigate, Route, Routes } from "react-router-dom";
|
|
import SetupWorkspace from "@/pages/auth/setup-workspace.tsx";
|
|
import LoginPage from "@/pages/auth/login";
|
|
import Home from "@/pages/dashboard/home";
|
|
import Page from "@/pages/page/page";
|
|
import AccountSettings from "@/pages/settings/account/account-settings";
|
|
import WorkspaceMembers from "@/pages/settings/workspace/workspace-members";
|
|
import WorkspaceSettings from "@/pages/settings/workspace/workspace-settings";
|
|
import AiSettings from "@/pages/settings/workspace/ai-settings";
|
|
import Groups from "@/pages/settings/group/groups";
|
|
import GroupInfo from "./pages/settings/group/group-info";
|
|
import Spaces from "@/pages/settings/space/spaces.tsx";
|
|
import { Error404 } from "@/components/ui/error-404.tsx";
|
|
import AccountPreferences from "@/pages/settings/account/account-preferences.tsx";
|
|
import SpaceHome from "@/pages/space/space-home.tsx";
|
|
import PageRedirect from "@/pages/page/page-redirect.tsx";
|
|
import Layout from "@/components/layouts/global/layout.tsx";
|
|
import InviteSignup from "@/pages/auth/invite-signup.tsx";
|
|
import ForgotPassword from "@/pages/auth/forgot-password.tsx";
|
|
import PasswordReset from "./pages/auth/password-reset";
|
|
import SharedPage from "@/pages/share/shared-page.tsx";
|
|
import Shares from "@/pages/settings/shares/shares.tsx";
|
|
import ShareLayout from "@/features/share/components/share-layout.tsx";
|
|
import ShareRedirect from "@/pages/share/share-redirect.tsx";
|
|
import { useTrackOrigin } from "@/hooks/use-track-origin";
|
|
import SpacesPage from "@/pages/spaces/spaces.tsx";
|
|
import SpaceTrash from "@/pages/space/space-trash.tsx";
|
|
import FavoritesPage from "@/pages/favorites/favorites-page";
|
|
import LabelPage from "@/pages/label/label-page";
|
|
|
|
export default function App() {
|
|
useTrackOrigin();
|
|
|
|
return (
|
|
<>
|
|
<Routes>
|
|
<Route index element={<Navigate to="/home" />} />
|
|
<Route path={"/login"} element={<LoginPage />} />
|
|
<Route path={"/invites/:invitationId"} element={<InviteSignup />} />
|
|
<Route path={"/forgot-password"} element={<ForgotPassword />} />
|
|
<Route path={"/password-reset"} element={<PasswordReset />} />
|
|
|
|
<Route path={"/setup/register"} element={<SetupWorkspace />} />
|
|
|
|
<Route element={<ShareLayout />}>
|
|
<Route
|
|
path={"/share/:shareId/p/:pageSlug"}
|
|
element={<SharedPage />}
|
|
/>
|
|
<Route path={"/share/p/:pageSlug"} element={<SharedPage />} />
|
|
</Route>
|
|
|
|
<Route path={"/share/:shareId"} element={<ShareRedirect />} />
|
|
<Route path={"/p/:pageSlug"} element={<PageRedirect />} />
|
|
|
|
<Route element={<Layout />}>
|
|
<Route path={"/home"} element={<Home />} />
|
|
<Route path={"/spaces"} element={<SpacesPage />} />
|
|
<Route path={"/favorites"} element={<FavoritesPage />} />
|
|
<Route path={"/labels/:labelName"} element={<LabelPage />} />
|
|
<Route path={"/s/:spaceSlug"} element={<SpaceHome />} />
|
|
<Route path={"/s/:spaceSlug/trash"} element={<SpaceTrash />} />
|
|
<Route
|
|
path={"/s/:spaceSlug/p/:pageSlug"}
|
|
element={<Page />}
|
|
/>
|
|
|
|
<Route path={"/settings"}>
|
|
<Route path={"account/profile"} element={<AccountSettings />} />
|
|
<Route
|
|
path={"account/preferences"}
|
|
element={<AccountPreferences />}
|
|
/>
|
|
<Route path={"workspace"} element={<WorkspaceSettings />} />
|
|
<Route path={"ai"} element={<AiSettings />} />
|
|
<Route path={"members"} element={<WorkspaceMembers />} />
|
|
<Route path={"groups"} element={<Groups />} />
|
|
<Route path={"groups/:groupId"} element={<GroupInfo />} />
|
|
<Route path={"spaces"} element={<Spaces />} />
|
|
<Route path={"sharing"} element={<Shares />} />
|
|
</Route>
|
|
</Route>
|
|
|
|
<Route path="*" element={<Error404 />} />
|
|
</Routes>
|
|
</>
|
|
);
|
|
}
|