TenantAtlas/apps/website/src/pages/integrations.astro
ahmido 0da1b38764
Some checks failed
Main Confidence / confidence (push) Failing after 43s
feat: implement website core pages IA (#252)
## Summary
- implement the website-only core IA for Spec 215 with canonical Home, Product, Trust, Changelog, Contact, Privacy, and Imprint routes
- reduce primary navigation to the core buyer journey, retain legal/supporting pages as secondary surfaces, and redirect `/security-trust` to `/trust`
- add route metadata, sitemap/canonical handling, changelog publishing, and updated smoke coverage for the new IA contract

## Testing
- `corepack pnpm build:website`
- `cd apps/website && corepack pnpm exec playwright test`
- integrated browser smoke validation for core routes, secondary routes, `/security-trust -> /trust`, hidden optional routes, mobile nav, and Trust/Changelog to Contact paths

## Notes
- keeps all changes local to `apps/website` and the Spec 215 artifacts
- preserves the website working contract with no `apps/platform` runtime coupling

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

56 lines
2.6 KiB
Plaintext

---
import IntegrationBadge from '@/components/content/IntegrationBadge.astro';
import PageShell from '@/components/layout/PageShell.astro';
import Container from '@/components/primitives/Container.astro';
import Grid from '@/components/primitives/Grid.astro';
import Section from '@/components/primitives/Section.astro';
import SectionHeader from '@/components/primitives/SectionHeader.astro';
import CTASection from '@/components/sections/CTASection.astro';
import FeatureGrid from '@/components/sections/FeatureGrid.astro';
import PageHero from '@/components/sections/PageHero.astro';
import {
integrationEntries,
integrationRules,
integrationsHero,
integrationsSeo,
} from '@/content/pages/integrations';
---
<PageShell currentPath="/integrations" title={integrationsSeo.title} description={integrationsSeo.description}>
<PageHero
hero={integrationsHero}
calloutTitle="Real direction beats a longer wishlist."
calloutDescription="This supporting route should reinforce where the product actually fits today without pretending ecosystem detail belongs in primary navigation."
/>
<Section tone="muted" density="base" layer="2">
<Container width="wide">
<div class="space-y-8">
<SectionHeader
eyebrow="Current direction"
title="Keep ecosystem fit visible without pretending it belongs in primary navigation."
description="This page should stay focused on the contracts and ecosystems that matter to Microsoft tenant governance work now."
/>
<Grid cols="2">
{integrationEntries.map((item) => <IntegrationBadge item={item} />)}
</Grid>
</div>
</Container>
</Section>
<FeatureGrid
eyebrow="Page rules"
title="Use the integrations page to clarify scope, not to perform ambition."
description="The public site becomes more credible when it names the real ecosystem fit and avoids presenting speculative adjacencies as if they were launch truth."
items={integrationRules}
/>
<CTASection
eyebrow="Next step"
title="Turn ecosystem fit into a practical evaluation conversation."
description="Once a buyer sees the Microsoft-centric fit, the next useful step is a working session or a return to the core product explanation."
primary={{ href: '/contact', label: 'Plan the working session' }}
secondary={{ href: '/product', label: 'See the product model', variant: 'secondary' }}
/>
</PageShell>