Untitled
unknown
jsx
2 years ago
1.4 kB
6
Indexable
import React from "react"; import { Typography } from "neetoui"; import { Redirect, Route, Switch } from "react-router-dom"; import PrivateRoute from "components/Common/PrivateRoute"; import { useAuthState } from "contexts/auth"; import { useSettingsState } from "contexts/settings"; import { PASSWORD_VERIFICATION_ROUTE, ARTICLES_PREVIEW_ROUTE, PUBLIC_PATH, PASSWORD_VERIFICATION_PATH, } from "../routeConstants"; const Public = () => { const { siteName, passwordProtectionStatus } = useSettingsState(); const { authToken } = useAuthState(); const isLoggedIn = !passwordProtectionStatus || !!authToken; return ( <> <header className="w-full text-center"> <Typography className="my-3" style="h4"> {siteName} </Typography> <hr /> </header> <Switch> <Route component={PASSWORD_VERIFICATION_ROUTE.component} path={PASSWORD_VERIFICATION_ROUTE.path} /> <PrivateRoute component={ARTICLES_PREVIEW_ROUTE.component} condition={isLoggedIn} path={ARTICLES_PREVIEW_ROUTE.path} redirectRoute={PASSWORD_VERIFICATION_PATH} /> <Redirect from={PUBLIC_PATH} to={isLoggedIn ? "/public/articles/" : PASSWORD_VERIFICATION_PATH} /> </Switch> </> ); }; export default Public;
Editor is loading...