TenantAtlas/apps/website/src/components/sections/testimonials/TestimonialsSectionAlt.astro
ahmido eeb5c98450 feat: rebuild website on ScrewFast foundation (#393)
## Summary
- rebuild `apps/website` on the pinned ScrewFast Astro foundation
- replace the legacy page/content/component structure with the new section and UI architecture
- add Starlight-based docs and the new public route set for platform, pricing, trust, legal, and guides
- refresh website tooling, dependencies, and Playwright smoke coverage for the new site shell

## Scope
- touches `apps/website` and the matching spec artifacts for feature 402
- does not modify `apps/platform`

## Testing
- not run in this step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #393
2026-05-20 21:36:29 +00:00

74 lines
2.2 KiB
Plaintext

---
// Import AvatarTestimonialSection component for use in this module
import AvatarTestimonialSection from '../../ui/avatars/AvatarTestimonialSection.astro';
// Define props from Astro
const { title, testimonials } = Astro.props;
// Define TypeScript interface for Testimonial
interface Testimonial {
content: string;
author: string;
role: string;
avatarSrc: string;
avatarAlt: string;
}
// Define TypeScript interface for props
interface Props {
title: string;
testimonials: Testimonial[];
}
---
{/* Main div that wraps the testimonials section */}
<section
class="mx-auto max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 2xl:max-w-full"
id="testimonials"
>
{/* Title of the testimonials section */}
<div class="mb-6 w-3/4 max-w-2xl sm:mb-10 md:mb-16 lg:w-1/2">
<h2
class="text-2xl font-bold text-balance text-neutral-800 sm:text-3xl lg:text-4xl dark:text-neutral-200"
>
{title}
</h2>
</div>
<div class="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
{/* Looping through each testimonial data and rendering it */}
{
testimonials.map(testimonial => (
<div class="flex h-auto">
<div class="flex flex-col rounded-xl bg-neutral-50 dark:bg-neutral-700">
<div class="flex-auto p-4 md:p-6">
{/* Testimonial content */}
<p class="text-base text-pretty text-neutral-600 italic md:text-lg dark:text-neutral-300">
{testimonial.content}
</p>
</div>
<div class="rounded-b-xl bg-neutral-300/30 p-4 md:px-7 dark:bg-neutral-900/30">
<div class="flex items-center">
<AvatarTestimonialSection
src={testimonial.avatarSrc}
alt={testimonial.avatarAlt}
/>
<div class="ms-3 grow">
<p class="text-sm font-bold text-neutral-800 sm:text-base dark:text-neutral-200">
{testimonial.author}
</p>
<p class="text-xs text-neutral-600 dark:text-neutral-400">
{testimonial.role}
</p>
</div>
</div>
</div>
</div>
</div>
))
}
</div>
</section>