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);