#import "../Fragments/System.graphql"

#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/Blocks/Card.graphql"

#import "../Fragments/Blocks/Refs/Card.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/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
                ...HotelPageLink
                ...LoyaltyPageLink
              }
            }
          }
        }
        logged_out {
          icon
          title
          linkConnection {
            edges {
              node {
                __typename
                ...AccountPageLink
                ...CollectionPageLink
                ...ContentPageLink
                ...HotelPageLink
                ...LoyaltyPageLink
              }
            }
          }
        }
      }
      menu_items {
        title
        linkConnection {
          edges {
            node {
              __typename
              ...ContentPageLink
              ...HotelPageLink
              ...LoyaltyPageLink
            }
          }
        }
        see_all_link {
          title
          linkConnection {
            edges {
              node {
                __typename
                ...ContentPageLink
                ...HotelPageLink
                ...LoyaltyPageLink
              }
            }
          }
        }
        submenu {
          title
          links {
            title
            linkConnection {
              edges {
                node {
                  __typename
                  ...ContentPageLink
                  ...HotelPageLink
                  ...LoyaltyPageLink
                }
              }
            }
          }
        }
        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
                ...HotelPageRef
                ...LoyaltyPageRef
              }
            }
          }
        }
        logged_out {
          linkConnection {
            edges {
              node {
                __typename
                ...AccountPageRef
                ...CollectionPageRef
                ...ContentPageRef
                ...HotelPageRef
                ...LoyaltyPageRef
              }
            }
          }
        }
      }
      menu_items {
        linkConnection {
          edges {
            node {
              __typename
              ...ContentPageRef
              ...HotelPageRef
              ...LoyaltyPageRef
            }
          }
        }
        see_all_link {
          linkConnection {
            edges {
              node {
                __typename
                ...ContentPageRef
                ...HotelPageRef
                ...LoyaltyPageRef
              }
            }
          }
        }
        submenu {
          links {
            linkConnection {
              edges {
                node {
                  __typename
                  ...ContentPageRef
                  ...HotelPageRef
                  ...LoyaltyPageRef
                }
              }
            }
          }
        }
        cardConnection {
          edges {
            node {
              __typename
              ...CardBlockRef
            }
          }
        }
      }
      system {
        ...System
      }
    }
  }
}
