chore: change account page breadcrumbs to same structure as loyalty page

This commit is contained in:
Matilda Landström
2024-05-27 11:54:56 +02:00
parent ed2fe5b30e
commit ca5120d3e3
6 changed files with 92 additions and 76 deletions

View File

@@ -1,4 +1,5 @@
fragment AccountPageBreadcrumbs on AccountPage {
web {
breadcrumbs {
title
parentsConnection {
@@ -18,6 +19,7 @@ fragment AccountPageBreadcrumbs on AccountPage {
}
}
}
}
}
fragment LoyaltyPageBreadcrumbs on LoyaltyPage {

View File

@@ -1,11 +1,16 @@
#import "./System.graphql"
fragment AccountPageBreadcrumbsRefs on AccountPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on AccountPage {
breadcrumbs {
title
}
system {
...System
}
@@ -14,6 +19,7 @@ fragment AccountPageBreadcrumbsRefs on AccountPage {
}
}
}
}
system {
...System
}

View File

@@ -6,6 +6,7 @@ export const validateBreadcrumbsRefsConstenstackSchema = z.object({
all_account_page: z.object({
items: z.array(
z.object({
web: z.object({
breadcrumbs: z.object({
parentsConnection: z.object({
edges: z.array(
@@ -20,6 +21,7 @@ export const validateBreadcrumbsRefsConstenstackSchema = z.object({
),
}),
}),
}),
system: z.object({
content_type_uid: z.string(),
uid: z.string(),
@@ -33,6 +35,7 @@ export const validateBreadcrumbsContenstackSchema = z.object({
all_account_page: z.object({
items: z.array(
z.object({
web: z.object({
breadcrumbs: z.object({
title: z.string(),
parentsConnection: z.object({
@@ -52,6 +55,7 @@ export const validateBreadcrumbsContenstackSchema = z.object({
),
}),
}),
}),
system: z.object({
uid: z.string(),
}),

View File

@@ -49,11 +49,11 @@ export const breadcrumbsQueryRouter = router({
},
}
)
console.log([generateRefsResponseTag(ctx.lang, ctx.pathname, affix)])
if (!refsResponse.data) {
throw notFound(refsResponse)
}
console.log(refsResponse)
const validatedRefsData =
validateBreadcrumbsRefsConstenstackSchema.safeParse(refsResponse.data)
if (!validatedRefsData.success) {
@@ -82,7 +82,7 @@ export const breadcrumbsQueryRouter = router({
}
const parentBreadcrumbs =
validatedBreadcrumbsData.data.all_account_page.items[0].breadcrumbs.parentsConnection.edges.map(
validatedBreadcrumbsData.data.all_account_page.items[0].web.breadcrumbs.parentsConnection.edges.map(
(breadcrumb) => {
return {
href: removeMultipleSlashes(
@@ -97,11 +97,11 @@ export const breadcrumbsQueryRouter = router({
const pageBreadcrumb =
validatedBreadcrumbsData.data.all_account_page.items.map((breadcrumb) => {
return {
title: breadcrumb.breadcrumbs.title,
title: breadcrumb.web.breadcrumbs.title,
uid: breadcrumb.system.uid,
}
})
console.log(pageBreadcrumb)
const breadcrumbs = [
homeBreadcrumbs[ctx.lang],
parentBreadcrumbs,
@@ -126,7 +126,7 @@ export const breadcrumbsQueryRouter = router({
}
)
console.log(ctx.pathname)
console.log(refsResponse.data.all_loyalty_page)
console.log(refsResponse)
if (!refsResponse.data) {
throw notFound(refsResponse)
}
@@ -161,7 +161,7 @@ export const breadcrumbsQueryRouter = router({
if (!validatedBreadcrumbsData.success) {
throw internalServerError(validatedBreadcrumbsData.error)
}
console.log(validatedBreadcrumbsData)
const parentBreadcrumbs =
validatedBreadcrumbsData.data.all_loyalty_page.items[0].web.breadcrumbs.parentsConnection.edges.map(
(breadcrumb) => {
@@ -182,18 +182,18 @@ export const breadcrumbsQueryRouter = router({
uid: breadcrumb.system.uid,
}
})
const breadcrumbs = [
homeBreadcrumbs[ctx.lang],
parentBreadcrumbs,
pageBreadcrumb,
].flat()
console.log(breadcrumbs)
const validatedBreadcrumbs = getBreadcrumbsSchema.safeParse(breadcrumbs)
if (!validatedBreadcrumbs.success) {
throw internalServerError(validatedBreadcrumbs.error)
}
console.log(validatedBreadcrumbs.data)
return validatedBreadcrumbs.data
}),
})

View File

@@ -10,9 +10,9 @@ import type { NodeRefs } from "@/types/requests/utils/refs"
export function getConnections(refs: GetAccountPageBreadcrumbsRefsData) {
const connections: Edges<NodeRefs>[] = []
refs.all_account_page.items.forEach((ref) => {
console.log(ref)
console.log(ref.breadcrumbs.parentsConnection)
connections.push(ref.breadcrumbs.parentsConnection)
console.log(ref.web.breadcrumbs)
console.log(ref.web.breadcrumbs.parentsConnection)
connections.push(ref.web.breadcrumbs.parentsConnection)
})
return connections

View File

@@ -5,6 +5,7 @@ import type { AllRequestResponse } from "../utils/all"
import type { Edges } from "../utils/edges"
interface AccountPageBreadcrumbs {
web: {
breadcrumbs: {
title: string
parentsConnection: Edges<{
@@ -21,6 +22,7 @@ interface AccountPageBreadcrumbs {
system: {
uid: string
}
}
}
interface LoyaltyPageBreadcrumbs {
web: {
@@ -58,9 +60,11 @@ export interface GetLoyaltyPageBreadcrumbsData {
}
interface AccountPageBreadcrumbRefs extends System {
web: {
breadcrumbs: {
parentsConnection: Edges<System>
}
}
}
interface LoyaltyPageBreadcrumbRefs extends System {