Adds consultation leads, section editors, and the one-time content reset for this release. Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
1.6 KiB
Vue
57 lines
1.6 KiB
Vue
<template>
|
|
<div>
|
|
<HeroSection />
|
|
<MetricsBar />
|
|
<FeaturesSection />
|
|
<SolutionsSection />
|
|
<TestimonialsSection />
|
|
<CtaBanner />
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
const { settings, pageSeo, section } = useSiteContent();
|
|
const { siteUrl } = usePageSeo(pageSeo("home"));
|
|
const hero = section("hero");
|
|
|
|
useJsonLd(() => {
|
|
const s = settings.value;
|
|
const sameAs = s.socials.map((x) => x.url).filter((u) => /^https?:\/\//.test(u));
|
|
return [
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"@id": `${siteUrl}/#organization`,
|
|
name: s.brandName,
|
|
alternateName: "Montech",
|
|
url: `${siteUrl}/`,
|
|
logo: s.logoUrl ? new URL(s.logoUrl, siteUrl).toString() : `${siteUrl}/brand/logo.svg`,
|
|
email: s.email,
|
|
telephone: s.phone,
|
|
address: { "@type": "PostalAddress", addressLocality: s.address, addressCountry: "IR" },
|
|
...(sameAs.length ? { sameAs } : {}),
|
|
},
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebSite",
|
|
"@id": `${siteUrl}/#website`,
|
|
url: `${siteUrl}/`,
|
|
name: s.brandName,
|
|
inLanguage: "fa-IR",
|
|
publisher: { "@id": `${siteUrl}/#organization` },
|
|
},
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebPage",
|
|
"@id": `${siteUrl}/#webpage`,
|
|
url: `${siteUrl}/`,
|
|
name: `${hero.value.titleLine1} ${hero.value.titleHighlight}`,
|
|
description: hero.value.subtitle,
|
|
inLanguage: "fa-IR",
|
|
isPartOf: { "@id": `${siteUrl}/#website` },
|
|
about: { "@id": `${siteUrl}/#organization` },
|
|
},
|
|
];
|
|
});
|
|
</script>
|