diff --git a/components/App/index.tsx b/components/App/index.tsx
deleted file mode 100644
index 50321431..00000000
--- a/components/App/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import React from 'react'
-import { Route, Routes, useNavigate } from 'react-router-dom'
-
-import Header from '~components/Header'
-
-import NewRoute from '~routes/NewRoute'
-import PartyRoute from '~routes/PartyRoute'
-import PartiesRoute from '~routes/PartiesRoute'
-import ProfileRoute from '~routes/ProfileRoute'
-
-
-const App = () => {
- const navigate = useNavigate()
- const route = (pathname: string) => navigate(pathname)
-
- return (
-
-
-
- } />
- } />
- } />
- } />
-
-
- )
-}
-
-export default App
diff --git a/components/Header/index.scss b/components/Header/index.scss
index ab8e23e5..94683bdf 100644
--- a/components/Header/index.scss
+++ b/components/Header/index.scss
@@ -1,36 +1,36 @@
-.Header {
+#Header {
display: flex;
height: 34px;
width: 100%;
-}
-.Header .right {
- display: flex;
- gap: 8px;
-}
+ #right {
+ display: flex;
+ gap: 8px;
+ }
-.Header .push {
- margin-left: auto;
-}
+ .dropdown {
+ display: inline-block;
+ position: relative;
-.dropdown {
- display: inline-block;
- position: relative;
-}
+ &:hover {
+ padding-right: 50px;
+ padding-bottom: 16px;
-.dropdown:hover {
- padding-right: 50px;
- padding-bottom: 16px;
-}
+ .Button .icon {
+ color: #2360C5;
+ }
-.dropdown:hover .Button .icon {
- color: #2360C5;
-}
+ .Button .text {
+ color: #555;
+ }
-.dropdown:hover .Button .text {
- color: #555;
-}
+ .Menu {
+ display: block;
+ }
+ }
+ }
-.dropdown:hover .Menu {
- display: block;
-}
\ No newline at end of file
+ .push {
+ margin-left: auto;
+ }
+}
diff --git a/components/Header/index.tsx b/components/Header/index.tsx
index 39220a86..e00579f9 100644
--- a/components/Header/index.tsx
+++ b/components/Header/index.tsx
@@ -1,29 +1,30 @@
-import React, { useEffect, useState } from 'react'
-import { useNavigate, useLocation } from 'react-router-dom'
+import React, { useContext, useEffect, useState } from 'react'
import { useCookies } from 'react-cookie'
+import { useRouter } from 'next/router'
+
+import AppContext from '~context/AppContext'
import Button from '~components/Button'
import HeaderMenu from '~components/HeaderMenu'
import './index.scss'
-interface Props {
- navigate: (pathname: string) => void
-}
+interface Props {}
const Header = (props: Props) => {
- const [username, setUsername] = useState(undefined)
- const [cookies, setCookie, removeCookie] = useCookies(['user'])
+ const { editable, setEditable, setAuthenticated } = useContext(AppContext)
- let navigate = useNavigate()
- let location = useLocation()
-
- const route = (pathname: string) => props.navigate(pathname)
+ const [username, setUsername] = useState(undefined)
+ const [cookies, _, removeCookie] = useCookies(['user'])
+
+ const router = useRouter()
useEffect(() => {
if (cookies.user) {
setUsername(cookies.user.username)
console.log(`Logged in as user "${cookies.user.username}"`)
+ } else {
+ console.log('You are currently not logged in.')
}
}, [cookies])
@@ -39,29 +40,34 @@ const Header = (props: Props) => {
}
function newParty() {
- navigate('/')
+ router.push('/')
}
function logout() {
removeCookie('user')
- window.history.replaceState(null, `Grid Tool`, `/`)
- navigate(0)
+
+ setAuthenticated(false)
+ if (editable) setEditable(false)
+
+ // How can we log out without navigating to root
+ router.push('/')
+ return false
}
return (
-