TenantAtlas/apps/website/src/components/sections/landing/ClientsSection.astro
ahmido b9c128163b feat: public website launch readiness updates (#394)
## Summary
- apply public website launch readiness updates across the Astro site shell, content, and navigation
- refine website components, metadata, and localization-related structure for launch prep
- update docs/content paths and smoke coverage to match the launch-ready public site state

## Scope
- touches the website app and related spec artifacts for feature 403
- does not modify `apps/platform`

## Testing
- not run in this step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #394
2026-05-21 21:41:33 +00:00

59 lines
1.3 KiB
Plaintext

---
// Define props from Astro
const { title, subTitle, partners } = Astro.props;
interface Partner {
icon: any;
name?: string;
href?: string;
}
// Define TypeScript interface for props
interface Props {
title: string;
subTitle?: string;
partners: Partner[];
}
const visiblePartners = partners.filter(
partner => partner.href && partner.icon
);
---
<section
class="mx-auto max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 2xl:max-w-full"
>
{/* Title and description */}
<div class="mx-auto mb-6 w-full space-y-1 text-center sm:w-1/2 lg:w-1/3">
<h2
class="text-2xl leading-tight font-bold text-balance text-neutral-800 sm:text-3xl dark:text-neutral-200"
>
{title}
</h2>
{
subTitle && (
<p class="leading-tight text-pretty text-neutral-600 dark:text-neutral-400">
{subTitle}
</p>
)
}
</div>
<div
class="flex flex-col items-center justify-center gap-y-2 sm:flex-row sm:gap-x-12 sm:gap-y-0 lg:gap-x-24"
>
{/* Clients Group SVGs */}
{
visiblePartners.map(partner => (
<a
href={partner.href}
target="_blank"
rel="noopener noreferrer"
aria-label={partner.name}
>
<div set:html={partner.icon} />
</a>
))
}
</div>
</section>