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" import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
export default async function MyPagesMobileDropdownPage() { import { LangParams, PageArgs } from "@/types/params"
// TODO: Figure out how to pass down props at the paralell route level.
// - Possibly by parsing [...paths]
export default async function MyPagesMobileDropdownPage({
params,
}: PageArgs<LangParams>) {
const navigation = await serverClient().contentstack.myPages.navigation.get() const navigation = await serverClient().contentstack.myPages.navigation.get()
if (!navigation) return null 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" import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
export default async function MyPagesMobileDropdownPage() { import { LangParams, PageArgs } from "@/types/params"
// TODO: Remove data call and pass down props at the paralell route level.
const [data, navigation] = await Promise.all([ export default async function MyPagesMobileDropdownPage({
serverClient().contentstack.languageSwitcher.get(), params,
serverClient().contentstack.myPages.navigation.get(), }: PageArgs<LangParams>) {
]) const navigation = await serverClient().contentstack.myPages.navigation.get()
if (!data || !navigation) { if (!navigation) {
return null return null
} }
return <MyPagesMobileDropdown navigation={navigation} lang={null} /> return <MyPagesMobileDropdown navigation={navigation} lang={params.lang} />
} }

View File

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