fix: add login/logout buttons

This commit is contained in:
Christel Westerberg
2024-05-29 17:20:27 +02:00
parent 0ec6d58d6a
commit 37843af507
9 changed files with 191 additions and 12 deletions

View File

@@ -1,7 +1,14 @@
"use client"
import { useParams } from "next/navigation"
import { useState } from "react"
import { Lang } from "@/constants/languages"
import { login } from "@/constants/routes/handleAuth"
import { myPages } from "@/constants/routes/myPages"
import { _ } from "@/lib/translation"
import Image from "@/components/Image"
import Link from "@/components/TempDesignSystem/Link"
import BookingButton from "../BookingButton"
@@ -16,9 +23,13 @@ export function MainMenu({
logo,
topMenuMobileLinks,
languageSwitcher,
bookingHref,
isLoggedIn,
}: MainMenuProps) {
const [isOpen, setIsOpen] = useState(false)
const lang = useParams().lang as Lang
function toogleIsOpen() {
setIsOpen((prevIsOpen) => !prevIsOpen)
}
@@ -59,6 +70,52 @@ export function MainMenu({
<ul
className={`${styles.listWrapper} ${isOpen ? styles.isOpen : ""}`}
>
<ul className={styles.linkRow}>
{isLoggedIn ? (
<>
<li>
<div className={styles.loggedInLogo} />
</li>
<li className={styles.mobileLinkRow}>
<Link
className={styles.mobileLinkButton}
href={myPages[lang]}
>
{_("My pages")}
</Link>
</li>
</>
) : (
<>
<li>
<Image
src="/_static/img/icon-scandic-friends.svg"
alt="Scanidc Friends Logo"
height={35}
width={35}
className={styles.scandicFriendsLogo}
/>
</li>
<li className={styles.mobileLinkRow}>
<Link
className={styles.mobileLinkButton}
href={login[lang]}
>
{_("Log in")}
</Link>
</li>
</>
)}
<li className={styles.mobileLinkRow}>
<span className={styles.mobileSeparator} />
</li>
<li className={styles.mobileLinkRow}>
<a className={styles.mobileLinkButton} href="">
{_("Find booking")}
</a>
</li>
</ul>
<ul className={styles.mainLinks}>
{links.map((link, i) => (
<li className={styles.li} key={link.href + i}>
@@ -84,7 +141,7 @@ export function MainMenu({
) : null}
</ul>
<div className={styles.buttonContainer}>
<BookingButton />
<BookingButton href={bookingHref} />
</div>
</nav>
</div>