fix: pass in lang to mobile dropdown and render logout button

This commit is contained in:
Chuma McPhoy
2024-06-19 09:44:16 +02:00
committed by Michael Zetterberg
parent f2a467af0d
commit 0d6498c654
3 changed files with 29 additions and 26 deletions

View File

@@ -3,11 +3,12 @@ import { serverClient } from "@/lib/trpc/server"
import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
export default async function MyPagesMobileDropdownPage() {
// TODO: Figure out how to pass down props at the paralell route level.
// - Possibly by parsing [...paths]
import { LangParams, PageArgs } from "@/types/params"
export default async function MyPagesMobileDropdownPage({
params,
}: PageArgs<LangParams>) {
const navigation = await serverClient().contentstack.myPages.navigation.get()
if (!navigation) return null
return <MyPagesMobileDropdown navigation={navigation} lang={null} />
return <MyPagesMobileDropdown navigation={navigation} lang={params.lang} />
}

View File

@@ -2,14 +2,14 @@ import { serverClient } from "@/lib/trpc/server"
import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
export default async function MyPagesMobileDropdownPage() {
// TODO: Remove data call and pass down props at the paralell route level.
const [data, navigation] = await Promise.all([
serverClient().contentstack.languageSwitcher.get(),
serverClient().contentstack.myPages.navigation.get(),
])
if (!data || !navigation) {
import { LangParams, PageArgs } from "@/types/params"
export default async function MyPagesMobileDropdownPage({
params,
}: PageArgs<LangParams>) {
const navigation = await serverClient().contentstack.myPages.navigation.get()
if (!navigation) {
return null
}
return <MyPagesMobileDropdown navigation={navigation} lang={null} />
return <MyPagesMobileDropdown navigation={navigation} lang={params.lang} />
}

View File

@@ -1,5 +1,6 @@
"use client"
import { Fragment } from "react"
import { useIntl } from "react-intl"
import { Lang } from "@/constants/languages"
import { logout } from "@/constants/routes/handleAuth"
@@ -21,8 +22,10 @@ export default function MyPagesMobileDropdown({
navigation: Navigation
lang: Lang | null
}) {
const { formatMessage } = useIntl()
const { toggleMyPagesMobileMenu, isMyPagesMobileMenuOpen } =
useDropdownStore()
if (!navigation) {
return null
}
@@ -53,20 +56,19 @@ export default function MyPagesMobileDropdown({
</Link>
</li>
))}
{/*TODO: Reintroduce once we figure out how to pass lang param. */}
{/* {menuItem.display_sign_out_link ? ( */}
{/* <li> */}
{/* <Link */}
{/* color="burgundy" */}
{/* href={logout[lang]} */}
{/* prefetch={false} */}
{/* size="small" */}
{/* variant="sidebar" */}
{/* > */}
{/* {formatMessage({ id: "Log out" })} */}
{/* </Link> */}
{/* </li> */}
{/* ) : null} */}
{menuItem.display_sign_out_link && lang ? (
<li>
<Link
color="burgundy"
href={logout[lang]}
prefetch={false}
size="small"
variant="sidebar"
>
{formatMessage({ id: "Log out" })}
</Link>
</li>
) : null}
</ul>
</ul>
</Fragment>