feat(SW-2264): Added campaign overview page

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-06-19 15:19:56 +00:00
parent 3c4ff0a792
commit 891108791c
42 changed files with 743 additions and 86 deletions

View File

@@ -0,0 +1,70 @@
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/CampaignOverviewPageLink.graphql"
#import "../PageLink/CampaignPageLink.graphql"
#import "../PageLink/CollectionPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/DestinationCityPageLink.graphql"
#import "../PageLink/DestinationCountryPageLink.graphql"
#import "../PageLink/DestinationOverviewPageLink.graphql"
#import "../PageLink/HotelPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
#import "../PageLink/StartPageLink.graphql"
#import "../AccountPage/Ref.graphql"
#import "../CampaignOverviewPage/Ref.graphql"
#import "../CampaignPage/Ref.graphql"
#import "../CollectionPage/Ref.graphql"
#import "../ContentPage/Ref.graphql"
#import "../DestinationCityPage/Ref.graphql"
#import "../DestinationCountryPage/Ref.graphql"
#import "../DestinationOverviewPage/Ref.graphql"
#import "../HotelPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../StartPage/Ref.graphql"
fragment NavigationLinks_CampaignOverviewPage on CampaignOverviewPageHeader {
navigation_links {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignOverviewPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
fragment NavigationLinksRef_CampaignOverviewPage on CampaignOverviewPageHeader {
navigation_links {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignOverviewPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}

View File

@@ -0,0 +1,7 @@
#import "../System.graphql"
fragment CampaignOverviewPageRef on CampaignOverviewPage {
system {
...System
}
}

View File

@@ -0,0 +1,9 @@
#import "../System.graphql"
fragment CampaignOverviewPageLink on CampaignOverviewPage {
title
url
system {
...System
}
}

View File

@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignOverviewPageBreadcrumbs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetCampaignOverviewPageBreadcrumbsRefs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,57 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/CampaignOverviewPage/NavigationLinks.graphql"
query GetCampaignOverviewPage($locale: String!, $uid: String!) {
campaign_overview_page(uid: $uid, locale: $locale) {
title
header {
heading
preamble
...NavigationLinks_CampaignOverviewPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: campaign_overview_page(locale: "en", uid: $uid) {
url
}
}
query GetCampaignOverviewPageRefs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
header {
...NavigationLinksRef_CampaignOverviewPage
}
system {
...System
}
}
}
query GetDaDeEnUrlsCampaignOverviewPage($uid: String!) {
de: campaign_overview_page(locale: "de", uid: $uid) {
url
}
en: campaign_overview_page(locale: "en", uid: $uid) {
url
}
da: campaign_overview_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsCampaignOverviewPage($uid: String!) {
fi: campaign_overview_page(locale: "fi", uid: $uid) {
url
}
no: campaign_overview_page(locale: "no", uid: $uid) {
url
}
sv: campaign_overview_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,22 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignOverviewPageMetadata($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
header {
heading
preamble
}
system {
...System
}
}
}

View File

@@ -8,6 +8,14 @@ query GetAccountPageSettings($uid: String!, $locale: String!) {
}
}
query GetCampaignOverviewPageSettings($uid: String!, $locale: String!) {
page: campaign_overview_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCampaignPageSettings($uid: String!, $locale: String!) {
page: campaign_page(uid: $uid, locale: $locale) {
settings: page_settings {

View File

@@ -92,4 +92,12 @@ query EntryByUrlBatch2($locale: String!, $url: String!) {
}
total
}
all_campaign_overview_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
}

View File

@@ -422,3 +422,10 @@ export const getCampaignPage = cache(async function getMemoizedCampaignPage() {
const caller = await serverClient()
return caller.contentstack.campaignPage.get()
})
export const getCampaignOverviewPage = cache(
async function getMemoizedCampaignOverviewPage() {
const caller = await serverClient()
return caller.contentstack.campaignOverviewPage.get()
}
)