Operators can edit landing copy as plain fields instead of JSON/HTML; default CMS seed and UI chrome are now Farsi/RTL. Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
1.4 KiB
Vue
36 lines
1.4 KiB
Vue
<template>
|
|
<div v-if="site">
|
|
<SiteNavbar :brand="site.settings.brandName" :timezone="site.settings.timezone" />
|
|
<main>
|
|
<HeroSection :data="site.sections.hero" />
|
|
<section class="relative overflow-hidden py-16 md:py-24">
|
|
<div class="-ml-[5%] w-[110%] -rotate-2 bg-volt py-4 text-ink md:py-5">
|
|
<SiteMarquee
|
|
:items="site.sections.marquee.items"
|
|
:duration="22"
|
|
class-name="font-display text-xl font-bold md:text-3xl"
|
|
item-class-name="mx-4 md:mx-6"
|
|
separator-class-name="text-ink/50"
|
|
/>
|
|
</div>
|
|
</section>
|
|
<ManifestoSection :data="site.sections.manifesto" />
|
|
<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" :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());
|
|
const homePage = computed(() => site.value?.pages?.find((p: any) => p.key === "home"));
|
|
applyPageSeo(homePage.value?.seo);
|
|
</script>
|