--- import BaseLayout from '../layouts/BaseLayout.astro'; import HeroDataflow from '../components/HeroDataflow.astro'; import DataflowSpine from '../components/DataflowSpine.astro'; import ContactFormInline from '../components/ContactFormInline.astro'; import CardBottomRightTexture from '../components/CardBottomRightTexture.astro'; import SiteFooter from '../components/SiteFooter.astro'; import { getSiteMeta, getNavigation, getHero, stats, getServices, getStackSection, productsSection, getFaq, getCta, } from '../data/home'; const path = Astro.url.pathname; const localeMatch = path.match(/^\/(en|th)(\/|$)/); const currentLocale = (localeMatch?.[1] ?? 'it') as 'it' | 'en' | 'th'; const navigation = getNavigation(currentLocale); const siteMeta = getSiteMeta(currentLocale); const hero = getHero(currentLocale); const services = getServices(currentLocale); const stackSection = getStackSection(currentLocale); const faq = getFaq(currentLocale); const cta = getCta(currentLocale); const infrastructureCarouselItems = stackSection.infrastructureCarousel.items; const pageLabels = { it: { focus: 'Focus' }, en: { focus: 'Focus' }, th: { focus: 'จุดเน้น' }, }[currentLocale]; const localize = (href: string) => { if (currentLocale === 'it') return href; if (href.startsWith(`/${currentLocale}`)) return href; if (href.startsWith('/#')) return `/${currentLocale}${href}`; if (href.startsWith('/')) return `/${currentLocale}${href}`; return href; }; const langItHref = '/'; const langEnHref = '/en'; const langThHref = '/th'; const langMeta = { it: { code: 'IT', label: 'Italiano', flagSrc: '/images/flags/it.svg' }, en: { code: 'EN', label: 'English', flagSrc: '/images/flags/en.svg' }, th: { code: 'TH', label: 'ไทย', flagSrc: '/images/flags/th.svg' }, } as const; ---
{navigation.brandName}

{hero.badge}

{hero.titleBefore} {hero.titleHighlight}{hero.titleAfter}

{hero.subtitle}

{hero.paragraphs.map((p) =>

{p}

)}

{hero.businessUnitsHeading}

{hero.businessUnitsIntro}

    {hero.businessUnits.map((u) => (
  • {u.name} — {u.description}
  • ))}
{stats.items.map((item) => (

{item.value}

{item.caption}

))}

{productsSection.eyebrow}

{productsSection.title}

{productsSection.lead}

{services.eyebrow}

{services.title}

{services.lead}

{services.cards.map((card) => { const hasGlobe = 'decoration' in card && card.decoration === 'wireframe-globe'; return (
{hasGlobe && }

{card.title}

{card.body}

{'callout' in card && card.callout && (
); })}

{stackSection.eyebrow}

{stackSection.title}

{stackSection.lead}

{stackSection.infrastructureHeading}

    {stackSection.cloudflare.points.map((item) => (
  • {item.title}

    {item.body}

  • ))}

{stackSection.continuity.title}

{stackSection.continuity.body}

{stackSection.whyThisChoice.title}

    {stackSection.whyThisChoice.points.map((line) => (
  • {line}
  • ))}

{faq.eyebrow}

{faq.title}

{faq.items.map((item, idx) => { const n = idx + 1; return (
{item.answer}
); })}

{cta.eyebrow}

{cta.titleLine1} {cta.titleLine2}

{cta.body}