Some checks failed
Main Confidence / confidence (push) Failing after 42s
## Summary - establish the initial Astro website foundation for `apps/website` with explicit TypeScript, Tailwind CSS v4, and reusable layout/content primitives - ship the v0 public route set for home, product, solutions, security & trust, integrations, contact, legal, privacy, and terms - add SEO/discovery basics, Playwright browser smoke coverage, and the full Spec 213 planning bundle under `specs/213-website-foundation-v0` - extend ignore rules for website test artifacts and refresh Copilot agent context for the new website stack ## Validation - `corepack pnpm build:website` - `cd apps/website && corepack pnpm exec playwright test` ## Notes - branch: `213-website-foundation-v0` - commit: `020d416d0d8af4d16a981ff4f4f6d90153b9c603` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #249
66 lines
2.8 KiB
TypeScript
66 lines
2.8 KiB
TypeScript
import type { HeroContent, LegalSection, PageSeo } from '@/types/site';
|
|
|
|
export const contactSeo: PageSeo = {
|
|
title: 'TenantAtlas | Contact',
|
|
description:
|
|
'TenantAtlas uses a qualified working-session path instead of a generic demo pitch so serious buyers can frame the right conversation early.',
|
|
path: '/contact',
|
|
};
|
|
|
|
export const contactHero: HeroContent = {
|
|
eyebrow: 'Contact / Demo',
|
|
title: 'Start a qualified working session instead of a generic demo request.',
|
|
description:
|
|
'The contact path should help serious buyers explain who they are, what governance questions they are trying to solve, and what kind of follow-up would actually be useful.',
|
|
primaryCta: {
|
|
href: 'mailto:hello@tenantatlas.example?subject=TenantAtlas%20working%20session',
|
|
label: 'Email the TenantAtlas team',
|
|
variant: 'primary',
|
|
},
|
|
secondaryCta: {
|
|
href: '/legal',
|
|
label: 'Read the legal surface',
|
|
variant: 'secondary',
|
|
},
|
|
highlights: [
|
|
'Use the page to qualify the conversation, not to force a form funnel.',
|
|
'Set expectations for what the session covers and what happens next.',
|
|
'Keep privacy and terms visible before anyone shares evaluation details.',
|
|
],
|
|
};
|
|
|
|
export const contactTopics = [
|
|
'Evaluation of backup, restore, or version-governance workflows for Intune and Microsoft tenant operations.',
|
|
'Questions about MSP fit, customer-facing evidence, or multi-tenant operational discipline.',
|
|
'Internal enterprise review of change history, drift visibility, evidence collection, or restore posture.',
|
|
];
|
|
|
|
export const contactPrompts = [
|
|
{
|
|
title: 'Good first conversation',
|
|
description:
|
|
'Explain the current operating model, where version history breaks down today, and which changes feel hardest to review or restore safely.',
|
|
},
|
|
{
|
|
title: 'Useful context to share',
|
|
description:
|
|
'Team shape, tenant count, policy complexity, change frequency, and whether the first concern is restore safety, auditability, or review evidence.',
|
|
},
|
|
];
|
|
|
|
export const contactPreview = {
|
|
message:
|
|
'We operate Microsoft tenant governance across multiple environments and want to understand how TenantAtlas approaches version history, safer restore flows, drift visibility, and review evidence.',
|
|
topic: 'Environment and operating model summary',
|
|
};
|
|
|
|
export const contactLegalSections: LegalSection[] = [
|
|
{
|
|
title: 'Before you reach out',
|
|
body: [
|
|
'Use the legal links below before sharing evaluation details so the contact path stays trustworthy and unsurprising.',
|
|
'The legal hub, privacy page, and public website terms remain reachable from the contact flow and the global footer.',
|
|
],
|
|
},
|
|
];
|