Merged in monorepo-step-1 (pull request #1080)

Migrate to a monorepo setup - step 1

* Move web to subfolder /apps/scandic-web

* Yarn + transitive deps

- Move to yarn
- design-system package removed for now since yarn doesn't
support the parameter for token (ie project currently broken)
- Add missing transitive dependencies as Yarn otherwise
prevents these imports
- VS Code doesn't pick up TS path aliases unless you open
/apps/scandic-web instead of root (will be fixed with monorepo)

* Pin framer-motion to temporarily fix typing issue

https://github.com/adobe/react-spectrum/issues/7494

* Pin zod to avoid typ error

There seems to have been a breaking change in the types
returned by zod where error is now returned as undefined
instead of missing in the type. We should just handle this
but to avoid merge conflicts just pin the dependency for
now.

* Pin react-intl version

Pin version of react-intl to avoid tiny type issue where formatMessage
does not accept a generic any more. This will be fixed in a future
commit, but to avoid merge conflicts just pin for now.

* Pin typescript version

Temporarily pin version as newer versions as stricter and results in
a type error. Will be fixed in future commit after merge.

* Setup workspaces

* Add design-system as a monorepo package

* Remove unused env var DESIGN_SYSTEM_ACCESS_TOKEN

* Fix husky for monorepo setup

* Update netlify.toml

* Add lint script to root package.json

* Add stub readme

* Fix react-intl formatMessage types

* Test netlify.toml in root

* Remove root toml

* Update netlify.toml publish path

* Remove package-lock.json

* Update build for branch/preview builds


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-02-26 10:36:17 +00:00
committed by Linus Flood
parent 667cab6fb6
commit 80100e7631
2731 changed files with 30986 additions and 23708 deletions

View File

@@ -0,0 +1,65 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/TextContent.graphql"
query GetAccountPage($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
heading
preamble
title
url
content {
__typename
...DynamicContent_AccountPage
...Shortcuts_AccountPage
...TextContent_AccountPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: account_page(locale: "en", uid: $uid) {
url
}
}
query GetAccountPageRefs($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
content {
__typename
...DynamicContent_AccountPageRefs
...Shortcuts_AccountPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsAccountPage($uid: String!) {
de: account_page(locale: "de", uid: $uid) {
url
}
en: account_page(locale: "en", uid: $uid) {
url
}
da: account_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsAccountPage($uid: String!) {
fi: account_page(locale: "fi", uid: $uid) {
url
}
no: account_page(locale: "no", uid: $uid) {
url
}
sv: account_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,18 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetAccountPageMetadata($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,81 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetNavigationMyPages($locale: String!) {
all_navigation_my_pages(locale: $locale, limit: 1) {
items {
menu_items {
display_sign_out_link
links {
link_text
page: pageConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
title
}
}
}
query GetNavigationMyPagesRefs($locale: String!) {
all_navigation_my_pages(locale: $locale, limit: 1) {
items {
menu_items {
links {
page: pageConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
system {
...System
}
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,32 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCountryPageBreadcrumbs($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetDestinationCountryPageBreadcrumbsRefs(
$locale: String!
$uid: String!
) {
destination_country_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,32 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationOverviewPageBreadcrumbs($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetDestinationOverviewPageBreadcrumbsRefs(
$locale: String!
$uid: String!
) {
destination_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}

View File

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

View File

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

View File

@@ -0,0 +1,80 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/UspGrid.graphql"
#import "../../Fragments/CollectionPage/NavigationLinks.graphql"
#import "../../Fragments/CollectionPage/TopPrimaryButton.graphql"
query GetCollectionPage($locale: String!, $uid: String!) {
collection_page(uid: $uid, locale: $locale) {
hero_image
title
header {
heading
preamble
...TopPrimaryButton_CollectionPage
...NavigationLinks_CollectionPage
}
blocks {
__typename
...CardsGrid_CollectionPage
...Shortcuts_CollectionPage
...UspGrid_CollectionPage
...DynamicContent_CollectionPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: collection_page(locale: "en", uid: $uid) {
url
}
}
query GetCollectionPageRefs($locale: String!, $uid: String!) {
collection_page(locale: $locale, uid: $uid) {
header {
...TopPrimaryButtonRef_CollectionPage
...NavigationLinksRef_CollectionPage
}
blocks {
__typename
...CardsGrid_CollectionPageRefs
...Shortcuts_CollectionPageRefs
...UspGrid_CollectionPageRefs
...DynamicContent_CollectionPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsCollectionPage($uid: String!) {
de: collection_page(locale: "de", uid: $uid) {
url
}
en: collection_page(locale: "en", uid: $uid) {
url
}
da: collection_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsCollectionPage($uid: String!) {
fi: collection_page(locale: "fi", uid: $uid) {
url
}
no: collection_page(locale: "no", uid: $uid) {
url
}
sv: collection_page(locale: "sv", uid: $uid) {
url
}
}

View File

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

View File

@@ -0,0 +1,39 @@
query GetContactConfig($locale: String!) {
all_contact_config(locale: $locale) {
items {
email {
address
name
}
email_loyalty {
address
name
}
mailing_address {
name
street
zip
country
city
}
phone {
number
name
footnote
}
phone_loyalty {
name
number
footnote
}
title
visiting_address {
country
city
street
zip
}
}
total
}
}

View File

@@ -0,0 +1,137 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/HotelListing.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/Table.graphql"
#import "../../Fragments/Blocks/TextCols.graphql"
#import "../../Fragments/Blocks/UspGrid.graphql"
#import "../../Fragments/ContentPage/NavigationLinks.graphql"
#import "../../Fragments/ContentPage/TopPrimaryButton.graphql"
#import "../../Fragments/Sidebar/Content.graphql"
#import "../../Fragments/Sidebar/DynamicContent.graphql"
#import "../../Fragments/Sidebar/JoinLoyaltyContact.graphql"
#import "../../Fragments/Sidebar/TeaserCard.graphql"
#import "../../Fragments/Sidebar/ScriptedCard.graphql"
#import "../../Fragments/Sidebar/QuickLinks.graphql"
query GetContentPage($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
hero_image
title
header {
heading
preamble
...TopPrimaryButton_ContentPage
...NavigationLinks_ContentPage
}
blocks {
__typename
}
sidebar {
__typename
...ContentSidebar_ContentPage
...DynamicContentSidebar_ContentPage
...JoinLoyaltyContactSidebar_ContentPage
...ScriptedCardSidebar_ContentPage
...TeaserCardSidebar_ContentPage
...QuickLinksSidebar_ContentPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: content_page(locale: "en", uid: $uid) {
url
}
}
query GetContentPageBlocksBatch1($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
blocks {
__typename
...Accordion_ContentPage
...CardsGrid_ContentPage
...Content_ContentPage
...DynamicContent_ContentPage
}
}
}
query GetContentPageBlocksBatch2($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
blocks {
__typename
...HotelListing_ContentPage
...Shortcuts_ContentPage
...Table_ContentPage
...TextCols_ContentPage
...UspGrid_ContentPage
}
}
}
query GetContentPageRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
header {
...NavigationLinksRef_ContentPage
...TopPrimaryButtonRef_ContentPage
}
sidebar {
__typename
...ContentSidebar_ContentPageRefs
...JoinLoyaltyContactSidebar_ContentPageRefs
...ScriptedCardSidebar_ContentPageRefs
...TeaserCardSidebar_ContentPageRefs
...QuickLinksSidebar_ContentPageRefs
}
system {
...System
}
}
}
query GetContentPageBlocksRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
blocks {
__typename
...Accordion_ContentPageRefs
...CardsGrid_ContentPageRefs
...Content_ContentPageRefs
...DynamicContent_ContentPageRefs
...Shortcuts_ContentPageRefs
...TextCols_ContentPageRef
...UspGrid_ContentPageRefs
}
}
}
query GetDaDeEnUrlsContentPage($uid: String!) {
de: content_page(locale: "de", uid: $uid) {
url
}
en: content_page(locale: "en", uid: $uid) {
url
}
da: content_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsContentPage($uid: String!) {
fi: content_page(locale: "fi", uid: $uid) {
url
}
no: content_page(locale: "no", uid: $uid) {
url
}
sv: content_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,32 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetContentPageMetadata($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
header {
heading
preamble
}
hero_image
blocks {
... on ContentPageBlocksContent {
content {
content {
json
}
}
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,39 @@
#import "../../Fragments/Aside/Contact.graphql"
#import "../../Fragments/Aside/Puff.graphql"
#import "../../Fragments/Blocks/List.graphql"
#import "../../Fragments/Blocks/Puff.graphql"
#import "../../Fragments/Blocks/Text.graphql"
#import "../../Fragments/Breadcrumbs/CurrentBlocksPage.graphql"
#import "../../Fragments/Hero.graphql"
#import "../../Fragments/Preamble.graphql"
query GetCurrentBlockPage($locale: String!, $url: String!) {
all_current_blocks_page(limit: 1, locale: $locale, where: { url: $url }) {
items {
aside {
__typename
...ContactAside
...PuffAside
}
blocks {
__typename
...ListBlock
...PuffBlock
...TextBlock
}
...CurrentBlocksPageBreadcrumbs
hero {
...Hero
}
...Preamble
system {
created_at
uid
updated_at
}
title
url
}
total
}
}

View File

@@ -0,0 +1,5 @@
query GetCurrentBlockPageTrackingData($uid: String!) {
current_blocks_page(uid: $uid, locale: "en") {
url
}
}

View File

@@ -0,0 +1,36 @@
#import "../../Fragments/CurrentFooter/AppDownloads.graphql"
#import "../../Fragments/CurrentFooter/Logo.graphql"
#import "../../Fragments/CurrentFooter/Navigation.graphql"
#import "../../Fragments/CurrentFooter/SocialMedia.graphql"
#import "../../Fragments/CurrentFooter/TripAdvisor.graphql"
#import "../../Fragments/System.graphql"
query GetCurrentFooter($locale: String!) {
all_current_footer(limit: 1, locale: $locale) {
items {
...CurrentFooterAppDownloads
...CurrentFooterSocialMedia
...Logo
...Navigation
...TripAdvisor
title
about {
text
title
}
system {
...System
}
}
}
}
query GetCurrentFooterRef($locale: String!) {
all_current_footer(limit: 1, locale: $locale) {
items {
system {
...System
}
}
}
}

View File

@@ -0,0 +1,43 @@
#import "../../Fragments/Image.graphql"
#import "../../Fragments/System.graphql"
query GetCurrentHeader($locale: String!) {
all_current_header(limit: 1, locale: $locale) {
items {
frontpage_link_text
logoConnection {
edges {
node {
...Image
}
}
}
menu {
links {
href
title
}
}
top_menu {
links {
link {
href
title
}
show_on_mobile
sort_order_mobile
}
}
}
}
}
query GetCurrentHeaderRef($locale: String!) {
all_current_header(limit: 1, locale: $locale) {
items {
system {
...System
}
}
}
}

View File

@@ -0,0 +1,35 @@
query GetDaDeEnUrlsCurrentBlocksPage($uid: String!) {
de: all_current_blocks_page(where: { uid: $uid }, locale: "de") {
items {
url
}
}
en: all_current_blocks_page(where: { uid: $uid }, locale: "en") {
items {
url
}
}
da: all_current_blocks_page(where: { uid: $uid }, locale: "da") {
items {
url
}
}
}
query GetFiNoSvUrlsCurrentBlocksPage($uid: String!) {
fi: all_current_blocks_page(where: { uid: $uid }, locale: "fi") {
items {
url
}
}
no: all_current_blocks_page(where: { uid: $uid }, locale: "no") {
items {
url
}
}
sv: all_current_blocks_page(where: { uid: $uid }, locale: "sv") {
items {
url
}
}
}

View File

@@ -0,0 +1,32 @@
#import "../../Fragments/System.graphql"
query GetDestinationCityListData($locale: String!, $cityIdentifier: String!) {
all_destination_city_page(
where: {
OR: [
{ destination_settings: { city_denmark: $cityIdentifier } }
{ destination_settings: { city_finland: $cityIdentifier } }
{ destination_settings: { city_germany: $cityIdentifier } }
{ destination_settings: { city_norway: $cityIdentifier } }
{ destination_settings: { city_poland: $cityIdentifier } }
{ destination_settings: { city_sweden: $cityIdentifier } }
]
}
locale: $locale
) {
items {
heading
preamble
images {
image
}
experiences {
destination_experiences
}
url
system {
...System
}
}
}
}

View File

@@ -0,0 +1,140 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetDestinationCityPage($locale: String!, $uid: String!) {
destination_city_page(uid: $uid, locale: $locale) {
title
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
heading
preamble
experiences {
destination_experiences
}
images {
image
}
has_sidepeek
sidepeek_button_text
sidepeek_content {
heading
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
json
}
}
blocks {
__typename
...Accordion_DestinationCityPage
...Content_DestinationCityPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_city_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationCityPageRefs($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
sidepeek_content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
blocks {
__typename
...Accordion_DestinationCityPageRefs
...Content_DestinationCityPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationCityPage($uid: String!) {
de: destination_city_page(locale: "de", uid: $uid) {
url
}
en: destination_city_page(locale: "en", uid: $uid) {
url
}
da: destination_city_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationCityPage($uid: String!) {
fi: destination_city_page(locale: "fi", uid: $uid) {
url
}
no: destination_city_page(locale: "no", uid: $uid) {
url
}
sv: destination_city_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,20 @@
#import "../../Fragments/System.graphql"
query GetCityPageUrls($locale: String!) {
all_destination_city_page(locale: $locale) {
items {
url
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,26 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCityPageMetadata($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
system {
...System
}
}
}

View File

@@ -0,0 +1,135 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetDestinationCountryPage($locale: String!, $uid: String!) {
destination_country_page(uid: $uid, locale: $locale) {
title
destination_settings {
country
}
heading
preamble
experiences {
destination_experiences
}
images {
image
}
has_sidepeek
sidepeek_button_text
sidepeek_content {
heading
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
json
}
}
blocks {
__typename
...Accordion_DestinationCountryPage
...Content_DestinationCountryPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_country_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationCountryPageRefs($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
sidepeek_content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
blocks {
__typename
...Accordion_DestinationCountryPageRefs
...Content_DestinationCountryPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationCountryPage($uid: String!) {
de: destination_country_page(locale: "de", uid: $uid) {
url
}
en: destination_country_page(locale: "en", uid: $uid) {
url
}
da: destination_country_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationCountryPage($uid: String!) {
fi: destination_country_page(locale: "fi", uid: $uid) {
url
}
no: destination_country_page(locale: "no", uid: $uid) {
url
}
sv: destination_country_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,15 @@
#import "../../Fragments/System.graphql"
query GetCountryPageUrls($locale: String!) {
all_destination_country_page(locale: $locale) {
items {
url
destination_settings {
country
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,18 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCountryPageMetadata($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,58 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardGallery.graphql"
query GetDestinationOverviewPage($locale: String!, $uid: String!) {
destination_overview_page(uid: $uid, locale: $locale) {
title
url
blocks {
__typename
...CardGallery_DestinationOverviewPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_overview_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationOverviewPageRefs($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardGallery_DestinationOverviewPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationOverviewPage($uid: String!) {
de: destination_overview_page(locale: "de", uid: $uid) {
url
}
en: destination_overview_page(locale: "en", uid: $uid) {
url
}
da: destination_overview_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationOverviewPage($uid: String!) {
fi: destination_overview_page(locale: "fi", uid: $uid) {
url
}
no: destination_overview_page(locale: "no", uid: $uid) {
url
}
sv: destination_overview_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,18 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationOverviewPageMetadata($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,168 @@
#import "../Fragments/System.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
#import "../Fragments/Footer/AppDownloads.graphql"
#import "../Fragments/Footer/SocialMedia.graphql"
query GetFooter($locale: String!) {
all_footer(limit: 1, locale: $locale) {
items {
main_links {
title
open_in_new_tab
link {
href
title
}
pageConnection {
edges {
node {
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
secondary_links {
title
links {
title
open_in_new_tab
pageConnection {
edges {
node {
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
link {
href
title
}
}
}
tertiary_links {
title
open_in_new_tab
link {
href
title
}
pageConnection {
edges {
node {
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
...AppDownloads
...SocialMedia
}
}
}
query GetFooterRef($locale: String!) {
all_footer(limit: 1, locale: $locale) {
items {
main_links {
pageConnection {
edges {
node {
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
secondary_links {
links {
pageConnection {
edges {
node {
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
tertiary_links {
pageConnection {
edges {
node {
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,253 @@
#import "../Fragments/System.graphql"
#import "../Fragments/Blocks/Card.graphql"
#import "../Fragments/Blocks/Refs/Card.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
query GetHeader($locale: String!) {
all_header(limit: 1, locale: $locale) {
items {
top_link {
logged_in {
icon
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
logged_out {
icon
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
menu_items {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
see_all_link {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
submenu {
title
links {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
cardConnection {
edges {
node {
__typename
...CardBlock
}
}
}
}
}
}
}
query GetHeaderRef($locale: String!) {
all_header(limit: 1, locale: $locale) {
items {
top_link {
logged_in {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
logged_out {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
menu_items {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
see_all_link {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
submenu {
links {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
cardConnection {
edges {
node {
__typename
...CardBlockRef
}
}
}
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,149 @@
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Refs/Accordion.graphql"
query GetHotelPage($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
hotel_page_id
title
url
hotel_navigation {
overview
rooms
restaurant_bar
conferences_meetings
health_wellness
activities
offers
faq
}
faq {
__typename
title
global_faqConnection {
__typename
edges {
node {
...AccordionBlock
}
}
}
specific_faq {
__typename
...GlobalAccordionBlock
}
}
content {
__typename
... on HotelPageContentUpcomingActivitiesCard {
upcoming_activities_card {
background_image
cta_text
sidepeek_cta_text
heading
body_text
scripted_title
sidepeek_slug
hotel_page_activities_content_pageConnection {
edges {
node {
__typename
... on ContentPage {
...ContentPageLink
header {
preamble
}
}
}
}
}
}
}
... on HotelPageContentSpaPage {
spa_page {
button_cta
pageConnection {
edges {
node {
...CollectionPageLink
...ContentPageLink
}
}
}
}
}
}
system {
...System
created_at
updated_at
}
}
}
query GetHotelPageRefs($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
faq {
global_faqConnection {
edges {
node {
...AccordionBlockRefs
}
}
}
specific_faq {
...GlobalAccordionBlockRefs
}
}
content {
__typename
... on HotelPageContentUpcomingActivitiesCard {
upcoming_activities_card {
hotel_page_activities_content_pageConnection {
edges {
node {
__typename
...ContentPageRef
}
}
}
}
}
}
system {
...System
}
}
trackingProps: hotel_page(locale: "en", uid: $uid) {
url
}
}
query GetDaDeEnUrlsHotelPage($uid: String!) {
de: hotel_page(locale: "de", uid: $uid) {
url
}
en: hotel_page(locale: "en", uid: $uid) {
url
}
da: hotel_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsHotelPage($uid: String!) {
fi: hotel_page(locale: "fi", uid: $uid) {
url
}
no: hotel_page(locale: "no", uid: $uid) {
url
}
sv: hotel_page(locale: "sv", uid: $uid) {
url
}
}

View File

@@ -0,0 +1,13 @@
#import "../../Fragments/System.graphql"
query GetHotelPageUrls($locale: String!) {
all_hotel_page(locale: $locale) {
items {
url
hotel_page_id
system {
...System
}
}
}
}

View File

@@ -0,0 +1,19 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetHotelPageMetadata($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
hotel_page_id
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,25 @@
query GetAllLoyaltyLevels($lang: String!, $level_ids: [String]!) {
all_loyalty_level(where: { level_id_in: $level_ids }, locale: $lang) {
items {
description
level_id
name
required_points
required_nights
user_facing_tag
}
}
}
query GetLoyaltyLevel($lang: String!, $level_id: String!) {
all_loyalty_level(where: { level_id: $level_id }, locale: $lang) {
items {
description
level_id
name
required_points
required_nights
user_facing_tag
}
}
}

View File

@@ -0,0 +1,102 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Sidebar/Content.graphql"
#import "../../Fragments/Sidebar/DynamicContent.graphql"
#import "../../Fragments/Sidebar/JoinLoyaltyContact.graphql"
query GetLoyaltyPage($locale: String!, $uid: String!) {
loyalty_page(uid: $uid, locale: $locale) {
heading
hero_image
preamble
title
blocks {
__typename
...CardsGrid_LoyaltyPage
...Content_LoyaltyPage
...DynamicContent_LoyaltyPage
...Shortcuts_LoyaltyPage
}
sidebar {
__typename
...ContentSidebar_LoyaltyPage
...DynamicContentSidebar_LoyaltyPage
...JoinLoyaltyContactSidebar_LoyaltyPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: loyalty_page(locale: "en", uid: $uid) {
url
}
}
query GetLoyaltyPageRefs($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardsGrid_LoyaltyPageRefs
...Content_LoyaltyPageRefs
...DynamicContent_LoyaltyPageRefs
...Shortcuts_LoyaltyPageRefs
}
sidebar {
__typename
...ContentSidebar_LoyaltyPageRefs
...JoinLoyaltyContactSidebar_LoyaltyPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsLoyaltyPage($uid: String!) {
de: loyalty_page(locale: "de", uid: $uid) {
web {
original_url
}
url
}
en: loyalty_page(locale: "en", uid: $uid) {
web {
original_url
}
url
}
da: loyalty_page(locale: "da", uid: $uid) {
web {
original_url
}
url
}
}
query GetFiNoSvUrlsLoyaltyPage($uid: String!) {
sv: loyalty_page(locale: "sv", uid: $uid) {
web {
original_url
}
url
}
no: loyalty_page(locale: "no", uid: $uid) {
web {
original_url
}
url
}
fi: loyalty_page(locale: "fi", uid: $uid) {
web {
original_url
}
url
}
}

View File

@@ -0,0 +1,31 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetLoyaltyPageMetadata($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
heading
preamble
hero_image
blocks {
... on LoyaltyPageBlocksContent {
__typename
content {
content {
json
}
}
}
}
system {
...System
}
}
}

View File

@@ -0,0 +1,81 @@
#import "../Fragments/PageSettings.graphql"
query GetAccountPageSettings($uid: String!, $locale: String!) {
page: account_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCollectionPageSettings($uid: String!, $locale: String!) {
page: collection_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetContentPageSettings($uid: String!, $locale: String!) {
page: content_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCurrentBlocksPageSettings($uid: String!, $locale: String!) {
page: current_blocks_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationCityPageSettings($uid: String!, $locale: String!) {
page: destination_city_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationCountryPageSettings($uid: String!, $locale: String!) {
page: destination_country_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationOverviewPageSettings($uid: String!, $locale: String!) {
page: destination_overview_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetHotelPageSettings($uid: String!, $locale: String!) {
page: hotel_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetLoyaltyPageSettings($uid: String!, $locale: String!) {
page: loyalty_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetStartPageSettings($uid: String!, $locale: String!) {
page: start_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}

View File

@@ -0,0 +1,87 @@
#import "../Fragments/System.graphql"
query EntryByUrlBatch1($locale: String!, $url: String!) {
all_account_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_collection_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_content_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_current_blocks_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_loyalty_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_hotel_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
}
query EntryByUrlBatch2($locale: String!, $url: String!) {
all_destination_overview_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_destination_country_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_destination_city_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_start_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
}

View File

@@ -0,0 +1,15 @@
query GetRewards($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
taxonomies {
term_uid
}
label
grouped_label
description
grouped_description
value
reward_id
}
}
}

View File

@@ -0,0 +1,84 @@
#import "../Fragments/System.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
query GetRewards($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
taxonomies {
term_uid
}
label
grouped_label
description
redeem_description {
json
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
grouped_description
value
reward_id
}
}
}
query GetRewardsRef($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
redeem_description {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,24 @@
query GetAllSasTierComparison($lang: String!) {
all_sas_tier_comparison(locale: $lang) {
items {
scandic_column_title
sas_column_title
tier_matches {
title
scandic_friends_tier_name
sas_eb_tier_name
content {
json
}
link {
href
title
}
}
cta {
title
href
}
}
}
}

View File

@@ -0,0 +1,39 @@
#import "../Fragments/System.graphql"
#import "../Fragments/Alert.graphql"
query GetSiteConfig($locale: String!) {
all_site_config(limit: 1, locale: $locale) {
items {
sitewide_alert {
booking_widget_disabled
alertConnection {
edges {
node {
...Alert
}
}
}
}
}
}
}
query GetSiteConfigRef($locale: String!) {
all_site_config(limit: 1, locale: $locale) {
items {
sitewide_alert {
alertConnection {
edges {
node {
...AlertRef
}
}
}
}
system {
...System
}
}
}
}

View File

@@ -0,0 +1,90 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/FullWidthCampaign.graphql"
#import "../../Fragments/Blocks/CarouselCards.graphql"
#import "../../Fragments/Blocks/JoinScandicFriends.graphql"
query GetStartPage($locale: String!, $uid: String!) {
start_page(locale: $locale, uid: $uid) {
title
url
header {
heading
hero_image
}
blocks {
__typename
...CardsGrid_StartPage
...CarouselCards_StartPage
... on StartPageBlocksFullWidthCampaign {
__typename
full_width_campaign {
full_width_campaignConnection {
edges {
node {
...FullWidthCampaign
}
}
}
}
}
...JoinScandicFriends_StartPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: start_page(locale: "en", uid: $uid) {
url
}
}
query GetStartPageRefs($locale: String!, $uid: String!) {
start_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardsGrid_StartPageRefs
...CarouselCards_StartPageRefs
... on StartPageBlocksFullWidthCampaign {
full_width_campaign {
full_width_campaignConnection {
edges {
node {
...FullWidthCampaignRefs
}
}
}
}
}
...JoinScandicFriends_StartPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsStartPage($uid: String!) {
de: start_page(locale: "de", uid: $uid) {
url
}
en: start_page(locale: "en", uid: $uid) {
url
}
da: start_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsStartPage($uid: String!) {
fi: start_page(locale: "fi", uid: $uid) {
url
}
no: start_page(locale: "no", uid: $uid) {
url
}
sv: start_page(locale: "sv", uid: $uid) {
url
}
}