show when logged in

This commit is contained in:
Thomas Ruoff
2020-11-08 23:39:30 +01:00
parent bd32cfb90b
commit 7fcdf680d3
3 changed files with 36 additions and 14 deletions

View File

@@ -1,19 +1,28 @@
import React from 'react'
import React, { useContext } from 'react'
import Link from 'next/link'
import Image from 'next/image'
import UserContext from './user/context'
export default function Header({ label = 'Pfadi Bussle' }: { label?: string }) {
const { username, role } = useContext(UserContext)
return (
<div className="flex flex-row items-center p-3 my-3 text-white bg-gray-600 rounded-sm">
<h1 className="mr-3 flex-grow text-3xl">
<Link href="/">{label}</Link>
</h1>
<Image
src="/logo.webp"
alt="Logo Freundeskreis VCP Rosenfeld"
width="160"
height="44"
/>
</div>
<>
<div className="flex flex-row items-center p-3 my-3 text-white bg-gray-600 rounded-sm">
<h1 className="mr-3 flex-grow text-3xl">
<Link href="/">{label}</Link>
</h1>
<Image
src="/logo.webp"
alt="Logo Freundeskreis VCP Rosenfeld"
width="160"
height="44"
/>
</div>
{username && (
<div>
FYI, you are logged in as <strong>{username}</strong>{' '}
</div>
)}
</>
)
}

View File

@@ -0,0 +1,9 @@
import React from 'react'
import { UserData } from '../../lib/session'
const UserContext = React.createContext<UserData>({
username: undefined,
role: undefined,
})
export default UserContext

View File

@@ -1,10 +1,14 @@
import React from 'react'
import '../styles/index.css'
import UserContext from '../components/user/context'
export default function MyApp({ Component, pageProps }) {
const { username, role } = pageProps?.user || {}
return (
<div className="wrapper">
<Component {...pageProps} />
<UserContext.Provider value={{ username, role }}>
<Component {...pageProps} />
</UserContext.Provider>
</div>
)
}