Merged in fix/header-parallel-route (pull request #238)

Static pages sync

Approved-by: Michael Zetterberg
This commit is contained in:
Christel Westerberg
2024-06-18 09:43:01 +00:00
committed by Michael Zetterberg
67 changed files with 759 additions and 278 deletions

View File

@@ -37,9 +37,7 @@ export const accountPageQueryRouter = router({
uid,
},
{
next: {
tags: [generateRefsResponseTag(lang, uid)],
},
tags: [generateRefsResponseTag(lang, uid)],
}
)
@@ -71,7 +69,7 @@ export const accountPageQueryRouter = router({
locale: lang,
uid,
},
{ next: { tags } }
{ tags }
)
if (!response.data) {

View File

@@ -0,0 +1,5 @@
import { z } from "zod"
import { Lang } from "@/constants/languages"
export const langInput = z.object({ lang: z.nativeEnum(Lang) })

View File

@@ -9,10 +9,15 @@ import {
} from "@/lib/graphql/Query/CurrentHeader.graphql"
import { request } from "@/lib/graphql/request"
import { internalServerError, notFound } from "@/server/errors/trpc"
import { contentstackBaseProcedure, router } from "@/server/trpc"
import {
contentstackBaseProcedure,
publicProcedure,
router,
} from "@/server/trpc"
import { generateTag } from "@/utils/generateTag"
import { langInput } from "./input"
import {
type ContactConfigData,
FooterDataRaw,
@@ -47,23 +52,21 @@ export const baseQueryRouter = router({
return validatedContactConfigConfig.data.all_contact_config.items[0]
}),
header: contentstackBaseProcedure.query(async ({ ctx }) => {
header: publicProcedure.input(langInput).query(async ({ input }) => {
const responseRef = await request<HeaderRefDataRaw>(GetCurrentHeaderRef, {
locale: ctx.lang,
locale: input.lang,
})
const response = await request<HeaderDataRaw>(
GetCurrentHeader,
{ locale: ctx.lang },
{ locale: input.lang },
{
next: {
tags: [
generateTag(
ctx.lang,
responseRef.data.all_current_header.items[0].system.uid
),
],
},
tags: [
generateTag(
input.lang,
responseRef.data.all_current_header.items[0].system.uid
),
],
}
)
@@ -88,25 +91,23 @@ export const baseQueryRouter = router({
logo,
} as HeaderData
}),
footer: contentstackBaseProcedure.query(async ({ ctx }) => {
footer: publicProcedure.input(langInput).query(async ({ input }) => {
const responseRef = await request<FooterRefDataRaw>(GetCurrentFooterRef, {
locale: ctx.lang,
locale: input.lang,
})
const response = await request<FooterDataRaw>(
GetCurrentFooter,
{
locale: ctx.lang,
locale: input.lang,
},
{
next: {
tags: [
generateTag(
ctx.lang,
responseRef.data.all_current_footer.items[0].system.uid
),
],
},
tags: [
generateTag(
input.lang,
responseRef.data.all_current_footer.items[0].system.uid
),
],
}
)

View File

@@ -68,9 +68,7 @@ export type Variables = {
export async function getRefsResponse<T>(query: string, variables: Variables) {
const refsResponse = await request<T>(query, variables, {
next: {
tags: [generateRefsResponseTag(variables.locale, variables.url, affix)],
},
tags: [generateRefsResponseTag(variables.locale, variables.url, affix)],
})
if (!refsResponse.data) {
throw notFound(refsResponse)
@@ -91,7 +89,7 @@ export async function getResponse<T>(
variables: Variables,
tags: string[]
) {
const response = await request<T>(query, variables, { next: { tags } })
const response = await request<T>(query, variables, { tags })
if (!response.data) {
throw notFound(response)
}

View File

@@ -1,4 +1,5 @@
import { Lang } from "@/constants/languages"
import { baseUrls } from "@/constants/routes/baseUrls"
import { batchRequest } from "@/lib/graphql/batchRequest"
import {
GetDaDeEnUrlsAccountPage,
@@ -13,7 +14,7 @@ import {
GetFiNoSvUrlsLoyaltyPage,
} from "@/lib/graphql/Query/LoyaltyPage.graphql"
import { internalServerError } from "@/server/errors/trpc"
import { contentstackExtendedProcedureUID, router } from "@/server/trpc"
import { publicProcedure, router } from "@/server/trpc"
import { generateTag } from "@/utils/generateTag"
@@ -91,12 +92,14 @@ async function getLanguageSwitcher(options: LanguageSwitcherVariables) {
}
export const languageSwitcherQueryRouter = router({
get: contentstackExtendedProcedureUID.query(async ({ ctx }) => {
get: publicProcedure.query(async ({ ctx }) => {
if (!ctx.uid || !ctx.lang) {
return { lang: ctx.lang, urls: baseUrls }
}
const res = await getLanguageSwitcher({
contentType: ctx.contentType!,
uid: ctx.uid,
})
const urls = Object.keys(res.data).reduce<LanguageSwitcherData>(
(acc, key) => {
const item = res.data[key as Lang]?.items[0]

View File

@@ -54,9 +54,7 @@ export const loyaltyPageQueryRouter = router({
uid,
},
{
next: {
tags: [generateRefsResponseTag(lang, uid)],
},
tags: [generateRefsResponseTag(lang, uid)],
}
)
@@ -90,7 +88,7 @@ export const loyaltyPageQueryRouter = router({
locale: lang,
uid,
},
{ next: { tags } }
{ tags }
)
if (!response.data) {

View File

@@ -60,9 +60,7 @@ export const navigationQueryRouter = router({
GetNavigationMyPagesRefs,
{ locale: lang },
{
next: {
tags: [generateRefsResponseTag(lang, "navigation_my_pages")],
},
tags: [generateRefsResponseTag(lang, "navigation_my_pages")],
}
)
@@ -90,7 +88,7 @@ export const navigationQueryRouter = router({
const response = await request<GetNavigationMyPagesData>(
GetNavigationMyPages,
{ locale: lang },
{ next: { tags } }
{ tags }
)
if (!response.data) {

View File

@@ -2,11 +2,7 @@ import { initTRPC } from "@trpc/server"
import { env } from "@/env/server"
import {
badRequestError,
sessionExpiredError,
unauthorizedError,
} from "./errors/trpc"
import { badRequestError, sessionExpiredError } from "./errors/trpc"
import { transformer } from "./transformer"
import type { Meta } from "@/types/trpc/meta"