| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <template>
- <div class="min-h-screen bg-background">
- <Header />
- <main>
- <HeroSection />
- <ServicesSection />
- <PrintingNuancesSection />
- <ModelUploadSection />
- <QuotingSection />
- <ProcessSection />
- <ReviewsSection />
- <CTASection />
- </main>
- <Footer />
- </div>
- </template>
- <script setup lang="ts">
- import Header from "@/components/Header.vue";
- import HeroSection from "@/components/HeroSection.vue";
- import ServicesSection from "@/components/ServicesSection.vue";
- import { defineAsyncComponent, computed } from "vue";
- import { useHead } from "@unhead/vue";
- import { useI18n } from "vue-i18n";
- const { t } = useI18n();
- useHead({
- title: computed(() => t('seo.home.title')),
- meta: [
- { name: 'description', content: computed(() => t('seo.home.description')) },
- { property: 'og:title', content: computed(() => t('seo.home.title')) },
- { property: 'og:description', content: computed(() => t('seo.home.description')) },
- ],
- script: [
- {
- type: 'application/ld+json',
- children: JSON.stringify({
- "@context": "https://schema.org",
- "@type": "LocalBusiness",
- "name": "Radionica 3D",
- "image": "https://radionica3d.me/logo.png",
- "address": {
- "@type": "PostalAddress",
- "addressLocality": "Herceg Novi",
- "addressCountry": "ME"
- },
- "url": "https://radionica3d.me",
- "telephone": "+382...",
- "description": t('seo.home.description'),
- "priceRange": "$$",
- "openingHours": "Mo-Fr 09:00-18:00"
- })
- }
- ]
- });
- const PrintingNuancesSection = defineAsyncComponent(() => import("@/components/PrintingNuancesSection.vue"));
- const ModelUploadSection = defineAsyncComponent(() => import("@/components/ModelUploadSection.vue"));
- const QuotingSection = defineAsyncComponent(() => import("@/components/QuotingSection.vue"));
- const ProcessSection = defineAsyncComponent(() => import("@/components/ProcessSection.vue"));
- const ReviewsSection = defineAsyncComponent(() => import("@/components/ReviewsSection.vue"));
- const CTASection = defineAsyncComponent(() => import("@/components/CTASection.vue"));
- const Footer = defineAsyncComponent(() => import("@/components/Footer.vue"));
- </script>
|