feat(03-01): create 9 shared components for landing sections and project display

- HeroSection: title + subtitle + 3 CTA UButtons
- FeaturedProjectsSection: 3 featured projects via useProjects()
- ServicesSection: 4 service cards with UCard + UIcon
- TestimonialsSection: UCard per testimonial with ratings and stats
- FAQSection: UAccordion with i18n-resolved items
- CTASection: final CTA with 2 UButtons
- ProjectCard: NuxtLink + NuxtImg + UBadge + schema.org microdata
- TechBadge: Technology lookup with NuxtImg + UBadge level
- ProjectGallery: UModal fullscreen + UCarousel + thumbnails + keyboard nav
This commit is contained in:
2026-04-08 18:34:03 +02:00
parent 222fa069fd
commit 5502364e77
9 changed files with 475 additions and 0 deletions
@@ -0,0 +1,22 @@
<script setup lang="ts">
const { t } = useI18n()
const { featuredProjects } = useProjects()
</script>
<template>
<section class="py-16 px-4">
<div class="max-w-6xl mx-auto">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold mb-4">{{ t('home.projects.title') }}</h2>
<p class="text-lg text-muted max-w-2xl mx-auto">{{ t('home.projects.subtitle') }}</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<ProjectCard
v-for="project in featuredProjects"
:key="project.id"
:project="project"
/>
</div>
</div>
</section>
</template>