import { observer } from "mobx-react";
import * as React from "react";
import { Switch, Redirect, RouteComponentProps } from "react-router-dom";
import DocumentNew from "~/scenes/DocumentNew";
import Error404 from "~/scenes/Error404";
import AuthenticatedLayout from "~/components/AuthenticatedLayout";
import CenteredContent from "~/components/CenteredContent";
import PlaceholderDocument from "~/components/PlaceholderDocument";
import Route from "~/components/ProfiledRoute";
import WebsocketProvider from "~/components/WebsocketProvider";
import useCurrentTeam from "~/hooks/useCurrentTeam";
import usePolicy from "~/hooks/usePolicy";
import lazy from "~/utils/lazyWithRetry";
import {
archivePath,
draftsPath,
homePath,
searchPath,
settingsPath,
matchDocumentSlug as slug,
trashPath,
} from "~/utils/routeHelpers";
const SettingsRoutes = lazy(() => import("./settings"));
const Archive = lazy(() => import("~/scenes/Archive"));
const Collection = lazy(() => import("~/scenes/Collection"));
const Document = lazy(() => import("~/scenes/Document"));
const Drafts = lazy(() => import("~/scenes/Drafts"));
const Home = lazy(() => import("~/scenes/Home"));
const Search = lazy(() => import("~/scenes/Search"));
const Trash = lazy(() => import("~/scenes/Trash"));
const RedirectDocument = ({
match,
}: RouteComponentProps<{ documentSlug: string }>) => (
);
function AuthenticatedRoutes() {
const team = useCurrentTeam();
const can = usePolicy(team);
return (
}
>
{can.createDocument && (
)}
{can.createDocument && (
)}
{can.createDocument && (
)}
);
}
export default observer(AuthenticatedRoutes);