Some checks failed
Main Confidence / confidence (push) Failing after 45s
## 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
46 lines
900 B
Plaintext
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>
|