import type { Metadata } from 'next' import { LandingNav } from '@/components/landing/nav' import { Hero } from '@/components/landing/hero' import { FeaturesGrid } from '@/components/landing/features-grid' import { HowItWorks } from '@/components/landing/how-it-works' import { FeatureSpotlight } from '@/components/landing/feature-spotlight' import { FAQ } from '@/components/landing/faq' import { OpenSource } from '@/components/landing/open-source' import { CtaBanner } from '@/components/landing/cta-banner' import { Footer } from '@/components/landing/footer' import { InboxMock } from '@/components/landing/mock/inbox-mock' import { PipelineMock } from '@/components/landing/mock/pipeline-mock' import { AutomationMock } from '@/components/landing/mock/automation-mock' import { AnalyticsMock } from '@/components/landing/mock/analytics-mock' import { JsonLd } from '@/components/seo/json-ld' import { landingPageLd } from '@/lib/seo/structured-data' import { SITE_DESCRIPTION, SITE_NAME, SITE_TAGLINE } from '@/lib/seo/site-config' // Landing-specific metadata. Most fields are inherited from the root // layout's metadata — we override title (so the hero copy shows in // SERPs / tab titles) and set an explicit canonical for "/" to avoid // trailing-slash duplicate-content signals. export const metadata: Metadata = { title: { absolute: `${SITE_NAME} — ${SITE_TAGLINE}`, }, description: SITE_DESCRIPTION, alternates: { canonical: '/', }, } // Marketing landing. Visible at / for everyone (auth redirect that // used to send anonymous visitors to /login was removed). Authed users // still see this page; the nav swaps its CTA to "Go to Dashboard". export default function LandingPage() { return (