chore: change account page breadcrumbs to same structure as loyalty page
This commit is contained in:
@@ -1,18 +1,20 @@
|
|||||||
fragment AccountPageBreadcrumbs on AccountPage {
|
fragment AccountPageBreadcrumbs on AccountPage {
|
||||||
breadcrumbs {
|
web {
|
||||||
title
|
breadcrumbs {
|
||||||
parentsConnection {
|
title
|
||||||
edges {
|
parentsConnection {
|
||||||
node {
|
edges {
|
||||||
... on AccountPage {
|
node {
|
||||||
breadcrumbs {
|
... on AccountPage {
|
||||||
title
|
breadcrumbs {
|
||||||
|
title
|
||||||
|
}
|
||||||
|
system {
|
||||||
|
locale
|
||||||
|
uid
|
||||||
|
}
|
||||||
|
url
|
||||||
}
|
}
|
||||||
system {
|
|
||||||
locale
|
|
||||||
uid
|
|
||||||
}
|
|
||||||
url
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
#import "./System.graphql"
|
#import "./System.graphql"
|
||||||
|
|
||||||
fragment AccountPageBreadcrumbsRefs on AccountPage {
|
fragment AccountPageBreadcrumbsRefs on AccountPage {
|
||||||
breadcrumbs {
|
web {
|
||||||
parentsConnection {
|
breadcrumbs {
|
||||||
edges {
|
title
|
||||||
node {
|
parentsConnection {
|
||||||
... on AccountPage {
|
edges {
|
||||||
system {
|
node {
|
||||||
...System
|
... on AccountPage {
|
||||||
|
breadcrumbs {
|
||||||
|
title
|
||||||
|
}
|
||||||
|
system {
|
||||||
|
...System
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,18 +6,20 @@ export const validateBreadcrumbsRefsConstenstackSchema = z.object({
|
|||||||
all_account_page: z.object({
|
all_account_page: z.object({
|
||||||
items: z.array(
|
items: z.array(
|
||||||
z.object({
|
z.object({
|
||||||
breadcrumbs: z.object({
|
web: z.object({
|
||||||
parentsConnection: z.object({
|
breadcrumbs: z.object({
|
||||||
edges: z.array(
|
parentsConnection: z.object({
|
||||||
z.object({
|
edges: z.array(
|
||||||
node: z.object({
|
z.object({
|
||||||
system: z.object({
|
node: z.object({
|
||||||
content_type_uid: z.string(),
|
system: z.object({
|
||||||
uid: z.string(),
|
content_type_uid: z.string(),
|
||||||
|
uid: z.string(),
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
}),
|
})
|
||||||
})
|
),
|
||||||
),
|
}),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
system: z.object({
|
system: z.object({
|
||||||
@@ -33,23 +35,25 @@ export const validateBreadcrumbsContenstackSchema = z.object({
|
|||||||
all_account_page: z.object({
|
all_account_page: z.object({
|
||||||
items: z.array(
|
items: z.array(
|
||||||
z.object({
|
z.object({
|
||||||
breadcrumbs: z.object({
|
web: z.object({
|
||||||
title: z.string(),
|
breadcrumbs: z.object({
|
||||||
parentsConnection: z.object({
|
title: z.string(),
|
||||||
edges: z.array(
|
parentsConnection: z.object({
|
||||||
z.object({
|
edges: z.array(
|
||||||
node: z.object({
|
z.object({
|
||||||
breadcrumbs: z.object({
|
node: z.object({
|
||||||
title: z.string(),
|
breadcrumbs: z.object({
|
||||||
|
title: z.string(),
|
||||||
|
}),
|
||||||
|
system: z.object({
|
||||||
|
locale: z.nativeEnum(Lang),
|
||||||
|
uid: z.string(),
|
||||||
|
}),
|
||||||
|
url: z.string(),
|
||||||
}),
|
}),
|
||||||
system: z.object({
|
})
|
||||||
locale: z.nativeEnum(Lang),
|
),
|
||||||
uid: z.string(),
|
}),
|
||||||
}),
|
|
||||||
url: z.string(),
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
),
|
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
system: z.object({
|
system: z.object({
|
||||||
|
|||||||
@@ -49,11 +49,11 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
console.log([generateRefsResponseTag(ctx.lang, ctx.pathname, affix)])
|
||||||
if (!refsResponse.data) {
|
if (!refsResponse.data) {
|
||||||
throw notFound(refsResponse)
|
throw notFound(refsResponse)
|
||||||
}
|
}
|
||||||
|
console.log(refsResponse)
|
||||||
const validatedRefsData =
|
const validatedRefsData =
|
||||||
validateBreadcrumbsRefsConstenstackSchema.safeParse(refsResponse.data)
|
validateBreadcrumbsRefsConstenstackSchema.safeParse(refsResponse.data)
|
||||||
if (!validatedRefsData.success) {
|
if (!validatedRefsData.success) {
|
||||||
@@ -82,7 +82,7 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const parentBreadcrumbs =
|
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) => {
|
(breadcrumb) => {
|
||||||
return {
|
return {
|
||||||
href: removeMultipleSlashes(
|
href: removeMultipleSlashes(
|
||||||
@@ -97,11 +97,11 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
const pageBreadcrumb =
|
const pageBreadcrumb =
|
||||||
validatedBreadcrumbsData.data.all_account_page.items.map((breadcrumb) => {
|
validatedBreadcrumbsData.data.all_account_page.items.map((breadcrumb) => {
|
||||||
return {
|
return {
|
||||||
title: breadcrumb.breadcrumbs.title,
|
title: breadcrumb.web.breadcrumbs.title,
|
||||||
uid: breadcrumb.system.uid,
|
uid: breadcrumb.system.uid,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log(pageBreadcrumb)
|
||||||
const breadcrumbs = [
|
const breadcrumbs = [
|
||||||
homeBreadcrumbs[ctx.lang],
|
homeBreadcrumbs[ctx.lang],
|
||||||
parentBreadcrumbs,
|
parentBreadcrumbs,
|
||||||
@@ -126,7 +126,7 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
console.log(ctx.pathname)
|
console.log(ctx.pathname)
|
||||||
console.log(refsResponse.data.all_loyalty_page)
|
console.log(refsResponse)
|
||||||
if (!refsResponse.data) {
|
if (!refsResponse.data) {
|
||||||
throw notFound(refsResponse)
|
throw notFound(refsResponse)
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
if (!validatedBreadcrumbsData.success) {
|
if (!validatedBreadcrumbsData.success) {
|
||||||
throw internalServerError(validatedBreadcrumbsData.error)
|
throw internalServerError(validatedBreadcrumbsData.error)
|
||||||
}
|
}
|
||||||
|
console.log(validatedBreadcrumbsData)
|
||||||
const parentBreadcrumbs =
|
const parentBreadcrumbs =
|
||||||
validatedBreadcrumbsData.data.all_loyalty_page.items[0].web.breadcrumbs.parentsConnection.edges.map(
|
validatedBreadcrumbsData.data.all_loyalty_page.items[0].web.breadcrumbs.parentsConnection.edges.map(
|
||||||
(breadcrumb) => {
|
(breadcrumb) => {
|
||||||
@@ -182,18 +182,18 @@ export const breadcrumbsQueryRouter = router({
|
|||||||
uid: breadcrumb.system.uid,
|
uid: breadcrumb.system.uid,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const breadcrumbs = [
|
const breadcrumbs = [
|
||||||
homeBreadcrumbs[ctx.lang],
|
homeBreadcrumbs[ctx.lang],
|
||||||
parentBreadcrumbs,
|
parentBreadcrumbs,
|
||||||
pageBreadcrumb,
|
pageBreadcrumb,
|
||||||
].flat()
|
].flat()
|
||||||
|
console.log(breadcrumbs)
|
||||||
|
|
||||||
const validatedBreadcrumbs = getBreadcrumbsSchema.safeParse(breadcrumbs)
|
const validatedBreadcrumbs = getBreadcrumbsSchema.safeParse(breadcrumbs)
|
||||||
if (!validatedBreadcrumbs.success) {
|
if (!validatedBreadcrumbs.success) {
|
||||||
throw internalServerError(validatedBreadcrumbs.error)
|
throw internalServerError(validatedBreadcrumbs.error)
|
||||||
}
|
}
|
||||||
|
console.log(validatedBreadcrumbs.data)
|
||||||
return validatedBreadcrumbs.data
|
return validatedBreadcrumbs.data
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import type { NodeRefs } from "@/types/requests/utils/refs"
|
|||||||
export function getConnections(refs: GetAccountPageBreadcrumbsRefsData) {
|
export function getConnections(refs: GetAccountPageBreadcrumbsRefsData) {
|
||||||
const connections: Edges<NodeRefs>[] = []
|
const connections: Edges<NodeRefs>[] = []
|
||||||
refs.all_account_page.items.forEach((ref) => {
|
refs.all_account_page.items.forEach((ref) => {
|
||||||
console.log(ref)
|
console.log(ref.web.breadcrumbs)
|
||||||
console.log(ref.breadcrumbs.parentsConnection)
|
console.log(ref.web.breadcrumbs.parentsConnection)
|
||||||
connections.push(ref.breadcrumbs.parentsConnection)
|
connections.push(ref.web.breadcrumbs.parentsConnection)
|
||||||
})
|
})
|
||||||
|
|
||||||
return connections
|
return connections
|
||||||
|
|||||||
@@ -5,21 +5,23 @@ import type { AllRequestResponse } from "../utils/all"
|
|||||||
import type { Edges } from "../utils/edges"
|
import type { Edges } from "../utils/edges"
|
||||||
|
|
||||||
interface AccountPageBreadcrumbs {
|
interface AccountPageBreadcrumbs {
|
||||||
breadcrumbs: {
|
web: {
|
||||||
title: string
|
breadcrumbs: {
|
||||||
parentsConnection: Edges<{
|
title: string
|
||||||
breadcrumbs: {
|
parentsConnection: Edges<{
|
||||||
title: string
|
breadcrumbs: {
|
||||||
}
|
title: string
|
||||||
system: {
|
}
|
||||||
locale: Lang
|
system: {
|
||||||
uid: string
|
locale: Lang
|
||||||
}
|
uid: string
|
||||||
url: string
|
}
|
||||||
}>
|
url: string
|
||||||
}
|
}>
|
||||||
system: {
|
}
|
||||||
uid: string
|
system: {
|
||||||
|
uid: string
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
interface LoyaltyPageBreadcrumbs {
|
interface LoyaltyPageBreadcrumbs {
|
||||||
@@ -58,8 +60,10 @@ export interface GetLoyaltyPageBreadcrumbsData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface AccountPageBreadcrumbRefs extends System {
|
interface AccountPageBreadcrumbRefs extends System {
|
||||||
breadcrumbs: {
|
web: {
|
||||||
parentsConnection: Edges<System>
|
breadcrumbs: {
|
||||||
|
parentsConnection: Edges<System>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user