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
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -0,0 +1,5 @@
query GetCurrentBlockPageTrackingData($uid: String!) {
current_blocks_page(uid: $uid, locale: "en") {
url
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
@@ -0,0 +1,13 @@
#import "../../Fragments/System.graphql"
query GetHotelPageUrls($locale: String!) {
all_hotel_page(locale: $locale) {
items {
url
hotel_page_id
system {
...System
}
}
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}
}
@@ -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
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}
}
}
@@ -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
}
}