From 58d2963d6a2dc6bcf74f42b037b91d3187365a8d Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Thu, 2 May 2024 10:52:05 +0200 Subject: [PATCH] chore: organize types --- components/MyPages/AccountPage/Content.tsx | 2 +- .../contentstack/accountPage/output.ts | 9 ++- .../routers/contentstack/accountPage/query.ts | 7 +- .../components/myPages/myPage/accountPage.ts | 6 +- types/components/myPages/myPage/enums.ts | 14 ++++ types/requests/myPages/accountpage.ts | 74 ------------------- 6 files changed, 25 insertions(+), 87 deletions(-) create mode 100644 types/components/myPages/myPage/enums.ts delete mode 100644 types/requests/myPages/accountpage.ts diff --git a/components/MyPages/AccountPage/Content.tsx b/components/MyPages/AccountPage/Content.tsx index a596c85bc..1abf7568f 100644 --- a/components/MyPages/AccountPage/Content.tsx +++ b/components/MyPages/AccountPage/Content.tsx @@ -15,7 +15,7 @@ import { import { ContentEntries, DynamicContentComponents, -} from "@/types/requests/myPages/accountpage" +} from "@/types/components/myPages/myPage/enums" function DynamicComponent({ component, props }: AccountPageContentProps) { switch (component) { diff --git a/server/routers/contentstack/accountPage/output.ts b/server/routers/contentstack/accountPage/output.ts index f64077aaf..8abb08d57 100644 --- a/server/routers/contentstack/accountPage/output.ts +++ b/server/routers/contentstack/accountPage/output.ts @@ -2,11 +2,11 @@ import { z } from "zod" import { Lang } from "@/constants/languages" -import { Embeds } from "@/types/requests/embeds" import { ContentEntries, DynamicContentComponents, -} from "@/types/requests/myPages/accountpage" +} from "@/types/components/myPages/myPage/enums" +import { Embeds } from "@/types/requests/embeds" import { Edges } from "@/types/requests/utils/edges" import { RTEDocument } from "@/types/rte/node" @@ -97,7 +97,10 @@ export type RteTextContent = Omit & { } } -type AccountPageContentItem = DynamicContentRaw | ShortcutsRaw | RteTextContent +export type AccountPageContentItem = + | DynamicContentRaw + | ShortcutsRaw + | RteTextContent const accountPageContentItem = z.discriminatedUnion("__typename", [ accountPageShortcuts, diff --git a/server/routers/contentstack/accountPage/query.ts b/server/routers/contentstack/accountPage/query.ts index 55a0d3a19..711c11f1b 100644 --- a/server/routers/contentstack/accountPage/query.ts +++ b/server/routers/contentstack/accountPage/query.ts @@ -6,18 +6,15 @@ import { publicProcedure, router } from "@/server/trpc" import { getAccountPageInput } from "./input" import { type AccountPage, validateAccountPageSchema } from "./output" +import { ContentEntries } from "@/types/components/myPages/myPage/enums" import { Embeds } from "@/types/requests/embeds" -import { - ContentEntries, - GetAccountPageData, -} from "@/types/requests/myPages/accountpage" import { Edges } from "@/types/requests/utils/edges" import { RTEDocument } from "@/types/rte/node" export const accountPageQueryRouter = router({ get: publicProcedure.input(getAccountPageInput).query(async ({ input }) => { try { - const response = await request(GetAccountPage, { + const response = await request(GetAccountPage, { locale: input.lang, url: input.url, }) diff --git a/types/components/myPages/myPage/accountPage.ts b/types/components/myPages/myPage/accountPage.ts index d7609758a..59f55de2f 100644 --- a/types/components/myPages/myPage/accountPage.ts +++ b/types/components/myPages/myPage/accountPage.ts @@ -1,9 +1,7 @@ import { Lang } from "@/constants/languages" +import { AccountPageContentItem } from "@/server/routers/contentstack/accountPage/output" -import { - AccountPageContentItem, - DynamicContentComponents, -} from "@/types/requests/myPages/accountpage" +import { DynamicContentComponents } from "@/types/components/myPages/myPage/enums" export type AccountPageContentProps = { component: DynamicContentComponents diff --git a/types/components/myPages/myPage/enums.ts b/types/components/myPages/myPage/enums.ts new file mode 100644 index 000000000..cc9c9f3a3 --- /dev/null +++ b/types/components/myPages/myPage/enums.ts @@ -0,0 +1,14 @@ +export enum DynamicContentComponents { + membership_overview = "membership_overview", + soonest_stays = "soonest_stays", + previous_stays = "previous_stays", + upcoming_stays = "upcoming_stays", + current_benefits = "current_benefits", + next_benefits = "next_benefits", +} + +export enum ContentEntries { + AccountPageContentDynamicContent = "AccountPageContentDynamicContent", + AccountPageContentShortcuts = "AccountPageContentShortcuts", + AccountPageContentTextContent = "AccountPageContentTextContent", +} diff --git a/types/requests/myPages/accountpage.ts b/types/requests/myPages/accountpage.ts deleted file mode 100644 index 281c38487..000000000 --- a/types/requests/myPages/accountpage.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Embeds } from "../embeds" -import { AllRequestResponse } from "../utils/all" -import { PageLink } from "../utils/pageLink" - -import { RTEDocument } from "@/types/rte/node" -import type { Edges } from "../utils/edges" -import type { Typename } from "../utils/typename" - -export enum DynamicContentComponents { - membership_overview = "membership_overview", - soonest_stays = "soonest_stays", - previous_stays = "previous_stays", - upcoming_stays = "upcoming_stays", - current_benefits = "current_benefits", - next_benefits = "next_benefits", -} - -export enum ContentEntries { - AccountPageContentDynamicContent = "AccountPageContentDynamicContent", - AccountPageContentShortcuts = "AccountPageContentShortcuts", - AccountPageContentTextContent = "AccountPageContentTextContent", -} - -type Shortcut = { - linkConnection: Edges - open_in_new_tab: boolean - text?: string -} - -type DynamicContent = { - component: DynamicContentComponents - title?: string - preamble?: string - link: { linkConnection: Edges; link_text: string } -} - -type AccountPageDynamicContent = Typename< - { dynamic_content: DynamicContent }, - ContentEntries.AccountPageContentDynamicContent -> - -type AccountPageContentShortcuts = Typename< - { - shortcuts: { title?: string; preamble?: string; shortcuts: Shortcut[] } - }, - ContentEntries.AccountPageContentShortcuts -> - -type AccountPageContentTextContent = Typename< - { - text_content: { - content: { - json: RTEDocument - embedded_itemsConnection: Edges - } - } - }, - ContentEntries.AccountPageContentTextContent -> - -export type AccountPageContentItem = - | AccountPageDynamicContent - | AccountPageContentShortcuts - | AccountPageContentTextContent - -type AccountPage = { - url: string - title: string - content: AccountPageContentItem[] -} - -export type GetAccountPageData = { - all_account_page: AllRequestResponse -}