2021-03-25 14:29:24 -05:00
|
|
|
import { signOut, signIn, useSession } from 'next-auth/client'
|
2021-04-12 13:05:09 -05:00
|
|
|
import Navbar from 'react-bootstrap/Navbar'
|
|
|
|
import Nav from 'react-bootstrap/Nav'
|
|
|
|
import Link from 'next/link'
|
|
|
|
import styles from './header.module.css'
|
|
|
|
import { useRouter } from 'next/router'
|
2021-04-13 19:57:32 -05:00
|
|
|
import { Container } from 'react-bootstrap'
|
2021-03-25 14:29:24 -05:00
|
|
|
|
|
|
|
export default function Header () {
|
|
|
|
const [session, loading] = useSession()
|
2021-04-12 13:05:09 -05:00
|
|
|
const router = useRouter()
|
2021-03-25 14:29:24 -05:00
|
|
|
|
2021-04-12 13:05:09 -05:00
|
|
|
const Corner = () => {
|
|
|
|
if (loading) {
|
|
|
|
return null
|
|
|
|
}
|
2021-03-25 14:29:24 -05:00
|
|
|
|
2021-04-12 13:05:09 -05:00
|
|
|
if (session) {
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Nav.Item>{session.user.name}</Nav.Item>
|
|
|
|
<Nav.Item>
|
|
|
|
<Nav.Link onClick={signOut}>logout</Nav.Link>
|
|
|
|
</Nav.Item>
|
|
|
|
</>
|
|
|
|
)
|
|
|
|
} else {
|
|
|
|
return <Nav.Link onClick={signIn}>login</Nav.Link>
|
|
|
|
}
|
2021-03-25 14:29:24 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
2021-04-12 13:05:09 -05:00
|
|
|
<>
|
2021-04-13 19:57:32 -05:00
|
|
|
<Navbar bg='primary' className={styles.navbar}>
|
|
|
|
<Container>
|
|
|
|
<Link href='/' passHref>
|
|
|
|
<Navbar.Brand className={styles.brand}>STACKER NEWS</Navbar.Brand>
|
|
|
|
</Link>
|
|
|
|
<Nav className='mr-auto align-items-center' activeKey={router.pathname}>
|
|
|
|
<Nav.Item>
|
|
|
|
<Link href='/recent' passHref>
|
|
|
|
<Nav.Link>recent</Nav.Link>
|
|
|
|
</Link>
|
|
|
|
</Nav.Item>
|
|
|
|
<Nav.Item>
|
|
|
|
<Link href='/post' passHref>
|
|
|
|
<Nav.Link>post</Nav.Link>
|
|
|
|
</Link>
|
|
|
|
</Nav.Item>
|
|
|
|
</Nav>
|
|
|
|
<Nav className='ml-auto align-items-center'>
|
|
|
|
<Corner />
|
|
|
|
</Nav>
|
|
|
|
</Container>
|
2021-04-12 13:05:09 -05:00
|
|
|
</Navbar>
|
|
|
|
</>
|
2021-03-25 14:29:24 -05:00
|
|
|
)
|
|
|
|
}
|