phase 16 implementation
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user