feat(SW-66, SW-348): search functionality and ui

This commit is contained in:
Simon Emanuelsson
2024-08-28 10:47:57 +02:00
parent b9dbcf7d90
commit af850c90e7
437 changed files with 7663 additions and 9881 deletions

View File

@@ -1,47 +1,53 @@
#import "../System.graphql"
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment CardBlock on Card {
is_content_card
heading
body_text
background_image
scripted_top_title
title
body_text
has_primary_button
has_secondary_button
has_sidepeek_button
heading
is_content_card
scripted_top_title
title
primary_button {
is_contentstack_link
cta_text
is_contentstack_link
open_in_new_tab
external_link {
title
href
title
}
linkConnection {
edges {
node {
__typename
...LoyaltyPageLink
...ContentPageLink
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
secondary_button {
is_contentstack_link
cta_text
is_contentstack_link
open_in_new_tab
external_link {
title
href
title
}
linkConnection {
edges {
node {
__typename
...LoyaltyPageLink
...ContentPageLink
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
@@ -50,7 +56,6 @@ fragment CardBlock on Card {
call_to_action_text
}
system {
locale
uid
...System
}
}

View File

@@ -0,0 +1,68 @@
#import "./Card.graphql"
#import "./LoyaltyCard.graphql"
#import "./Refs/Card.graphql"
#import "./Refs/LoyaltyCard.graphql"
fragment CardsGrid_ContentPage on ContentPageBlocksCardsGrid {
cards_grid {
layout
preamble
theme
title
cardConnection(limit: 10) {
edges {
node {
__typename
...CardBlock
...LoyaltyCardBlock
}
}
}
}
}
fragment CardsGrid_ContentPageRefs on ContentPageBlocksCardsGrid {
cards_grid {
cardConnection(limit: 10) {
edges {
node {
__typename
...CardBlockRef
...LoyaltyCardBlockRef
}
}
}
}
}
fragment CardsGrid_LoyaltyPage on LoyaltyPageBlocksCardsGrid {
cards_grid {
layout
preamble
theme
title
cardConnection(limit: 10) {
edges {
node {
__typename
...CardBlock
...LoyaltyCardBlock
}
}
}
}
}
fragment CardsGrid_LoyaltyPageRefs on LoyaltyPageBlocksCardsGrid {
cards_grid {
cardConnection(limit: 10) {
edges {
node {
__typename
...CardBlockRef
...LoyaltyCardBlockRef
}
}
}
}
}

View File

@@ -0,0 +1,87 @@
#import "../Image.graphql"
#import "../ImageContainer.graphql"
#import "../AccountPage/Ref.graphql"
#import "../ContentPage/Ref.graphql"
#import "../HotelPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/HotelPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment Content_ContentPage on ContentPageBlocksContent {
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...HotelPageLink
...LoyaltyPageLink
}
}
}
json
}
}
}
fragment Content_ContentPageRefs on ContentPageBlocksContent {
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...HotelPageRef
...LoyaltyPageRef
}
}
}
}
}
}
fragment Content_LoyaltyPage on LoyaltyPageBlocksContent {
content {
content {
json
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...Image
...ImageContainer
...LoyaltyPageLink
}
}
}
}
}
}
fragment Content_LoyaltyPageRefs on LoyaltyPageBlocksContent {
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...ImageContainerRef
...LoyaltyPageRef
}
}
}
}
}
}

View File

