From 5090c0f7437db310da72da197f4042cfd1ee1690 Mon Sep 17 00:00:00 2001 From: Jeffrey Date: Mon, 2 Mar 2026 10:45:08 +0100 Subject: [PATCH] fix: FAQ answer alignment + font size, ServicesGrid button --- src/app/(frontend)/globals.css | 45 +++++++++++++++++--- src/blocks/FDFaqBlock/Component.tsx | 2 +- src/blocks/FDServicesGridBlock/Component.tsx | 23 +++++----- 3 files changed, 52 insertions(+), 18 deletions(-) diff --git a/src/app/(frontend)/globals.css b/src/app/(frontend)/globals.css index c14e823..4944945 100644 --- a/src/app/(frontend)/globals.css +++ b/src/app/(frontend)/globals.css @@ -891,11 +891,46 @@ html:not([data-theme]) { margin: 2.5rem 0; } -/* Reset Payload's default padding on the richtext container - so it aligns with the parent block's layout. - Two selectors: descendant (blocks) and same-element (posts page) */ +/* ── Payload Lexical Rich Text — Global Indentation Reset ────────────── + Strips ALL padding/margin from the .payload-richtext wrapper AND its + direct children that Lexical's serialiser may inject. Uses !important + to override any inline styles Payload adds to the container. + The fd-prose-scoped selectors are kept as a fallback. + ─────────────────────────────────────────────────────────────────────── */ +.payload-richtext { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + padding-inline-start: 0 !important; + padding-inline-end: 0 !important; +} + +/* First paragraph inside richtext: kill top margin so text sits flush + against whichever heading or label appears above */ +.payload-richtext > p:first-child, +.payload-richtext > div:first-child > p:first-child { + margin-top: 0; +} + +/* Lexical sometimes wraps content in an inner div — strip that too */ +.payload-richtext > div { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + padding-inline-start: 0 !important; +} + +/* Ensure paragraphs inside richtext don't carry stray padding or indent */ +.payload-richtext p { + padding-inline-start: 0 !important; + text-indent: 0 !important; +} + +/* Legacy scoped selectors (posts wrapped in fd-prose) */ .fd-prose .payload-richtext, .fd-prose.payload-richtext { - padding-left: 0; - padding-right: 0; + padding-left: 0 !important; + padding-right: 0 !important; } diff --git a/src/blocks/FDFaqBlock/Component.tsx b/src/blocks/FDFaqBlock/Component.tsx index 0cb0eb8..99a5d52 100644 --- a/src/blocks/FDFaqBlock/Component.tsx +++ b/src/blocks/FDFaqBlock/Component.tsx @@ -87,7 +87,7 @@ export const FDFaqBlockComponent: React.FC = ({ }`} >
-
+
diff --git a/src/blocks/FDServicesGridBlock/Component.tsx b/src/blocks/FDServicesGridBlock/Component.tsx index 9217c78..a8dab22 100644 --- a/src/blocks/FDServicesGridBlock/Component.tsx +++ b/src/blocks/FDServicesGridBlock/Component.tsx @@ -1,6 +1,7 @@ import React from 'react' import type { FDServicesGridBlock as FDServicesGridBlockProps, Media } from '@/payload-types' import { FDImage } from '@/components/FDImage' +import { FDButton } from '@/components/FDButton' const columnClasses: Record = { '2': 'grid-cols-1 md:grid-cols-2', @@ -28,8 +29,8 @@ export const FDServicesGridBlockComponent: React.FC = {services?.map((service, index) => { const media = service.image as Media - const content = ( -
+ return ( +

{service.title}

@@ -47,18 +48,16 @@ export const FDServicesGridBlockComponent: React.FC =

{service.description}

+ + {service.link && ( +
+ + Läs mer + +
+ )}
) - - if (service.link) { - return ( - - {content} - - ) - } - - return
{content}
})}