Files
web/lib/graphql/Query/ContentPage.graphql
2024-09-05 16:33:14 +02:00

371 lines
8.3 KiB
GraphQL

#import "../Fragments/Image.graphql"
#import "../Fragments/Blocks/Card.graphql"
#import "../Fragments/Blocks/LoyaltyCard.graphql"
#import "../Fragments/Blocks/Refs/Card.graphql"
#import "../Fragments/Blocks/Refs/LoyaltyCard.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/Refs/MyPages/AccountPage.graphql"
#import "../Fragments/Refs/ContentPage/ContentPage.graphql"
#import "../Fragments/Refs/LoyaltyPage/LoyaltyPage.graphql"
#import "../Fragments/Refs/System.graphql"
query GetContentPage($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
blocks {
... on ContentPageBlocksContent {
__typename
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...LoyaltyPageLink
...ContentPageLink
...AccountPageLink
# TODO: Link HotelPage
# ...Image
# ... on ImageContainer {
# title
# image_left
# image_right
# system {
# uid
# }
# }
}
}
totalCount
}
json
}
}
}
... on ContentPageBlocksShortcuts {
__typename
shortcuts {
title
preamble
shortcuts {
open_in_new_tab
text
linkConnection {
totalCount
edges {
node {
...LoyaltyPageLink
...ContentPageLink
...AccountPageLink
}
}
}
}
}
}
... on ContentPageBlocksCardsGrid {
__typename
cards_grid {
title
preamble
layout
theme
cardConnection(limit: 10) {
edges {
node {
__typename
...CardBlock
...LoyaltyCardBlock
}
}
}
}
}
... on ContentPageBlocksDynamicContent {
__typename
dynamic_content {
title
subtitle
component
link {
text
pageConnection {
edges {
node {
# TODO: Link HotelPage
...ContentPageLink
...LoyaltyPageLink
}
}
totalCount
}
}
}
}
}
title
header {
heading
preamble
}
hero_image
sidebar {
__typename
... on ContentPageSidebarDynamicContent {
dynamic_content {
component
}
}
... on ContentPageSidebarJoinLoyaltyContact {
join_loyalty_contact {
title
preamble
button {
cta_text
external_link {
title
href
}
open_in_new_tab
linkConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
contact {
... on ContentPageSidebarJoinLoyaltyContactBlockContactContact {
__typename
contact {
display_text
contact_field
footnote
}
}
}
}
}
... on ContentPageSidebarContent {
content {
content {
json
embedded_itemsConnection {
edges {
node {
__typename
...Image
...LoyaltyPageLink
...ContentPageLink
}
}
totalCount
}
}
}
}
}
system {
uid
created_at
updated_at
locale
}
}
}
query GetContentPageRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
blocks {
... on ContentPageBlocksContent {
__typename
content {
content {
embedded_itemsConnection {
edges {
node {
# No fragments used since we want to include __typename for each type to avoid fetching SystemAsset
... on ContentPage {
__typename
system {
...System
}
}
... on LoyaltyPage {
__typename
system {
...System
}
}
... on AccountPage {
__typename
system {
...System
}
}
}
}
}
}
}
}
... on ContentPageBlocksShortcuts {
__typename
shortcuts {
shortcuts {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
}
... on ContentPageBlocksCardsGrid {
__typename
cards_grid {
cardConnection(limit: 10) {
edges {
node {
...CardBlockRef
...LoyaltyCardBlockRef
}
}
}
}
}
... on ContentPageBlocksDynamicContent {
__typename
dynamic_content {
link {
pageConnection {
edges {
node {
__typename
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
}
}
sidebar {
... on ContentPageSidebarContent {
__typename
content {
content {
embedded_itemsConnection {
edges {
node {
# No fragments used since we want to include __typename for each type to avoid fetching SystemAsset
... on ContentPage {
__typename
system {
...System
}
}
... on LoyaltyPage {
__typename
system {
...System
}
}
}
}
}
}
}
}
... on ContentPageSidebarJoinLoyaltyContact {
__typename
join_loyalty_contact {
button {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
}
}
system {
...System
}
}
}
query GetDaDeEnUrlsContentPage($uid: String!) {
de: all_content_page(where: { uid: $uid }, locale: "de") {
items {
web {
original_url
}
url
}
}
en: all_content_page(where: { uid: $uid }, locale: "en") {
items {
web {
original_url
}
url
}
}
da: all_content_page(where: { uid: $uid }, locale: "da") {
items {
web {
original_url
}
url
}
}
}
query GetFiNoSvUrlsContentPage($uid: String!) {
fi: all_content_page(where: { uid: $uid }, locale: "fi") {
items {
web {
original_url
}
url
}
}
no: all_content_page(where: { uid: $uid }, locale: "no") {
items {
web {
original_url
}
url
}
}
sv: all_content_page(where: { uid: $uid }, locale: "sv") {
items {
web {
original_url
}
url
}
}
}