From df177986625f07d737a260452b2d0d4c38ef3a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilda=20Landstr=C3=B6m?= Date: Wed, 16 Oct 2024 10:21:34 +0200 Subject: [PATCH] refactor(SW-438): change name to teasercard --- components/Sidebar/index.tsx | 20 ++++---- ...ContentCard.graphql => TeaserCard.graphql} | 12 ++--- .../Query/ContentPage/ContentPage.graphql | 6 +-- .../contentstack/contentPage/output.ts | 48 +++++++++---------- .../routers/contentstack/contentPage/utils.ts | 10 ++-- .../sidebar/{contentCard.ts => teaserCard.ts} | 22 ++++----- types/enums/contentPage.ts | 2 +- types/enums/sidebar.ts | 2 +- 8 files changed, 60 insertions(+), 62 deletions(-) rename lib/graphql/Fragments/Sidebar/{ContentCard.graphql => TeaserCard.graphql} (70%) rename server/routers/contentstack/schemas/sidebar/{contentCard.ts => teaserCard.ts} (60%) diff --git a/components/Sidebar/index.tsx b/components/Sidebar/index.tsx index e519dd38a..c548da6a4 100644 --- a/components/Sidebar/index.tsx +++ b/components/Sidebar/index.tsx @@ -29,16 +29,6 @@ export default function Sidebar({ blocks }: SidebarProps) { /> ) - case SidebarEnums.blocks.ContentCard: - return ( - - ) - case SidebarEnums.blocks.DynamicContent: switch (block.dynamic_content.component) { case DynamicContentEnum.Sidebar.components.my_pages_navigation: @@ -62,7 +52,15 @@ export default function Sidebar({ blocks }: SidebarProps) { theme={block.scripted_card.theme ?? "image"} /> ) - + case SidebarEnums.blocks.TeaserCard: + return ( + + ) case SidebarEnums.blocks.QuickLinks: return diff --git a/lib/graphql/Fragments/Sidebar/ContentCard.graphql b/lib/graphql/Fragments/Sidebar/TeaserCard.graphql similarity index 70% rename from lib/graphql/Fragments/Sidebar/ContentCard.graphql rename to lib/graphql/Fragments/Sidebar/TeaserCard.graphql index 2aab57cad..446c7e6d7 100644 --- a/lib/graphql/Fragments/Sidebar/ContentCard.graphql +++ b/lib/graphql/Fragments/Sidebar/TeaserCard.graphql @@ -9,11 +9,11 @@ #import "../Blocks/TeaserCard.graphql" #import "../Blocks/Refs/TeaserCard.graphql" -fragment ContentCardSidebar_ContentPage on ContentPageSidebarContentCard { +fragment TeaserCardSidebar_ContentPage on ContentPageSidebarTeaserCard { __typename - content_card { + teaser_card { theme - content_cardConnection { + teaser_cardConnection { edges { node { __typename @@ -24,9 +24,9 @@ fragment ContentCardSidebar_ContentPage on ContentPageSidebarContentCard { } } -fragment ContentCardSidebar_ContentPageRefs on ContentPageSidebarContentCard { - content_card { - content_cardConnection { +fragment TeaserCardSidebar_ContentPageRefs on ContentPageSidebarTeaserCard { + teaser_card { + teaser_cardConnection { edges { node { __typename diff --git a/lib/graphql/Query/ContentPage/ContentPage.graphql b/lib/graphql/Query/ContentPage/ContentPage.graphql index e8ca9d5a4..63e311c31 100644 --- a/lib/graphql/Query/ContentPage/ContentPage.graphql +++ b/lib/graphql/Query/ContentPage/ContentPage.graphql @@ -13,7 +13,7 @@ #import "../../Fragments/Sidebar/Content.graphql" #import "../../Fragments/Sidebar/DynamicContent.graphql" #import "../../Fragments/Sidebar/JoinLoyaltyContact.graphql" -#import "../../Fragments/Sidebar/ContentCard.graphql" +#import "../../Fragments/Sidebar/TeaserCard.graphql" #import "../../Fragments/Sidebar/ScriptedCard.graphql" #import "../../Fragments/Sidebar/QuickLinks.graphql" @@ -31,8 +31,8 @@ query GetContentPage($locale: String!, $uid: String!) { ...ContentSidebar_ContentPage ...DynamicContentSidebar_ContentPage ...JoinLoyaltyContactSidebar_ContentPage - ...ContentCardSidebar_ContentPage ...ScriptedCardSidebar_ContentPage + ...TeaserCardSidebar_ContentPage ...QuickLinksSidebar_ContentPage } system { @@ -96,9 +96,9 @@ query GetContentPageRefs($locale: String!, $uid: String!) { sidebar { __typename ...ContentSidebar_ContentPageRefs - ...ContentCardSidebar_ContentPageRefs ...JoinLoyaltyContactSidebar_ContentPageRefs ...ScriptedCardSidebar_ContentPageRefs + ...TeaserCardSidebar_ContentPageRefs ...QuickLinksSidebar_ContentPageRefs } system { diff --git a/server/routers/contentstack/contentPage/output.ts b/server/routers/contentstack/contentPage/output.ts index 44e786b28..d4289cc1c 100644 --- a/server/routers/contentstack/contentPage/output.ts +++ b/server/routers/contentstack/contentPage/output.ts @@ -34,10 +34,6 @@ import { contentRefsSchema as sidebarContentRefsSchema, contentSchema as sidebarContentSchema, } from "../schemas/sidebar/content" -import { - contentCardRefschema, - contentCardsSchema, -} from "../schemas/sidebar/contentCard" import { dynamicContentSchema as sidebarDynamicContentSchema } from "../schemas/sidebar/dynamicContent" import { joinLoyaltyContactRefsSchema, @@ -51,6 +47,10 @@ import { scriptedCardRefschema, scriptedCardsSchema, } from "../schemas/sidebar/scriptedCard" +import { + teaserCardRefschema, + teaserCardsSchema, +} from "../schemas/sidebar/teaserCard" import { systemSchema } from "../schemas/system" import { ContentPageEnum } from "@/types/enums/contentPage" @@ -134,30 +134,30 @@ export const contentPageJoinLoyaltyContact = z }) .merge(joinLoyaltyContactSchema) -export const contentPageSidebarQuicklinks = z - .object({ - __typename: z.literal(ContentPageEnum.ContentStack.sidebar.QuickLinks), - }) - .merge(quickLinksSchema) - -export const contentPageSidebarContentCard = z - .object({ - __typename: z.literal(ContentPageEnum.ContentStack.sidebar.ContentCard), - }) - .merge(contentCardsSchema) - export const contentPageSidebarScriptedCard = z .object({ __typename: z.literal(ContentPageEnum.ContentStack.sidebar.ScriptedCard), }) .merge(scriptedCardsSchema) +export const contentPageSidebarTeaserCard = z + .object({ + __typename: z.literal(ContentPageEnum.ContentStack.sidebar.TeaserCard), + }) + .merge(teaserCardsSchema) + +export const contentPageSidebarQuicklinks = z + .object({ + __typename: z.literal(ContentPageEnum.ContentStack.sidebar.QuickLinks), + }) + .merge(quickLinksSchema) + export const sidebarSchema = z.discriminatedUnion("__typename", [ contentPageSidebarContent, - contentPageSidebarContentCard, contentPageSidebarDynamicContent, contentPageJoinLoyaltyContact, contentPageSidebarScriptedCard, + contentPageSidebarTeaserCard, contentPageSidebarQuicklinks, ]) @@ -263,12 +263,6 @@ const contentPageSidebarContentRef = z }) .merge(sidebarContentRefsSchema) -const contentPageSidebarContentCardRef = z - .object({ - __typename: z.literal(ContentPageEnum.ContentStack.sidebar.ContentCard), - }) - .merge(contentCardRefschema) - const contentPageSidebarJoinLoyaltyContactRef = z .object({ __typename: z.literal( @@ -283,6 +277,12 @@ const contentPageSidebarScriptedCardRef = z }) .merge(scriptedCardRefschema) +const contentPageSidebarTeaserCardRef = z + .object({ + __typename: z.literal(ContentPageEnum.ContentStack.sidebar.TeaserCard), + }) + .merge(teaserCardRefschema) + const contentPageSidebarQuickLinksRef = z .object({ __typename: z.literal(ContentPageEnum.ContentStack.sidebar.QuickLinks), @@ -291,9 +291,9 @@ const contentPageSidebarQuickLinksRef = z const contentPageSidebarRefsItem = z.discriminatedUnion("__typename", [ contentPageSidebarContentRef, - contentPageSidebarContentCardRef, contentPageSidebarJoinLoyaltyContactRef, contentPageSidebarScriptedCardRef, + contentPageSidebarTeaserCardRef, contentPageSidebarQuickLinksRef, ]) diff --git a/server/routers/contentstack/contentPage/utils.ts b/server/routers/contentstack/contentPage/utils.ts index 755d8d61b..cf46dd879 100644 --- a/server/routers/contentstack/contentPage/utils.ts +++ b/server/routers/contentstack/contentPage/utils.ts @@ -171,11 +171,6 @@ export function getConnections({ content_page }: ContentPageRefs) { connections.push(...block.content) } break - case ContentPageEnum.ContentStack.sidebar.ContentCard: - if (block.content_card?.length) { - connections.push(...block.content_card) - } - break case ContentPageEnum.ContentStack.sidebar.JoinLoyaltyContact: if (block.join_loyalty_contact?.button) { connections.push(block.join_loyalty_contact.button) @@ -186,6 +181,11 @@ export function getConnections({ content_page }: ContentPageRefs) { connections.push(...block.scripted_card) } break + case ContentPageEnum.ContentStack.sidebar.TeaserCard: + if (block.teaser_card?.length) { + connections.push(...block.teaser_card) + } + break case ContentPageEnum.ContentStack.sidebar.QuickLinks: if (block.shortcuts.shortcuts.length) { connections.push(...block.shortcuts.shortcuts) diff --git a/server/routers/contentstack/schemas/sidebar/contentCard.ts b/server/routers/contentstack/schemas/sidebar/teaserCard.ts similarity index 60% rename from server/routers/contentstack/schemas/sidebar/contentCard.ts rename to server/routers/contentstack/schemas/sidebar/teaserCard.ts index d52a0c96f..94443cd75 100644 --- a/server/routers/contentstack/schemas/sidebar/contentCard.ts +++ b/server/routers/contentstack/schemas/sidebar/teaserCard.ts @@ -9,15 +9,15 @@ import { import { SidebarEnums } from "@/types/enums/sidebar" -export const contentCardsSchema = z.object({ +export const teaserCardsSchema = z.object({ typename: z - .literal(SidebarEnums.blocks.ContentCard) + .literal(SidebarEnums.blocks.TeaserCard) .optional() - .default(SidebarEnums.blocks.ContentCard), - content_card: z + .default(SidebarEnums.blocks.TeaserCard), + teaser_card: z .object({ theme: z.enum(["featured", "default"]).nullable().default("default"), - content_cardConnection: z.object({ + teaser_cardConnection: z.object({ edges: z.array( z.object({ node: teaserCardBlockSchema, @@ -27,16 +27,16 @@ export const contentCardsSchema = z.object({ }) .transform((data) => { return { - ...transformTeaserCardBlock(data.content_cardConnection.edges[0].node), + ...transformTeaserCardBlock(data.teaser_cardConnection.edges[0].node), theme: data.theme, } }), }) -export const contentCardRefschema = z.object({ - content_card: z +export const teaserCardRefschema = z.object({ + teaser_card: z .object({ - content_cardConnection: z.object({ + teaser_cardConnection: z.object({ edges: z.array( z.object({ node: teaserCardBlockRefsSchema, @@ -46,8 +46,8 @@ export const contentCardRefschema = z.object({ }) .transform((data) => { let card = null - if (data.content_cardConnection.edges.length) { - card = transformCardBlockRefs(data.content_cardConnection.edges[0].node) + if (data.teaser_cardConnection.edges.length) { + card = transformCardBlockRefs(data.teaser_cardConnection.edges[0].node) } return card }), diff --git a/types/enums/contentPage.ts b/types/enums/contentPage.ts index 95b228da3..b00556a30 100644 --- a/types/enums/contentPage.ts +++ b/types/enums/contentPage.ts @@ -13,10 +13,10 @@ export namespace ContentPageEnum { export const enum sidebar { Content = "ContentPageSidebarContent", - ContentCard = "ContentPageSidebarContentCard", DynamicContent = "ContentPageSidebarDynamicContent", JoinLoyaltyContact = "ContentPageSidebarJoinLoyaltyContact", ScriptedCard = "ContentPageSidebarScriptedCard", + TeaserCard = "ContentPageSidebarTeaserCard", QuickLinks = "ContentPageSidebarShortcuts", } } diff --git a/types/enums/sidebar.ts b/types/enums/sidebar.ts index adb629a24..cac1165eb 100644 --- a/types/enums/sidebar.ts +++ b/types/enums/sidebar.ts @@ -1,10 +1,10 @@ export namespace SidebarEnums { export const enum blocks { Content = "Content", - ContentCard = "ContentCard", DynamicContent = "DynamicContent", JoinLoyaltyContact = "JoinLoyaltyContact", ScriptedCard = "ScriptedCard", + TeaserCard = "TeaserCard", QuickLinks = "QuickLinks", } }