From 66faa41e9895c881e542586adb388ec03ad38ddb Mon Sep 17 00:00:00 2001 From: Simon Emanuelsson Date: Wed, 7 Feb 2024 11:57:36 +0100 Subject: [PATCH] feat: json rich text editor, blocks, asides, general structure --- app/[lang]/current-content-page/page.tsx | 28 ++++- components/Current/Aside.tsx | 33 ++++- components/Current/Asides/Puff/index.tsx | 60 +++++++++ .../Current/Asides/Puff/puff.module.css | 47 +++++++ .../Current/Asides/Puff/renderOptions.tsx | 13 ++ components/Current/Blocks.tsx | 8 +- components/Current/Blocks/Preamble.tsx | 7 -- components/Current/Blocks/Text.tsx | 30 +---- components/Current/Footer/index.tsx | 32 ++--- .../Breadcrumbs/breadcrumbs.module.css | 32 +++++ .../Current/Preamble/Breadcrumbs/index.tsx | 31 +++++ components/Current/Preamble/index.tsx | 26 ++++ .../Current/Preamble/preamble.module.css | 25 ++++ components/Current/Preamble/renderOptions.tsx | 13 ++ components/Current/Section/index.tsx | 11 ++ components/Current/Section/section.module.css | 25 ++++ components/Current/SubnavMobile.tsx | 31 +++++ components/JsonToHtml/index.tsx | 10 ++ components/JsonToHtml/jsontohtml.module.css | 6 + components/JsonToHtml/renderOptions.tsx | 116 ++++++++++++++++++ components/JsonToHtml/utils.tsx | 85 +++++++++++++ lib/graphql/Fragments/Blocks/List.graphql | 1 + lib/graphql/Fragments/Blocks/Text.graphql | 7 +- lib/graphql/Fragments/Breadcrumbs.graphql | 25 ++++ lib/graphql/Fragments/Hero.graphql | 8 +- lib/graphql/Fragments/Image.graphql | 4 +- lib/graphql/Fragments/PageLinks.graphql | 6 + .../Fragments/{Blocks => }/Preamble.graphql | 11 +- lib/graphql/Fragments/Puff.graphql | 12 +- lib/graphql/Query/CurrentBlockPage.graphql | 6 +- types/components/current/asides/puff.ts | 3 + types/components/current/breadcrumbs.ts | 8 ++ types/components/current/preamble.ts | 10 ++ types/components/current/subnavMobile.ts | 8 ++ types/components/jsontohtml.ts | 13 ++ types/image.ts | 5 + types/requests/blocks/preamble.ts | 17 --- types/requests/blocks/text.ts | 10 +- types/requests/currentBlockPage.ts | 30 ++++- types/requests/embeds.ts | 8 ++ types/requests/footer.ts | 15 +-- types/requests/preamble.ts | 10 ++ types/requests/puff.ts | 19 ++- types/requests/utils/asset.ts | 9 +- types/requests/utils/embeds.ts | 7 ++ types/requests/utils/externalLink.ts | 9 +- types/requests/utils/pageLink.ts | 11 +- types/requests/utils/typename.ts | 16 +-- types/rte.ts | 58 --------- types/rte/attrs.ts | 38 ++++++ types/rte/enums.ts | 48 ++++++++ types/rte/node.ts | 71 +++++++++++ types/rte/option.ts | 5 + 53 files changed, 966 insertions(+), 211 deletions(-) create mode 100644 components/Current/Asides/Puff/index.tsx create mode 100644 components/Current/Asides/Puff/puff.module.css create mode 100644 components/Current/Asides/Puff/renderOptions.tsx delete mode 100644 components/Current/Blocks/Preamble.tsx create mode 100644 components/Current/Preamble/Breadcrumbs/breadcrumbs.module.css create mode 100644 components/Current/Preamble/Breadcrumbs/index.tsx create mode 100644 components/Current/Preamble/index.tsx create mode 100644 components/Current/Preamble/preamble.module.css create mode 100644 components/Current/Preamble/renderOptions.tsx create mode 100644 components/Current/Section/index.tsx create mode 100644 components/Current/Section/section.module.css create mode 100644 components/Current/SubnavMobile.tsx create mode 100644 components/JsonToHtml/index.tsx create mode 100644 components/JsonToHtml/jsontohtml.module.css create mode 100644 components/JsonToHtml/renderOptions.tsx create mode 100644 components/JsonToHtml/utils.tsx create mode 100644 lib/graphql/Fragments/Breadcrumbs.graphql rename lib/graphql/Fragments/{Blocks => }/Preamble.graphql (55%) create mode 100644 types/components/current/asides/puff.ts create mode 100644 types/components/current/breadcrumbs.ts create mode 100644 types/components/current/preamble.ts create mode 100644 types/components/current/subnavMobile.ts create mode 100644 types/components/jsontohtml.ts delete mode 100644 types/requests/blocks/preamble.ts create mode 100644 types/requests/embeds.ts create mode 100644 types/requests/preamble.ts create mode 100644 types/requests/utils/embeds.ts delete mode 100644 types/rte.ts create mode 100644 types/rte/attrs.ts create mode 100644 types/rte/enums.ts create mode 100644 types/rte/node.ts create mode 100644 types/rte/option.ts diff --git a/app/[lang]/current-content-page/page.tsx b/app/[lang]/current-content-page/page.tsx index 4490a153e..dafb03931 100644 --- a/app/[lang]/current-content-page/page.tsx +++ b/app/[lang]/current-content-page/page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "next/navigation"; +import { notFound } from "next/navigation" import { request } from "@/lib/request" import { GetCurrentBlockPage } from "@/lib/graphql/Query/CurrentBlockPage.graphql" @@ -7,6 +7,9 @@ import Aside from "@/components/Current/Aside" import Blocks from "@/components/Current/Blocks" import Header from "@/components/Current/Header" import Hero from "@/components/Current/Hero" +import Preamble from "@/components/Current/Preamble" +import Section from "@/components/Current/Section" +import SubnavMobile from "@/components/Current/SubnavMobile" import type { PageArgs, LangParams, UriParams } from "@/types/params" import type { GetCurrentBlockPageData } from "@/types/requests/currentBlockPage" @@ -34,14 +37,31 @@ export default async function CurrentContentPage({ const page = response.data.all_current_blocks_page.items[0] const images = page.hero?.imagesConnection + const breadcrumbs = page.breadcrumbs.parentsConnection + const parent = breadcrumbs.edges.at(-1) return ( <>
{images?.totalCount ? : null} -
- -