#import "../Fragments/Image.graphql" #import "../Fragments/PageLink/AccountPageLink.graphql" #import "../Fragments/PageLink/ContentPageLink.graphql" #import "../Fragments/PageLink/LoyaltyPageLink.graphql" #import "../Fragments/Refs/AccountPage.graphql" #import "../Fragments/Refs/ContentPage.graphql" #import "../Fragments/Refs/LoyaltyPage.graphql" #import "../Fragments/Refs/System.graphql" query GetLoyaltyPage($locale: String!, $uid: String!) { loyalty_page(uid: $uid, locale: $locale) { blocks { __typename ... on LoyaltyPageBlocksShortcuts { shortcuts { title preamble shortcuts { text open_in_new_tab linkConnection { edges { node { __typename ...AccountPageLink ...LoyaltyPageLink ...ContentPageLink } } totalCount } } } } ... on LoyaltyPageBlocksDynamicContent { dynamic_content { title subtitle component link { text pageConnection { edges { node { ...ContentPageLink ...LoyaltyPageLink } } totalCount } } } } ... on LoyaltyPageBlocksCardGrid { card_grid { title subtitle cards { referenceConnection { edges { node { __typename ...LoyaltyPageLink ...ContentPageLink ...AccountPageLink } } totalCount } title subtitle open_in_new_tab cta_text } } } ... on LoyaltyPageBlocksContent { content { content { json embedded_itemsConnection { edges { node { __typename ...Image ...LoyaltyPageLink ...ContentPageLink } } totalCount } } } } } title heading sidebar { __typename ... on LoyaltyPageSidebarJoinLoyaltyContact { join_loyalty_contact { title preamble contact { ... on LoyaltyPageSidebarJoinLoyaltyContactBlockContactContact { __typename contact { display_text contact_field } } } } } ... on LoyaltyPageSidebarContent { content { content { json embedded_itemsConnection { edges { node { __typename ...Image ...LoyaltyPageLink ...ContentPageLink } } totalCount } } } } } web { breadcrumbs { title parents { href title } } } system { uid created_at updated_at } } } query GetLoyaltyPageRefs($locale: String!, $uid: String!) { loyalty_page(locale: $locale, uid: $uid) { blocks { ... on LoyaltyPageBlocksShortcuts { __typename shortcuts { shortcuts { linkConnection { edges { node { __typename ...AccountPageRef ...ContentPageRef ...LoyaltyPageRef } } } } } } ... on LoyaltyPageBlocksDynamicContent { __typename dynamic_content { link { pageConnection { edges { node { __typename ...ContentPageRef ...LoyaltyPageRef } } } } } } ... on LoyaltyPageBlocksCardGrid { __typename card_grid { cards { referenceConnection { edges { node { __typename ...AccountPageRef ...ContentPageRef ...LoyaltyPageRef } } } } } } ... on LoyaltyPageBlocksContent { __typename content { content { embedded_itemsConnection { edges { node { # No fragments used since we want to include __typename for each type to avoid fetching SystemAsset ... on ContentPage { __typename system { ...System } } ... on LoyaltyPage { __typename system { ...System } } } } } } } } } sidebar { ... on LoyaltyPageSidebarContent { __typename content { content { embedded_itemsConnection { edges { node { # No fragments used since we want to include __typename for each type to avoid fetching SystemAsset ... on ContentPage { __typename system { ...System } } ... on LoyaltyPage { __typename system { ...System } } } } } } } } } system { ...System } } }