Some checks failed
Main Confidence / confidence (push) Failing after 50s
Automated commit by agent: commits workspace changes for feature 217-homepage-hero. Please review and merge into `dev`. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #259
100 lines
5.7 KiB
Markdown
100 lines
5.7 KiB
Markdown
# Data Model: Website Homepage Hero
|
|
|
|
This feature introduces no database schema and no platform-side persistence. The model is file- and route-based inside `apps/website` and defines how the homepage hero expresses product truth, CTA hierarchy, early trust cues, and the next-step path.
|
|
|
|
## 1. Homepage Hero Source Object
|
|
|
|
Represents the hero content exported from `apps/website/src/content/pages/home.ts`.
|
|
|
|
| Field | Type | Description | Rules |
|
|
|---|---|---|---|
|
|
| `eyebrow` | string | Short positioning cue or category context | Required; must anchor the hero in a believable category or problem space |
|
|
| `title` | string | Primary positioning headline | Required; must frame product, problem, or outcome without hype language |
|
|
| `description` | string | Supporting copy | Required; must sharpen the headline in plain product language |
|
|
| `primaryCta` | `CtaLink` | Dominant next-step action | Required; exactly one dominant primary CTA |
|
|
| `secondaryCta` | `CtaLink` | Secondary deepening action | Required for Spec 218 hero contract; must remain lower-emphasis than the primary CTA |
|
|
| `productVisual` | `HeroVisualContent` | Product-near screenshot or stylized product shot | Required by the hero contract unless a temporary explicit exemption is documented |
|
|
| `trustSubclaims` | string[] | Optional early trust cues | Optional; must remain short, factual, and bounded |
|
|
| `highlights` | string[] | Optional lightweight support points | Optional; should not compete with trust subclaims when both exist |
|
|
|
|
**Relationships**:
|
|
- Rendered by `apps/website/src/components/sections/PageHero.astro`
|
|
- Consumed by `apps/website/src/pages/index.astro`
|
|
- Secondary truth for trust-facing claims must remain compatible with `apps/website/src/content/pages/trust.ts`
|
|
|
|
**Validation rules**:
|
|
- Exactly one primary CTA and one secondary CTA must remain visible as the hero action pair
|
|
- Headline and description must not collapse into generic SaaS phrasing or stacked claims
|
|
- Trust subclaims must never become a badge wall or imply legal or compliance guarantees
|
|
|
|
## 2. Hero CTA Pair
|
|
|
|
Represents the two hero actions as one intentional routing pair.
|
|
|
|
| Field | Type | Description | Rules |
|
|
|---|---|---|---|
|
|
| `primary` | `CtaLink` | Primary next-step action | Must lead to `/contact`, `/demo`, or an equivalent explicitly approved next step |
|
|
| `secondary` | `CtaLink` | Lower-emphasis exploration route | Must lead to a maintained informational surface such as `/product`, `/trust`, or `/changelog` |
|
|
| `dominance` | derived UI property | Relative emphasis between the two CTAs | Primary must remain visually dominant |
|
|
| `reachability` | derived route truth | Whether the linked routes are real and maintained | Hero must not point to placeholder or immature surfaces |
|
|
|
|
**Validation rules**:
|
|
- The pair must communicate one clear next step and one clear deepening path
|
|
- Multiple equally dominant primary sales actions are forbidden
|
|
|
|
## 3. Hero Visual Asset
|
|
|
|
Represents the product-near media used in the hero.
|
|
|
|
| Field | Type | Description | Rules |
|
|
|---|---|---|---|
|
|
| `src` | string | Public asset path | Must resolve to a maintained hero asset in `apps/website/public` or equivalent |
|
|
| `alt` | string | Accessibility text for the visual | Must describe product-relevant UI truth, not generic marketing scenery |
|
|
| `truthBasis` | derived review rule | Why the visual is considered product-near | Must be traceable to real product structure or a truthful simplification |
|
|
| `mobilePersistence` | derived render rule | Whether the visual remains visible on small screens | Must stay visible when it is a key credibility signal |
|
|
|
|
**Validation rules**:
|
|
- No fantasy metrics, fake dashboards, or unrelated analytics wallpaper
|
|
- Cropping or stylization is allowed only when product structure remains clear
|
|
|
|
## 4. Trust Subclaim Set
|
|
|
|
Represents the optional early-trust layer inside the hero.
|
|
|
|
| Field | Type | Description | Rules |
|
|
|---|---|---|---|
|
|
| `claims` | string[] | Short factual trust cues | Optional; should remain few and concise |
|
|
| `supportRoute` | route or derived surface | Where deeper trust context lives | Normally `/trust` |
|
|
| `visibility` | derived render rule | When trust cues are shown | Show only when claims are supportable and do not compete with the hero core |
|
|
|
|
**Validation rules**:
|
|
- Claims must be factual and publicly supportable
|
|
- Claims must not imply absolute compliance, security, or hosting guarantees
|
|
- Trust cues must support the hero, not overrun it
|
|
|
|
## 5. Hero Render Contract
|
|
|
|
Represents the semantic structure that `PageHero.astro` must preserve.
|
|
|
|
| Element | Role | Requirement |
|
|
|---|---|---|
|
|
| Category context | Early positioning cue | Must appear before or adjacent to the headline |
|
|
| Headline | Primary positioning statement | Must remain the dominant text signal |
|
|
| Supporting copy | Headline clarification | Must remain directly associated with the headline |
|
|
| CTA pair | Action transition | Must keep one dominant primary and one lower-emphasis secondary action |
|
|
| Product-near visual | Product truth signal | Must remain part of the hero composition |
|
|
| Optional trust subclaims | Early credibility cues | Must stay secondary to product and CTA understanding |
|
|
|
|
**Mobile meaning order**:
|
|
- headline and supporting copy
|
|
- CTA pair
|
|
- product-near visual
|
|
- optional trust signals
|
|
|
|
## Derived State and Availability
|
|
|
|
- No independent state machine is added by this feature.
|
|
- Hero route availability remains derived from the homepage route at `/`.
|
|
- Hero CTA reachability remains derived from canonical public routes in `apps/website`.
|
|
- Trust-subclaim legitimacy remains derived from public website truth, especially the Trust surface.
|
|
- Product-visual readiness remains asset-based; if the current visual stops being truthful enough, it must be replaced rather than papered over with abstraction. |