From b83049462cf793c03812194ec804797d689c3d6b Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Tue, 19 May 2026 23:25:59 +0200 Subject: [PATCH] refactor(website): rename product page to platform and update navigation --- Agents.md | 1 + apps/website/astro.config.mjs | 3 + .../components/content/DashboardPreview.astro | 24 +- .../src/components/layout/Footer.astro | 104 +- apps/website/src/content/pages/home.ts | 4 +- apps/website/src/content/pages/platform.ts | 304 +++ apps/website/src/lib/site.ts | 27 +- apps/website/src/pages/platform.astro | 1826 +++++++++++++++++ apps/website/src/pages/product.astro | 63 - apps/website/src/types/site.ts | 2 + .../tests/smoke/changelog-core-ia.spec.ts | 2 +- apps/website/tests/smoke/home-product.spec.ts | 226 +- apps/website/tests/smoke/smoke-helpers.ts | 15 +- .../checklists/requirements.md | 38 + .../contracts/public-routes.openapi.yaml | 92 + .../401-tenantial-platform-page/data-model.md | 268 +++ specs/401-tenantial-platform-page/plan.md | 193 ++ .../401-tenantial-platform-page/quickstart.md | 90 + specs/401-tenantial-platform-page/research.md | 100 + specs/401-tenantial-platform-page/spec.md | 280 +++ specs/401-tenantial-platform-page/tasks.md | 255 +++ 21 files changed, 3781 insertions(+), 136 deletions(-) create mode 100644 apps/website/src/content/pages/platform.ts create mode 100644 apps/website/src/pages/platform.astro delete mode 100644 apps/website/src/pages/product.astro create mode 100644 specs/401-tenantial-platform-page/checklists/requirements.md create mode 100644 specs/401-tenantial-platform-page/contracts/public-routes.openapi.yaml create mode 100644 specs/401-tenantial-platform-page/data-model.md create mode 100644 specs/401-tenantial-platform-page/plan.md create mode 100644 specs/401-tenantial-platform-page/quickstart.md create mode 100644 specs/401-tenantial-platform-page/research.md create mode 100644 specs/401-tenantial-platform-page/spec.md create mode 100644 specs/401-tenantial-platform-page/tasks.md diff --git a/Agents.md b/Agents.md index 50b8b846..d3f69e6b 100644 --- a/Agents.md +++ b/Agents.md @@ -943,6 +943,7 @@ ## Active Technologies - PostgreSQL (Sail) - Tailwind CSS v4 - TypeScript 5.9, Astro 6 static components, HTML, CSS + Astro 6.0.0, Tailwind CSS 4.2.2 through CSS-first `@theme` and `@tailwindcss/vite`, `astro-icon`, `@iconify-json/lucide`, Playwright 1.59.1 (400-tenantial-homepage-visual-rebuild) +- TypeScript 5.9.3, Astro 6.0.0, Tailwind CSS v4.2.2 via `@tailwindcss/vite`, `astro-icon`, `@iconify-json/lucide`, and Playwright smoke tests for the static website; no database, CMS, API, customer data, tenant data, or runtime persistence. (401-tenantial-platform-page) ## Recent Changes - 066-rbac-ui-enforcement-helper-v2-session-1769732329: Planned UiEnforcement v2 (spec + plan + design artifacts) diff --git a/apps/website/astro.config.mjs b/apps/website/astro.config.mjs index 1a650fb6..83689aa9 100644 --- a/apps/website/astro.config.mjs +++ b/apps/website/astro.config.mjs @@ -9,6 +9,9 @@ const publicSiteUrl = process.env.PUBLIC_SITE_URL ?? 'https://tenantial.example' export default defineConfig({ integrations: [icon()], output: 'static', + redirects: { + '/product': '/platform', + }, site: publicSiteUrl, server: { host: true, diff --git a/apps/website/src/components/content/DashboardPreview.astro b/apps/website/src/components/content/DashboardPreview.astro index f1b0cbd2..8f7e9601 100644 --- a/apps/website/src/components/content/DashboardPreview.astro +++ b/apps/website/src/components/content/DashboardPreview.astro @@ -720,13 +720,13 @@ const evidenceItems = [ .finding-list { display: grid; - gap: 0.38rem; + gap: 0.42rem; } .finding-row { display: grid; - grid-template-columns: 0.82rem minmax(0, 1fr) auto auto; - gap: 0.42rem; + grid-template-columns: 0.72rem minmax(0, 1fr) auto; + gap: 0.34rem 0.44rem; align-items: center; } @@ -761,6 +761,16 @@ const evidenceItems = [ line-height: 1.15; } + .row-status-label { + grid-column: 3; + grid-row: 1 / span 2; + width: fit-content; + } + + .finding-row small { + display: none; + } + .timeline-list { position: relative; display: grid; @@ -1072,13 +1082,7 @@ const evidenceItems = [ } .finding-row { - grid-template-columns: 0.82rem minmax(0, 1fr); - } - - .row-status-label, - .finding-row small { - grid-column: 2; - width: fit-content; + grid-template-columns: 0.72rem minmax(0, 1fr) auto; } .timeline-list li { diff --git a/apps/website/src/components/layout/Footer.astro b/apps/website/src/components/layout/Footer.astro index 54e33689..e1c9daa3 100644 --- a/apps/website/src/components/layout/Footer.astro +++ b/apps/website/src/components/layout/Footer.astro @@ -1,5 +1,6 @@ --- import PrimaryCTA from '@/components/content/PrimaryCTA.astro'; +import TenantialLogo from '@/components/content/TenantialLogo.astro'; import Container from '@/components/primitives/Container.astro'; import { getFooterLead, getFooterNavigationGroups, siteMetadata } from '@/lib/site'; @@ -11,47 +12,80 @@ const { currentPath: _currentPath } = Astro.props; const currentYear = new Date().getFullYear(); const footerLead = getFooterLead(_currentPath); const footerNavigationGroups = await getFooterNavigationGroups(); +const isQuietFooter = _currentPath === '/platform'; --- -