From 54d604ff1efa2f198f0175e72b752c0594e26001 Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Sun, 19 Apr 2026 09:10:29 +0200 Subject: [PATCH] feat: implement website visual foundation --- .github/agents/copilot-instructions.md | 3 + .../src/components/content/AudienceRow.astro | 17 +- .../src/components/content/Callout.astro | 17 +- .../src/components/content/ContactPanel.astro | 7 +- .../src/components/content/DemoPrompt.astro | 15 +- .../src/components/content/Eyebrow.astro | 16 +- .../src/components/content/FeatureItem.astro | 19 +- .../src/components/content/Headline.astro | 17 +- .../components/content/IntegrationBadge.astro | 15 +- .../website/src/components/content/Lead.astro | 14 +- .../src/components/content/Metric.astro | 10 +- .../src/components/content/PrimaryCTA.astro | 12 +- .../src/components/content/RichText.astro | 13 +- .../src/components/content/SecondaryCTA.astro | 12 +- .../content/TrustPrincipleCard.astro | 12 +- .../src/components/layout/Footer.astro | 19 +- .../src/components/layout/Navbar.astro | 34 +-- .../src/components/layout/PageShell.astro | 13 +- .../src/components/primitives/Badge.astro | 9 +- .../src/components/primitives/Button.astro | 28 ++- .../src/components/primitives/Card.astro | 13 +- .../src/components/primitives/Cluster.astro | 21 +- .../src/components/primitives/Container.astro | 22 +- .../src/components/primitives/Grid.astro | 9 +- .../src/components/primitives/Input.astro | 3 +- .../src/components/primitives/Section.astro | 28 ++- .../components/primitives/SectionHeader.astro | 9 +- .../src/components/primitives/Stack.astro | 6 +- .../src/components/primitives/Textarea.astro | 3 +- .../src/components/sections/CTASection.astro | 4 +- .../src/components/sections/FeatureGrid.astro | 4 +- .../src/components/sections/LogoStrip.astro | 6 +- .../src/components/sections/PageHero.astro | 42 ++-- .../src/components/sections/TrustGrid.astro | 4 +- apps/website/src/content/pages/home.ts | 4 +- .../src/content/pages/security-trust.ts | 2 +- apps/website/src/content/pages/solutions.ts | 2 +- apps/website/src/lib/seo.ts | 12 +- apps/website/src/lib/site.ts | 151 +++++++++++++- apps/website/src/pages/contact.astro | 32 +-- apps/website/src/pages/index.astro | 14 +- apps/website/src/pages/integrations.astro | 6 +- apps/website/src/pages/legal.astro | 10 +- apps/website/src/pages/privacy.astro | 4 +- apps/website/src/pages/product.astro | 10 +- apps/website/src/pages/security-trust.astro | 8 +- apps/website/src/pages/solutions.astro | 6 +- apps/website/src/pages/terms.astro | 4 +- apps/website/src/styles/global.css | 163 +++++++++++---- apps/website/src/styles/tokens.css | 126 +++++++++-- apps/website/src/types/site.ts | 42 +++- .../website/tests/smoke/contact-legal.spec.ts | 21 ++ apps/website/tests/smoke/home-product.spec.ts | 40 ++-- apps/website/tests/smoke/smoke-helpers.ts | 33 ++- .../solutions-trust-integrations.spec.ts | 33 ++- .../visual-foundation-guardrails.spec.ts | 36 ++++ .../checklists/requirements.md | 35 ++++ .../website-visual-foundation.contract.yaml | 178 ++++++++++++++++ .../data-model.md | 193 +++++++++++++++++ specs/214-website-visual-foundation/plan.md | 183 ++++++++++++++++ .../quickstart.md | 76 +++++++ .../214-website-visual-foundation/research.md | 58 ++++++ specs/214-website-visual-foundation/spec.md | 176 ++++++++++++++++ specs/214-website-visual-foundation/tasks.md | 197 ++++++++++++++++++ 64 files changed, 2036 insertions(+), 295 deletions(-) create mode 100644 apps/website/tests/smoke/visual-foundation-guardrails.spec.ts create mode 100644 specs/214-website-visual-foundation/checklists/requirements.md create mode 100644 specs/214-website-visual-foundation/contracts/website-visual-foundation.contract.yaml create mode 100644 specs/214-website-visual-foundation/data-model.md create mode 100644 specs/214-website-visual-foundation/plan.md create mode 100644 specs/214-website-visual-foundation/quickstart.md create mode 100644 specs/214-website-visual-foundation/research.md create mode 100644 specs/214-website-visual-foundation/spec.md create mode 100644 specs/214-website-visual-foundation/tasks.md diff --git a/.github/agents/copilot-instructions.md b/.github/agents/copilot-instructions.md index b42d6931..b28efd35 100644 --- a/.github/agents/copilot-instructions.md +++ b/.github/agents/copilot-instructions.md @@ -208,6 +208,8 @@ ## Active Technologies - Markdown governance artifacts in a PHP 8.4.15 / Laravel 12 / Filament v5 / Livewire v4 repository + `.specify/memory/constitution.md`, `docs/ui/operator-ux-surface-standards.md`, adjacent Specs 196 through 199, existing UI rule IDs `UI-SURF-001`, `ACTSURF-001`, `UI-HARD-001`, `UI-EX-001`, `UI-FIL-001`, `DECIDE-001`, and `UX-001` (200-filament-surface-rules) - Astro 6.0.0 templates + TypeScript 5.x (explicit setup in `apps/website`) + Astro 6, Tailwind CSS v4, custom Astro component primitives (shadcn-inspired), lightweight Playwright browser smoke tests (213-website-foundation-v0) - Static filesystem content, styles, and assets under `apps/website/src` and `apps/website/public`; no database (213-website-foundation-v0) +- Astro 6.0.0 templates + TypeScript 5.9 strict + Astro 6, Tailwind CSS v4 via `@tailwindcss/vite`, Astro content collections, local Astro component primitives, Playwright browser smoke tests (214-website-visual-foundation) +- Static filesystem content, styles, assets, and content collections under `apps/website/src` and `apps/website/public`; no database (214-website-visual-foundation) - PHP 8.4.15 (feat/005-bulk-operations) @@ -242,6 +244,7 @@ ## Code Style PHP 8.4.15: Follow standard conventions ## Recent Changes +- 214-website-visual-foundation: Added Astro 6.0.0 templates + TypeScript 5.9 strict + Astro 6, Tailwind CSS v4 via `@tailwindcss/vite`, Astro content collections, local Astro component primitives, Playwright browser smoke tests - 213-website-foundation-v0: Added Astro 6.0.0 templates + TypeScript 5.x (explicit setup in `apps/website`) + Astro 6, Tailwind CSS v4, custom Astro component primitives (shadcn-inspired), lightweight Playwright browser smoke tests - 200-filament-surface-rules: Added Markdown governance artifacts in a PHP 8.4.15 / Laravel 12 / Filament v5 / Livewire v4 repository + `.specify/memory/constitution.md`, `docs/ui/operator-ux-surface-standards.md`, adjacent Specs 196 through 199, existing UI rule IDs `UI-SURF-001`, `ACTSURF-001`, `UI-HARD-001`, `UI-EX-001`, `UI-FIL-001`, `DECIDE-001`, and `UX-001` - 199-global-context-shell-contract: Added PHP 8.4.15 + Laravel 12, Filament v5, Livewire v4, Pest v4, Tailwind CSS v4, existing `WorkspaceContext`, `OperateHubShell`, `EnsureFilamentTenantSelected`, `WorkspaceRedirectResolver`, `WorkspaceIntendedUrl`, `TenantPageCategory`, and `ResolvesPanelTenantContext` diff --git a/apps/website/src/components/content/AudienceRow.astro b/apps/website/src/components/content/AudienceRow.astro index bc41ecff..7534da18 100644 --- a/apps/website/src/components/content/AudienceRow.astro +++ b/apps/website/src/components/content/AudienceRow.astro @@ -1,4 +1,7 @@ --- +import Eyebrow from '@/components/content/Eyebrow.astro'; +import Headline from '@/components/content/Headline.astro'; +import Lead from '@/components/content/Lead.astro'; import SecondaryCTA from '@/components/content/SecondaryCTA.astro'; import Card from '@/components/primitives/Card.astro'; import type { AudienceRowContent } from '@/types/site'; @@ -11,17 +14,17 @@ const { item } = Astro.props; --- -

- {item.audience} -

-

+ {item.audience} + {item.title} -

-

{item.description}

+ + + {item.description} +