Feat/SW-3028 hotel page campaigns

* feat(SW-3028): Added query and typings to fetch campaigns by hotelUid
* feat(SW-3028): Added components for campaigns to the hotel page
* feat(SW-3028): Implemented prioritized campaigns list
* chore(SW-3028): Refactor how campaigns are fetched on hotel pages
* feat(SW-3028): Added offers/campaigns to tab navigation

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-08-21 13:00:34 +00:00
parent 456e10c674
commit 2064732e56
22 changed files with 566 additions and 45 deletions

View File

@@ -0,0 +1,45 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/CampaignPage/Hero.graphql"
query GetCampaignPagesByHotelUid($locale: String!, $hotelPageUid: String!) {
all_campaign_page(
where: {
OR: [
{ included_hotels: { list_1: { hotel_page: { uid: $hotelPageUid } } } }
{ included_hotels: { list_2: { hotel_page: { uid: $hotelPageUid } } } }
]
}
locale: $locale
) {
items {
heading
url
card_content {
heading
image
text
}
...Hero_CampaignPage
system {
...System
}
}
}
}
query GetCampaignPagesByHotelUidRefs($locale: String!, $hotelPageUid: String!) {
all_campaign_page(
where: {
OR: [
{ included_hotels: { list_1: { hotel_page: { uid: $hotelPageUid } } } }
{ included_hotels: { list_2: { hotel_page: { uid: $hotelPageUid } } } }
]
}
locale: $locale
) {
items {
...CampaignPageRef
}
}
}

View File

@@ -23,6 +23,21 @@ query GetHotelPage($locale: String!, $uid: String!) {
offers
faq
}
campaigns {
heading
preamble
prioritized_campaignsConnection {
edges {
node {
... on CampaignPage {
system {
uid
}
}
}
}
}
}
faq {
__typename
title