From dda1e5f122c7250cdbc9a198bf3b284ddab812e8 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 8 Apr 2021 13:10:58 +0200 Subject: [PATCH] use authenticated status --- packages/website/package.json | 1 + .../src/components/Navigation/Navigation.js | 48 ++++++++++++++----- .../src/services/useAuthenticatedStatus.js | 5 ++ 3 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 packages/website/src/services/useAuthenticatedStatus.js diff --git a/packages/website/package.json b/packages/website/package.json index 7c27547f..06865185 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -60,6 +60,7 @@ "react-use": "^17.2.3", "skynet-js": "^3.0.2", "stream-browserify": "^3.0.0", + "swr": "^0.5.5", "tailwindcss": "^2.1.1" }, "devDependencies": { diff --git a/packages/website/src/components/Navigation/Navigation.js b/packages/website/src/components/Navigation/Navigation.js index 4754138c..c87b789a 100644 --- a/packages/website/src/components/Navigation/Navigation.js +++ b/packages/website/src/components/Navigation/Navigation.js @@ -2,6 +2,7 @@ import * as React from "react"; import PropTypes from "prop-types"; import Link from "../Link"; import classnames from "classnames"; +import useAuthenticatedStatus from "../../services/useAuthenticatedStatus"; import LogoWhiteText from "../Icons/LogoWhiteText.svg"; import LogoBlackText from "../Icons/LogoBlackText.svg"; import MenuMobile from "../Icons/MenuMobile.svg"; @@ -27,6 +28,7 @@ const Navigation = ({ mode, uri }) => { const [open, setOpen] = React.useState(false); const windowSize = useWindowSize(); const isWindowTop = useWindowTop(); + const { authenticated } = useAuthenticatedStatus(); React.useEffect(() => { setOpen(false); @@ -85,12 +87,24 @@ const Navigation = ({ mode, uri }) => { {title} ))} - - Log in - - - Sign up - + + {!authenticated && ( + + Log in + + )} + + {!authenticated && ( + + Sign up + + )} + + {authenticated && ( + + Dashboard + + )} @@ -128,13 +142,23 @@ const Navigation = ({ mode, uri }) => {
- - Log in - + {!authenticated && ( + + Log in + + )} - - Sign up - + {!authenticated && ( + + Sign up + + )} + + {authenticated && ( + + Dashboard + + )}
diff --git a/packages/website/src/services/useAuthenticatedStatus.js b/packages/website/src/services/useAuthenticatedStatus.js new file mode 100644 index 00000000..63e38bd4 --- /dev/null +++ b/packages/website/src/services/useAuthenticatedStatus.js @@ -0,0 +1,5 @@ +import useSWR from "swr"; + +export default function useAuthenticatedStatus() { + return useSWR("/__internal/do/not/use", (url) => (await fetch(url)).json()); +}