@@ -0,0 +1,119 @@
#import "../AccountPage/Ref.graphql"
#import "../ContentPage/Ref.graphql"
#import "../HotelPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/HotelPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment DynamicContent_AccountPage on AccountPageContentDynamicContent {
dynamic_content {
component
subtitle: preamble
title
link {
text: link_text
linkConnection {
edges {
node {
__typename
...AccountPageLink
...LoyaltyPageLink
}
}
}
}
}
}
fragment DynamicContent_AccountPageRefs on AccountPageContentDynamicContent {
dynamic_content {
link {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...LoyaltyPageRef
}
}
}
}
}
}
fragment DynamicContent_ContentPage on ContentPageBlocksDynamicContent {
dynamic_content {
component
subtitle
title
link {
text
linkConnection: pageConnection {
edges {
node {
__typename
...ContentPageLink
...HotelPageLink
...LoyaltyPageLink
}
}
}
}
}
}
fragment DynamicContent_ContentPageRefs on ContentPageBlocksDynamicContent {
dynamic_content {
link {
linkConnection: pageConnection {
edges {
node {
__typename
...ContentPageRef
...HotelPageRef
...LoyaltyPageRef
}
}
}
}
}
}
fragment DynamicContent_LoyaltyPage on LoyaltyPageBlocksDynamicContent {
dynamic_content {
component
subtitle
title
link {
text
linkConnection: pageConnection {
edges {
node {
__typename
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
}
}
fragment DynamicContent_LoyaltyPageRefs on LoyaltyPageBlocksDynamicContent {
dynamic_content {
link {
linkConnection: pageConnection {
edges {
node {
__typename
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
}
}

View File

@@ -1,6 +1,8 @@
#import "../System.graphql"
fragment LoyaltyCardBlock on LoyaltyCard {
heading
body_text
heading
image
title
link {
@@ -22,7 +24,6 @@ fragment LoyaltyCardBlock on LoyaltyCard {
}
}
system {
locale
uid
...System
}
}

View File

@@ -1,5 +1,4 @@
fragment CardBlockRef on Card {
__typename
secondary_button {
linkConnection {
edges {

View File

@@ -1,5 +1,4 @@
fragment LoyaltyCardBlockRef on LoyaltyCard {
__typename
link {
linkConnection {
edges {

View File

@@ -0,0 +1,77 @@
#import "../AccountPage/Ref.graphql"
#import "../ContentPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment Shortcuts on Shortcuts {
subtitle: preamble
title
shortcuts {
open_in_new_tab
text
linkConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
}
fragment Shortcuts_AccountPage on AccountPageContentShortcuts {
shortcuts {
...Shortcuts
}
}
fragment Shortcuts_ContentPage on ContentPageBlocksShortcuts {
shortcuts {
...Shortcuts
}
}
fragment Shortcuts_LoyaltyPage on LoyaltyPageBlocksShortcuts {
shortcuts {
...Shortcuts
}
}
fragment ShortcutsRefs on Shortcuts {
shortcuts {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
fragment Shortcuts_AccountPageRefs on AccountPageContentShortcuts {
shortcuts {
...ShortcutsRefs
}
}
fragment Shortcuts_ContentPageRefs on ContentPageBlocksShortcuts {
shortcuts {
...ShortcutsRefs
}
}
fragment Shortcuts_LoyaltyPageRefs on LoyaltyPageBlocksShortcuts {
shortcuts {
...ShortcutsRefs
}
}

View File

@@ -0,0 +1,49 @@
#import "../ContentPage/Ref.graphql"
#import "../HotelPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/HotelPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment TextCols_ContentPage on ContentPageBlocksTextCols {
text_cols {
columns {
title
text {
json
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageLink
...HotelPageLink
...LoyaltyPageLink
}
}
}
}
}
}
}
fragment TextCols_ContentPageRef on ContentPageBlocksTextCols {
text_cols {
columns {
title
text {
json
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageRef
...HotelPageRef
...LoyaltyPageRef
}
}
}
}
}
}
}

View File

@@ -1,8 +1,9 @@
#import "../../Image.graphql"
#import "../Image.graphql"
fragment AccountPageContentTextContent on AccountPageContentTextContent {
fragment TextContent_AccountPage on AccountPageContentTextContent {
text_content {
content {
json
embedded_itemsConnection {
totalCount
edges {
@@ -12,7 +13,6 @@ fragment AccountPageContentTextContent on AccountPageContentTextContent {
}
}
}
json
}
}
}

View File

@@ -0,0 +1,24 @@
#import "../System.graphql"
fragment AccountPageBreadcrumb on AccountPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
url
}
fragment AccountPageBreadcrumbRef on AccountPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}

View File

@@ -0,0 +1,31 @@
#import "./AccountPage.graphql"
#import "./ContentPage.graphql"
#import "./LoyaltyPage.graphql"
fragment Breadcrumbs on Breadcrumbs {
title
parentsConnection {
edges {
node {
__typename
...AccountPageBreadcrumb
...ContentPageBreadcrumb
...LoyaltyPageBreadcrumb
}
}
}
}
fragment BreadcrumbsRefs on Breadcrumbs {
title
parentsConnection {
edges {
node {
__typename
...AccountPageBreadcrumbRef
...ContentPageBreadcrumbRef
...LoyaltyPageBreadcrumbRef
}
}
}
}

View File

@@ -0,0 +1,24 @@
#import "../System.graphql"
fragment ContentPageBreadcrumb on ContentPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
url
}
fragment ContentPageBreadcrumbRef on ContentPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}

View File

@@ -1,4 +1,4 @@
fragment Breadcrumbs on CurrentBlocksPage {
fragment CurrentBlocksPageBreadcrumbs on CurrentBlocksPage {
breadcrumbs {
parents {
href

View File

@@ -0,0 +1,24 @@
#import "../System.graphql"
fragment LoyaltyPageBreadcrumb on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
url
}
fragment LoyaltyPageBreadcrumbRef on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}

View File

@@ -1,37 +0,0 @@
fragment ContentPageBreadcrumbs on ContentPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on ContentPage {
web {
breadcrumbs {
title
}
}
system {
locale
uid
}
url
}
... on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
locale
uid
}
url
}
}
}
}
}
}
}

View File

@@ -1,6 +1,6 @@
#import "../Image.graphql"
fragment AppDownloads on CurrentFooter {
fragment CurrentFooterAppDownloads on CurrentFooter {
app_downloads {
title
app_store {

View File

@@ -1,4 +1,4 @@
fragment SocialMedia on CurrentFooter {
fragment CurrentFooterSocialMedia on CurrentFooter {
social_media {
title
facebook {

View File

@@ -0,0 +1,16 @@
#import "./System.graphql"
fragment ImageContainer on ImageContainer {
image_left
image_right
title
system {
...System
}
}
fragment ImageContainerRef on ImageContainer {
system {
...System
}
}

View File

@@ -1,37 +0,0 @@
fragment LoyaltyPageBreadcrumbs on LoyaltyPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on AccountPage {
web {
breadcrumbs {
title
}
}
system {
locale
uid
}
url
}
... on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
locale
uid
}
url
}
}
}
}
}
}
}

View File

@@ -1,22 +0,0 @@
#import "../../PageLink/AccountPageLink.graphql"
#import "../../PageLink/LoyaltyPageLink.graphql"
fragment AccountPageContentDynamicContent on AccountPageContentDynamicContent {
dynamic_content {
component
title
preamble
link {
link_text
linkConnection {
totalCount
edges {
node {
...LoyaltyPageLink
...AccountPageLink
}
}
}
}
}
}

View File

@@ -1,25 +0,0 @@
#import "../../PageLink/AccountPageLink.graphql"
#import "../../PageLink/ContentPageLink.graphql"
#import "../../PageLink/LoyaltyPageLink.graphql"
fragment AccountPageContentShortcuts on AccountPageContentShortcuts {
shortcuts {
title
preamble
shortcuts {
text
open_in_new_tab
linkConnection {
edges {
node {
__typename
...AccountPageLink
...LoyaltyPageLink
...ContentPageLink
}
}
totalCount
}
}
}
}

View File

@@ -1,25 +0,0 @@
fragment MyPagesBreadcrumbs on AccountPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on AccountPage {
web {
breadcrumbs {
title
}
}
system {
locale
uid
}
url
}
}
}
}
}
}
}

