#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
      }
    }
  }
}
