Files
outline/app/routes/settings.tsx
2023-09-10 12:46:12 -07:00

41 lines
1.1 KiB
TypeScript

import * as React from "react";
import { RouteComponentProps, Switch } from "react-router-dom";
import DocumentNew from "~/scenes/DocumentNew";
import Error404 from "~/scenes/Error404";
import Route from "~/components/ProfiledRoute";
import useSettingsConfig from "~/hooks/useSettingsConfig";
import lazy from "~/utils/lazyWithRetry";
import { matchDocumentSlug, settingsPath } from "~/utils/routeHelpers";
const Document = lazy(() => import("~/scenes/Document"));
export default function SettingsRoutes() {
const configs = useSettingsConfig();
return (
<Switch>
{configs.map((config) => (
<Route
exact
key={config.path}
path={config.path}
component={config.component}
/>
))}
<Route
exact
path={`${settingsPath("templates")}/${matchDocumentSlug}`}
component={Document}
/>
<Route
exact
path={`${settingsPath("templates")}/new`}
component={(props: RouteComponentProps) => (
<DocumentNew {...props} template />
)}
/>
<Route component={Error404} />
</Switch>
);
}