View File

@@ -1,7 +1,8 @@
#import "../System.graphql"
fragment AccountPageLink on AccountPage {
system {
locale
uid
...System
}
title
url

View File

@@ -1,10 +1,11 @@
#import "../System.graphql"
fragment ContentPageLink on ContentPage {
system {
locale
uid
}
title
url
system {
...System
}
web {
original_url
}

View File

@@ -1,8 +1,9 @@
#import "../System.graphql"
fragment CurrentBlocksPageLink on CurrentBlocksPage {
system {
locale
uid
}
title
url
system {
...System
}
}

View File

@@ -1,8 +1,9 @@
#import "../System.graphql"
fragment CurrentBlocksPageLink on CurrentBlocksPage {
system {
locale
uid
}
title
url
system {
...System
}
}

View File

@@ -1,7 +1,8 @@
#import "../System.graphql"
fragment HotelPageLink on HotelPage {
system {
locale
uid
...System
}
title
url

View File

@@ -1,10 +1,11 @@
#import "../System.graphql"
fragment LoyaltyPageLink on LoyaltyPage {
system {
locale
uid
}
title
url
system {
...System
}
web {
original_url
}

View File

@@ -1,38 +0,0 @@
#import "../System.graphql"
fragment ContentPageBreadcrumbsRefs on ContentPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on ContentPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}
... on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}
}
}
}
}
}
system {
...System
}
}

