feat(WEB-304): remaning UI from design system primitives

This commit is contained in:
Simon Emanuelsson
2024-06-07 10:36:23 +02:00
parent 6737970f54
commit 7c4b8401e9
228 changed files with 3516 additions and 3237 deletions

View File

@@ -11,4 +11,4 @@
padding-left: var(--Spacing-x0);
padding-right: var(--Spacing-x0);
}
}
}

View File

@@ -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);
}
}

View File

@@ -0,0 +1 @@
export { default } from "../page"

View File

@@ -0,0 +1,5 @@
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
export default function PageBreadcrumbs() {
return <Breadcrumbs />
}

View File

@@ -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;
}

View File

@@ -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>
)
}

View File

@@ -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}`)

View 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} />
</>
)
}

View File

@@ -1,17 +0,0 @@
.desktop {
display: none;
}
.mobile {
display: block;
}
@media (min-width: 950px) {
.desktop {
display: block;
}
.mobile {
display: none;
}
}

View File

@@ -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>
</>
)
}

View File

@@ -1,3 +1,3 @@
export default async function LanguageSwitcher() {
export default async function DefaultLanguageSwitcher() {
return null
}

View File

@@ -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;
}

View File

@@ -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} />
</>
)
}

View File

@@ -0,0 +1,3 @@
export default function DefaultLanguageSwitcher() {
return null
}

View File

@@ -1,17 +0,0 @@
.desktop {
display: none;
}
.mobile {
display: block;
}
@media (min-width: 950px) {
.desktop {
display: block;
}
.mobile {
display: none;
}
}

View File

@@ -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>
</>
)
}

View File

@@ -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,

View File

@@ -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 {