fix: refactor language switcher
This commit is contained in:
@@ -5,16 +5,20 @@ import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
|
||||
import styles from "./page.module.css"
|
||||
|
||||
export default async function LanguageSwitcher() {
|
||||
const data = await serverClient().contentstack.accountPage.languageSwitcher()
|
||||
import { LangParams, PageArgs, UriParams } from "@/types/params"
|
||||
|
||||
export default async function LanguageSwitcher({
|
||||
params,
|
||||
}: PageArgs<LangParams & UriParams>) {
|
||||
const { urls } = await serverClient().contentstack.config.languageSwitcher()
|
||||
|
||||
return (
|
||||
<>
|
||||
<section className={styles.desktop}>
|
||||
<Desktop currentLanguage={data.lang} urls={data.urls} />
|
||||
<Desktop currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
<section className={styles.mobile}>
|
||||
<Mobile currentLanguage={data.lang} urls={data.urls} />
|
||||
<Mobile currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
@@ -1,50 +0,0 @@
|
||||
import { notFound } from "next/navigation"
|
||||
|
||||
import { Lang } from "@/constants/languages"
|
||||
import { serverClient } from "@/lib/trpc/server"
|
||||
|
||||
import Desktop from "@/components/Current/Header/LanguageSwitcher/Desktop"
|
||||
import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
|
||||
import styles from "./page.module.css"
|
||||
|
||||
import {
|
||||
ContentTypeParams,
|
||||
LangParams,
|
||||
PageArgs,
|
||||
UIDParams,
|
||||
} from "@/types/params"
|
||||
import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
|
||||
export default async function LanguageSwitcher({
|
||||
params,
|
||||
}: PageArgs<LangParams & ContentTypeParams & UIDParams, {}>) {
|
||||
let urls: LanguageSwitcherData
|
||||
let lang: Lang
|
||||
switch (params.contentType) {
|
||||
case "loyalty-page":
|
||||
const data =
|
||||
await serverClient().contentstack.loyaltyPage.languageSwitcher()
|
||||
urls = data.urls
|
||||
lang = data.lang
|
||||
break
|
||||
case "content-page":
|
||||
// TODO: Implement this
|
||||
return null
|
||||
default:
|
||||
const type: never = params.contentType
|
||||
console.error(`Unsupported content type given: ${type}`)
|
||||
notFound()
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<section className={styles.desktop}>
|
||||
<Desktop currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
<section className={styles.mobile}>
|
||||
<Mobile currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
.desktop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (min-width: 950px) {
|
||||
.desktop {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,4 @@
|
||||
import { batchRequest } from "@/lib/graphql/batchRequest"
|
||||
import {
|
||||
GetDaDeEnUrlsCurrentBlocksPage,
|
||||
GetFiNoSvUrlsCurrentBlocksPage,
|
||||
} from "@/lib/graphql/Query/LanguageSwitcherCurrent.graphql"
|
||||
import { serverClient } from "@/lib/trpc/server"
|
||||
|
||||
import Desktop from "@/components/Current/Header/LanguageSwitcher/Desktop"
|
||||
import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
@@ -10,7 +6,6 @@ import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
import styles from "./page.module.css"
|
||||
|
||||
import { LangParams, PageArgs, UIDParams, UriParams } from "@/types/params"
|
||||
import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
|
||||
export default async function LanguageSwitcher({
|
||||
params,
|
||||
@@ -20,20 +15,7 @@ export default async function LanguageSwitcher({
|
||||
return null
|
||||
}
|
||||
|
||||
const variables = {
|
||||
uid: searchParams.uid,
|
||||
}
|
||||
|
||||
const { data: urls } = await batchRequest<LanguageSwitcherData>([
|
||||
{
|
||||
document: GetDaDeEnUrlsCurrentBlocksPage,
|
||||
variables,
|
||||
},
|
||||
{
|
||||
document: GetFiNoSvUrlsCurrentBlocksPage,
|
||||
variables,
|
||||
},
|
||||
])
|
||||
const { urls } = await serverClient().contentstack.config.languageSwitcher()
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user