TenantAtlas/apps/website/src/components/primitives/Section.astro
ahmido 40039337d8
Some checks failed
Main Confidence / confidence (push) Failing after 45s
feat: implement homepage structure spec 216 (#254)
## Summary

Implements Spec 216 for the public website homepage in `apps/website`.

This reworks the homepage into the required narrative flow:
- hero with one dominant CTA, one secondary CTA, product-near visual, and bounded trust subclaims
- outcome framing section
- grouped capability model section
- explicit trust block before the final CTA
- dated progress teaser backed by changelog entries
- final CTA transition to contact

It also adds the full spec-kit artifact set for `specs/216-homepage-structure` and updates the smoke suite to prove section order, CTA hierarchy, onward route reachability, and mobile readability.

## Validation

- `corepack pnpm build:website`
- `cd apps/website && corepack pnpm exec playwright test`

## Notes

- Branch: `216-homepage-structure`
- Commit: `097f8e70`
- Remote branch has been pushed and is ready for review.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #254
2026-04-19 12:56:05 +00:00

46 lines
900 B
Plaintext

---
interface Props {
as?: keyof HTMLElementTagNameMap;
class?: string;
density?: 'base' | 'compact' | 'spacious';
id?: string;
layer?: '1' | '2' | '3';
tone?: 'default' | 'emphasis' | 'muted';
[key: string]: unknown;
}
const {
as = 'section',
class: className = '',
density = 'base',
id,
layer = '2',
tone = 'default',
...rest
} = Astro.props;
const Tag = as;
const densityClasses = {
compact: 'section-density-compact',
base: 'section-density-base',
spacious: 'section-density-spacious',
};
const toneClasses = {
default: '',
muted: 'section-shell-muted px-3 sm:px-4',
emphasis: 'section-shell-emphasis px-3 sm:px-4',
};
---
<Tag
id={id}
data-disclosure-layer={layer}
class:list={[
densityClasses[density],
toneClasses[tone],
className,
]}
{...rest}
>
<slot />
</Tag>