mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-05-24 02:42:03 +00:00
Dynamic login/logout button using next-auth
This commit is contained in:
parent
a39e73ab2e
commit
d0477edf16
@ -2,33 +2,45 @@ import React from 'react';
|
|||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import { Button } from 'primereact/button';
|
import { Button } from 'primereact/button';
|
||||||
import { Menubar } from 'primereact/menubar';
|
import { Menubar } from 'primereact/menubar';
|
||||||
import 'primereact/resources/primereact.min.css'; // core css
|
import { useSession, signIn, signOut } from 'next-auth/react';
|
||||||
import 'primeicons/primeicons.css'; // icons
|
import 'primereact/resources/primereact.min.css';
|
||||||
|
import 'primeicons/primeicons.css';
|
||||||
import styles from './navbar.module.css';
|
import styles from './navbar.module.css';
|
||||||
|
|
||||||
const end = (
|
|
||||||
<Button
|
|
||||||
label="Login"
|
|
||||||
icon="pi pi-user"
|
|
||||||
className="text-[#f8f8ff]"
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
|
|
||||||
const start = (
|
|
||||||
<div className={styles.titleContainer}>
|
|
||||||
<Image
|
|
||||||
alt="logo"
|
|
||||||
src="/plebdevs-guy.jpg"
|
|
||||||
width={50}
|
|
||||||
height={50}
|
|
||||||
className={`${styles.logo}`}
|
|
||||||
/>
|
|
||||||
<h1 className={styles.title}>PlebDevs</h1>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
const Navbar = () => {
|
const Navbar = () => {
|
||||||
|
const { data: session } = useSession();
|
||||||
|
|
||||||
|
const handleAuthClick = () => {
|
||||||
|
if (session) {
|
||||||
|
signOut();
|
||||||
|
} else {
|
||||||
|
signIn();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const end = (
|
||||||
|
<Button
|
||||||
|
label={session ? "Logout" : "Login"}
|
||||||
|
icon="pi pi-user"
|
||||||
|
className="text-[#f8f8ff]"
|
||||||
|
rounded
|
||||||
|
onClick={handleAuthClick}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
const start = (
|
||||||
|
<div className={styles.titleContainer}>
|
||||||
|
<Image
|
||||||
|
alt="logo"
|
||||||
|
src="/plebdevs-guy.jpg"
|
||||||
|
width={50}
|
||||||
|
height={50}
|
||||||
|
className={`${styles.logo}`}
|
||||||
|
/>
|
||||||
|
<h1 className={styles.title}>PlebDevs</h1>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Menubar start={start} end={end} className='px-[5%]' />
|
<Menubar start={start} end={end} className='px-[5%]' />
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user