View File

@@ -1,38 +0,0 @@
#import "../System.graphql"
fragment LoyaltyPageBreadcrumbsRefs on LoyaltyPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on AccountPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}
... on LoyaltyPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}
}
}
}
}
}
system {
...System
}
}

View File

@@ -1,28 +0,0 @@
#import "../System.graphql"
fragment MyPagesBreadcrumbsRefs on AccountPage {
web {
breadcrumbs {
title
parentsConnection {
edges {
node {
... on AccountPage {
web {
breadcrumbs {
title
}
}
system {
...System
}
}
}
}
}
}
}
system {
...System
}
}

View File

@@ -0,0 +1,80 @@
#import "../Image.graphql"
#import "../ImageContainer.graphql"
#import "../ContentPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment ContentSidebar_ContentPage on ContentPageSidebarContent {
content {
content {
json
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageLink
...Image
...ImageContainer
...LoyaltyPageLink
}
}
}
}
}
}
fragment ContentSidebar_ContentPageRefs on ContentPageSidebarContent {
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageRef
...ImageContainerRef
...LoyaltyPageRef
}
}
}
}
}
}
fragment ContentSidebar_LoyaltyPage on LoyaltyPageSidebarContent {
content {
content {
json
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageLink
...Image
...ImageContainer
...LoyaltyPageLink
}
}
}
}
}
}
fragment ContentSidebar_LoyaltyPageRefs on LoyaltyPageSidebarContent {
content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...ContentPageRef
...ImageContainerRef
...LoyaltyPageRef
}
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
fragment DynamicContentSidebar_ContentPage on ContentPageSidebarDynamicContent {
dynamic_content {
component
}
}
fragment DynamicContentSidebar_LoyaltyPage on LoyaltyPageSidebarDynamicContent {
dynamic_content {
component
}
}

View File

@@ -0,0 +1,113 @@
#import "../AccountPage/Ref.graphql"
#import "../ContentPage/Ref.graphql"
#import "../LoyaltyPage/Ref.graphql"
#import "../PageLink/AccountPageLink.graphql"
#import "../PageLink/ContentPageLink.graphql"
#import "../PageLink/LoyaltyPageLink.graphql"
fragment ContactFields on ContactFields {
display_text
contact_field
footnote
}
fragment JoinLoyaltyContactSidebar_ContentPage on ContentPageSidebarJoinLoyaltyContact {
join_loyalty_contact {
preamble
title
button {
cta_text
open_in_new_tab
external_link {
href
title
}
linkConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
contact {
__typename
... on ContentPageSidebarJoinLoyaltyContactBlockContactContact {
contact {
...ContactFields
}
}
}
}
}
fragment JoinLoyaltyContactSidebar_ContentPageRefs on ContentPageSidebarJoinLoyaltyContact {
join_loyalty_contact {
button {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
}
fragment JoinLoyaltyContactSidebar_LoyaltyPage on LoyaltyPageSidebarJoinLoyaltyContact {
join_loyalty_contact {
preamble
title
button {
cta_text
open_in_new_tab
external_link {
href
title
}
linkConnection {
edges {
node {
__typename
...AccountPageLink
...ContentPageLink
...LoyaltyPageLink
}
}
}
}
contact {
__typename
... on LoyaltyPageSidebarJoinLoyaltyContactBlockContactContact {
contact {
...ContactFields
}
}
}
}
}
fragment JoinLoyaltyContactSidebar_LoyaltyPageRefs on LoyaltyPageSidebarJoinLoyaltyContact {
join_loyalty_contact {
button {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...ContentPageRef
...LoyaltyPageRef
}
}
}
}
}
}

View File

@@ -1,4 +1,5 @@
fragment System on EntrySystemField {
content_type_uid
locale
uid
}