From 674c22c9aa678a9816d17ec1f538eb1423b9d6ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilda=20Landstr=C3=B6m?= Date: Thu, 5 Dec 2024 16:13:05 +0100 Subject: [PATCH] chore(SW-872): add breadcrumbs to hotel pages --- .../Fragments/Breadcrumbs/Breadcrumbs.graphql | 3 ++ .../Fragments/Breadcrumbs/HotelPage.graphql | 24 ++++++++++++++++ .../Query/Breadcrumbs/HotelPage.graphql | 28 +++++++++++++++++++ .../routers/contentstack/breadcrumbs/query.ts | 15 ++++++++++ 4 files changed, 70 insertions(+) create mode 100644 lib/graphql/Fragments/Breadcrumbs/HotelPage.graphql create mode 100644 lib/graphql/Query/Breadcrumbs/HotelPage.graphql diff --git a/lib/graphql/Fragments/Breadcrumbs/Breadcrumbs.graphql b/lib/graphql/Fragments/Breadcrumbs/Breadcrumbs.graphql index 26efd5704..fdc5d2730 100644 --- a/lib/graphql/Fragments/Breadcrumbs/Breadcrumbs.graphql +++ b/lib/graphql/Fragments/Breadcrumbs/Breadcrumbs.graphql @@ -1,6 +1,7 @@ #import "./AccountPage.graphql" #import "./CollectionPage.graphql" #import "./ContentPage.graphql" +#import "./HotelPage.graphql" #import "./LoyaltyPage.graphql" fragment Breadcrumbs on Breadcrumbs { @@ -12,6 +13,7 @@ fragment Breadcrumbs on Breadcrumbs { ...AccountPageBreadcrumb ...CollectionPageBreadcrumb ...ContentPageBreadcrumb + ...HotelPageBreadcrumb ...LoyaltyPageBreadcrumb } } @@ -27,6 +29,7 @@ fragment BreadcrumbsRefs on Breadcrumbs { ...AccountPageBreadcrumbRef ...CollectionPageBreadcrumbRef ...ContentPageBreadcrumbRef + ...HotelPageBreadcrumbRef ...LoyaltyPageBreadcrumbRef } } diff --git a/lib/graphql/Fragments/Breadcrumbs/HotelPage.graphql b/lib/graphql/Fragments/Breadcrumbs/HotelPage.graphql new file mode 100644 index 000000000..1e20f3513 --- /dev/null +++ b/lib/graphql/Fragments/Breadcrumbs/HotelPage.graphql @@ -0,0 +1,24 @@ +#import "../System.graphql" + +fragment HotelPageBreadcrumb on HotelPage { + web { + breadcrumbs { + title + } + } + system { + ...System + } + url +} + +fragment HotelPageBreadcrumbRef on HotelPage { + web { + breadcrumbs { + title + } + } + system { + ...System + } +} diff --git a/lib/graphql/Query/Breadcrumbs/HotelPage.graphql b/lib/graphql/Query/Breadcrumbs/HotelPage.graphql new file mode 100644 index 000000000..14e53309b --- /dev/null +++ b/lib/graphql/Query/Breadcrumbs/HotelPage.graphql @@ -0,0 +1,28 @@ +#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql" +#import "../../Fragments/System.graphql" + +query GetHotelPageBreadcrumbs($locale: String!, $uid: String!) { + hotel_page(locale: $locale, uid: $uid) { + web { + breadcrumbs { + ...Breadcrumbs + } + } + system { + ...System + } + } +} + +query GetHotelPageBreadcrumbsRefs($locale: String!, $uid: String!) { + hotel_page(locale: $locale, uid: $uid) { + web { + breadcrumbs { + ...BreadcrumbsRefs + } + } + system { + ...System + } + } +} diff --git a/server/routers/contentstack/breadcrumbs/query.ts b/server/routers/contentstack/breadcrumbs/query.ts index 4d6e24a0c..3315eea91 100644 --- a/server/routers/contentstack/breadcrumbs/query.ts +++ b/server/routers/contentstack/breadcrumbs/query.ts @@ -13,6 +13,10 @@ import { GetContentPageBreadcrumbs, GetContentPageBreadcrumbsRefs, } from "@/lib/graphql/Query/Breadcrumbs/ContentPage.graphql" +import { + GetHotelPageBreadcrumbs, + GetHotelPageBreadcrumbsRefs, +} from "@/lib/graphql/Query/Breadcrumbs/HotelPage.graphql" import { GetLoyaltyPageBreadcrumbs, GetLoyaltyPageBreadcrumbsRefs, @@ -199,6 +203,17 @@ export const breadcrumbsQueryRouter = router({ }, variables ) + case PageTypeEnum.hotelPage: + return await getBreadcrumbs<{ + hotel_page: RawBreadcrumbsSchema + }>( + { + dataKey: "hotel_page", + refQuery: GetHotelPageBreadcrumbsRefs, + query: GetHotelPageBreadcrumbs, + }, + variables + ) case PageTypeEnum.loyaltyPage: return await getBreadcrumbs<{ loyalty_page: RawBreadcrumbsSchema