## Summary - tighten homepage messaging, hero support copy, trust teaser flow, and CTA routing for the website public-content rollout - align shared website copy, smoke expectations, and spec 404 artifacts with the latest messaging pass - replace the previously closed PR for `404-public-content-messaging` ## Commits - `44d27395` feat(website): tighten homepage messaging and trust flow - `1ddbd28b` feat(website): refine public content messaging rollout ## Validation - `git diff --check` ## Notes - local Playwright MCP output remains untracked and was not included Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #398
50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
---
|
|
// Import the necessary modules
|
|
import { Image } from 'astro:assets';
|
|
import PrimaryCTA from '@components/ui/buttons/PrimaryCTA.astro';
|
|
// Destructure the props passed to the Astro component
|
|
const { title, subTitle, btnExists, btnTitle, btnURL, img, imgAlt } =
|
|
Astro.props;
|
|
// Define TypeScript interface for props
|
|
interface Props {
|
|
title: string;
|
|
subTitle: string;
|
|
btnExists?: boolean;
|
|
btnTitle?: string;
|
|
btnURL?: string;
|
|
img: any;
|
|
imgAlt: any;
|
|
}
|
|
---
|
|
|
|
{/* The root section of the component */}
|
|
<section
|
|
class="mx-auto max-w-[85rem] items-center gap-8 px-4 py-10 sm:px-6 sm:py-16 md:grid md:grid-cols-2 lg:grid lg:grid-cols-2 lg:px-8 lg:py-14 xl:gap-16 2xl:max-w-full"
|
|
>
|
|
{/* The Image component which renders the image */}
|
|
<Image
|
|
class="w-full rounded-xl"
|
|
src={img}
|
|
alt={imgAlt}
|
|
draggable={'false'}
|
|
format={'avif'}
|
|
/>
|
|
{/* The container for title, subtitle, and optional CTA button */}
|
|
<div class="mt-4 md:mt-0">
|
|
{/* The title of the section */}
|
|
<h2
|
|
class="mb-4 text-3xl font-extrabold tracking-tight break-words text-balance text-neutral-800 md:text-4xl dark:text-neutral-200"
|
|
>
|
|
{title}
|
|
</h2>
|
|
{/* The subtitle of the section */}
|
|
<p
|
|
class="mb-4 max-w-prose font-normal text-pretty text-neutral-600 sm:text-lg dark:text-neutral-400"
|
|
>
|
|
{subTitle}
|
|
</p>
|
|
{/* Conditionally render the Primary CTA button if btnExists is true */}
|
|
{btnExists ? <PrimaryCTA title={btnTitle} url={btnURL} /> : null}
|
|
</div>
|
|
</section>
|