Some checks failed
Main Confidence / confidence (push) Failing after 43s
## 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
56 lines
2.6 KiB
Plaintext
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>
|