Files
Montech_Landing/apps/landing/pages/index.vue
T

59 lines
2.1 KiB
Vue

<template>
<div v-if="site">
<SiteNavbar
:brand="site.settings.brandName"
:logo-url="site.settings.logoUrl"
:timezone="site.settings.timezone"
/>
<main>
<HeroSection :data="site.sections.hero" />
<section class="relative overflow-hidden py-16 md:py-24">
<div class="w-[110%] -translate-x-[5%] -rotate-2 bg-volt py-4 text-ink md:py-5 rtl:translate-x-[5%]">
<SiteMarquee
:items="site.sections.marquee.items"
:duration="26"
class-name="font-display text-xl font-bold tracking-[-0.01em] md:text-3xl"
item-class-name="mx-4 md:mx-6"
separator-class-name="text-ink/50"
/>
</div>
</section>
<ManifestoSection
:data="site.sections.manifesto"
:intro="{ body: site.sections.hero.body, cta: site.sections.hero.cta }"
/>
<ServicesSection :data="site.sections.services" />
<WorkSection :data="site.sections.work" />
<ProcessSection :data="site.sections.process" />
<StatsSection :data="site.sections.stats" />
<TeamSection :data="site.sections.team" />
</main>
<SiteFooter
:brand="site.settings.brandName"
:email="site.settings.email"
:phone="site.settings.phone"
:address="site.settings.address"
:socials="site.settings.socials"
:data="site.sections.footer"
/>
</div>
<div v-else class="grid min-h-screen place-items-center text-ash">
Unable to load site content. Is the API running?
</div>
</template>
<script setup lang="ts">
const { data: site } = await useAsyncData("public-site", () => fetchPublicSite(), {
// always refetch so admin edits show up after refresh
getCachedData: () => undefined,
});
const homePage = computed(() => site.value?.pages?.find((p: any) => p.key === "home"));
applyPageSeo(homePage.value?.seo);
const loaderTitle = useState("intro-loader-title", () => "هوش‌افزار منتک");
watchEffect(() => {
const hero = site.value?.sections?.hero as { loaderTitle?: string } | undefined;
if (hero?.loaderTitle) loaderTitle.value = hero.loaderTitle;
});
</script>