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 lazyWithRetry from "~/utils/lazyWithRetry";
import { matchDocumentSlug as slug } from "~/utils/routeHelpers";
const SettingsRoutes = lazyWithRetry(() => import("./settings"));
const Archive = lazyWithRetry(() => import("~/scenes/Archive"));
const Collection = lazyWithRetry(() => import("~/scenes/Collection"));
const Document = lazyWithRetry(() => import("~/scenes/Document"));
const Drafts = lazyWithRetry(() => import("~/scenes/Drafts"));
const Home = lazyWithRetry(() => import("~/scenes/Home"));
const Templates = lazyWithRetry(() => import("~/scenes/Templates"));
const Search = lazyWithRetry(() => import("~/scenes/Search"));
const Trash = lazyWithRetry(() => 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 && (
)}
{can.createDocument && (
)}
{can.createDocument && (
)}
);
}
export default observer(AuthenticatedRoutes);