feat(WEB-304): remaning UI from design system primitives
This commit is contained in:
@@ -11,4 +11,4 @@
|
||||
padding-left: var(--Spacing-x0);
|
||||
padding-right: var(--Spacing-x0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
.layout {
|
||||
--header-height: 4.5rem;
|
||||
|
||||
background-color: var(--Scandic-Brand-Warm-White);
|
||||
background-color: var(--Scandic-Brand-Pale-Peach);
|
||||
display: grid;
|
||||
font-family: var(--typography-Body-Regular-fontFamily);
|
||||
gap: var(--Spacing-x3);
|
||||
@@ -19,9 +17,9 @@
|
||||
|
||||
@media screen and (min-width: 1367px) {
|
||||
.content {
|
||||
gap: var(--Spacing-x9);
|
||||
grid-template-columns: 25rem 1fr;
|
||||
padding-left: var(--Spacing-x3);
|
||||
padding-right: var(--Spacing-x3);
|
||||
gap: var(--Spacing-x5);
|
||||
grid-template-columns: max(360px) 1fr;
|
||||
padding-left: var(--Spacing-x5);
|
||||
padding-right: var(--Spacing-x5);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from "../page"
|
||||
@@ -0,0 +1,5 @@
|
||||
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||
|
||||
export default function PageBreadcrumbs() {
|
||||
return <Breadcrumbs />
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
.layout {
|
||||
--header-height: 4.5rem;
|
||||
|
||||
background-color: var(--Scandic-Brand-Warm-White);
|
||||
display: grid;
|
||||
font-family: var(--typography-Body-Regular-fontFamily);
|
||||
grid-template-rows: var(--header-height) auto 1fr;
|
||||
gap: var(--Spacing-x5);
|
||||
grid-template-rows: auto 1fr;
|
||||
}
|
||||
|
||||
@@ -8,9 +8,17 @@ import {
|
||||
} from "@/types/params"
|
||||
|
||||
export default function ContentTypeLayout({
|
||||
breadcrumbs,
|
||||
children,
|
||||
}: React.PropsWithChildren<
|
||||
LayoutArgs<LangParams & ContentTypeParams & UIDParams>
|
||||
LayoutArgs<LangParams & ContentTypeParams & UIDParams> & {
|
||||
breadcrumbs: React.ReactNode
|
||||
}
|
||||
>) {
|
||||
return <section className={styles.layout}>{children}</section>
|
||||
return (
|
||||
<section className={styles.layout}>
|
||||
{breadcrumbs}
|
||||
{children}
|
||||
</section>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ export default async function ContentTypePage({
|
||||
case "content-page":
|
||||
return <ContentPage />
|
||||
case "loyalty-page":
|
||||
return <LoyaltyPage />
|
||||
return <LoyaltyPage lang={params.lang} />
|
||||
default:
|
||||
const type: never = params.contentType
|
||||
console.error(`Unsupported content type given: ${type}`)
|
||||
|
||||
14
app/[lang]/(live)/@languageSwitcher/[...paths]/page.tsx
Normal file
14
app/[lang]/(live)/@languageSwitcher/[...paths]/page.tsx
Normal file
@@ -0,0 +1,14 @@
|
||||
import { serverClient } from "@/lib/trpc/server"
|
||||
|
||||
import Desktop from "@/components/Current/Header/LanguageSwitcher/Desktop"
|
||||
import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
|
||||
export default async function LanguageSwitcher() {
|
||||
const data = await serverClient().contentstack.languageSwitcher.get()
|
||||
return (
|
||||
<>
|
||||
<Desktop currentLanguage={data.lang} urls={data.urls} />
|
||||
<Mobile currentLanguage={data.lang} urls={data.urls} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
.desktop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (min-width: 950px) {
|
||||
.desktop {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
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 { 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={params.lang} urls={urls} />
|
||||
</section>
|
||||
<section className={styles.mobile}>
|
||||
<Mobile currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
export default async function LanguageSwitcher() {
|
||||
export default async function DefaultLanguageSwitcher() {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
.layout {
|
||||
--header-height: 4.5rem;
|
||||
|
||||
display: grid;
|
||||
font-family: var(--typography-Body-Regular-fontFamily);
|
||||
grid-template-rows: var(--header-height) auto 1fr;
|
||||
grid-template-rows: auto 1fr;
|
||||
min-height: 100dvh;
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1,14 @@
|
||||
export { default } from "../page"
|
||||
import { serverClient } from "@/lib/trpc/server"
|
||||
|
||||
import Desktop from "@/components/Current/Header/LanguageSwitcher/Desktop"
|
||||
import Mobile from "@/components/Current/Header/LanguageSwitcher/Mobile"
|
||||
|
||||
export default async function LanguageSwitcher() {
|
||||
const data = await serverClient().contentstack.languageSwitcher.get()
|
||||
return (
|
||||
<>
|
||||
<Desktop currentLanguage={data.lang} urls={data.urls} />
|
||||
<Mobile currentLanguage={data.lang} urls={data.urls} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
3
app/[lang]/(live-current)/@languageSwitcher/default.tsx
Normal file
3
app/[lang]/(live-current)/@languageSwitcher/default.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function DefaultLanguageSwitcher() {
|
||||
return null
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
.desktop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (min-width: 950px) {
|
||||
.desktop {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
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 { LangParams, PageArgs, UIDParams, UriParams } from "@/types/params"
|
||||
|
||||
export default async function LanguageSwitcher({
|
||||
params,
|
||||
searchParams,
|
||||
}: PageArgs<LangParams, UriParams & UIDParams>) {
|
||||
if (!searchParams.uid) {
|
||||
return null
|
||||
}
|
||||
|
||||
const { urls } = await serverClient().contentstack.config.languageSwitcher()
|
||||
|
||||
return (
|
||||
<>
|
||||
<section className={styles.desktop}>
|
||||
<Desktop currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
<section className={styles.mobile}>
|
||||
<Mobile currentLanguage={params.lang} urls={urls} />
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import { Lang } from "@/constants/languages"
|
||||
import { env } from "@/env/server"
|
||||
import { internalServerError } from "@/server/errors/next"
|
||||
import { affix as breadcrumbsAffix } from "@/server/routers/contentstack/breadcrumbs/utils"
|
||||
import { languageSwitcherAffix } from "@/server/routers/contentstack/config/utils"
|
||||
import { languageSwitcherAffix } from "@/server/routers/contentstack/languageSwitcher/utils"
|
||||
|
||||
import {
|
||||
generateRefsResponseTag,
|
||||
|
||||
@@ -104,16 +104,15 @@
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
min-height: 100dvh;
|
||||
overflow-x: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
|
||||
Reference in New Issue
Block a user