phase 16 implementation

This commit is contained in:
root
2026-06-25 20:08:39 -04:00
parent 5d017f533a
commit c43620a005
248 changed files with 18458 additions and 90 deletions
+25 -7
View File
@@ -1,6 +1,7 @@
import { ActionLink } from '@/components/actions/ActionLink';
import { Accordion } from '@/components/controls/Accordion';
import { Icon } from '@/components/foundation/Icon';
import { DemoTrigger } from '@/components/integrations/DemoTrigger';
import { Container, Section, Stack } from '@/components/layout/LayoutPrimitives';
import { CTA } from '@/components/marketing/CTA';
import { Comparison } from '@/components/marketing/Comparison';
@@ -13,6 +14,7 @@ import { Callout } from '@/components/surfaces/Callout';
import { Card } from '@/components/surfaces/Card';
import { Eyebrow, Heading, Text } from '@/components/typography/Typography';
import { buildHomepageContent } from '@/content/homepage-model';
import { getPublicIntegrationConfig } from '@/lib/integrations/environment';
import { isLocale, localizedPath, type Locale } from '@/lib/localization/config';
import { getMessages } from '@/lib/localization/messages';
import { buildLocalizedMetadata } from '@/lib/metadata/build-metadata';
@@ -43,6 +45,7 @@ export default async function LocaleHomePage({ params }: LocalePageProps) {
const locale: Locale = localeValue;
const messages = getMessages(locale);
const content = buildHomepageContent(messages.homepage, messages.shell);
const integrationConfig = getPublicIntegrationConfig();
const homePath = localizedPath('home', locale);
return (
@@ -57,13 +60,16 @@ export default async function LocaleHomePage({ params }: LocalePageProps) {
</Heading>
<Text variant="lead">{content.hero.body}</Text>
<div className={styles.heroActions} role="group" aria-label={content.hero.eyebrow}>
<ActionLink
href={homePath}
variant="button-conversion"
disabledReason={content.hero.primary.disabledReason}
>
{content.hero.primary.label}
</ActionLink>
<DemoTrigger
label={content.hero.primary.label}
source="hero"
size="large"
disabledReason={
integrationConfig.demoSubmissionEnabled
? undefined
: content.hero.primary.disabledReason
}
/>
<ActionLink
href={homePath}
variant="button-primary"
@@ -326,6 +332,18 @@ export default async function LocaleHomePage({ params }: LocalePageProps) {
body={content.final.body}
primary={content.final.primary}
secondary={content.final.secondary}
primaryNode={
<DemoTrigger
label={content.final.primary.label}
source="final-cta"
size="large"
disabledReason={
integrationConfig.demoSubmissionEnabled
? undefined
: content.final.primary.disabledReason
}
/>
}
/>
</Container>
</Section>