292 lines
18 KiB
PHP
292 lines
18 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', 'Jouwdriedee.nl 🎨 Dé Speelse 3D Print Webshop')
|
|
|
|
@section('content')
|
|
<!-- Hero Section (Vrolijk & Speels) -->
|
|
<section class="relative overflow-hidden bg-gradient-to-b from-amber-100 via-rose-50 to-[#FFFDF7] border-b-2 border-slate-900 pt-12 pb-20 lg:pt-16 lg:pb-28">
|
|
|
|
<!-- Playful Floating Blobs / Shapes -->
|
|
<div class="absolute top-10 left-8 w-24 h-24 bg-amber-300/60 rounded-full blur-xl pointer-events-none"></div>
|
|
<div class="absolute top-1/2 right-12 w-40 h-40 bg-sky-300/50 rounded-full blur-2xl pointer-events-none"></div>
|
|
<div class="absolute bottom-6 left-1/3 w-32 h-32 bg-rose-300/40 rounded-full blur-xl pointer-events-none"></div>
|
|
|
|
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="grid grid-cols-1 lg:grid-cols-12 gap-12 items-center">
|
|
|
|
<!-- Left Hero Content -->
|
|
<div class="lg:col-span-7 space-y-6 text-center lg:text-left">
|
|
|
|
<!-- Playful Pill Badge -->
|
|
<div class="inline-flex items-center space-x-2 px-4 py-1.5 rounded-full bg-white border-2 border-slate-900 toy-shadow-sm text-slate-900 text-xs font-black">
|
|
<span class="animate-spin text-sm">✨</span>
|
|
<span class="tracking-wide">Dé gezelligste 3D printstudio van Nederland!</span>
|
|
<span class="text-sm">🖨️</span>
|
|
</div>
|
|
|
|
<h1 class="font-heading text-4xl sm:text-5xl lg:text-6xl font-black tracking-tight text-slate-900 leading-[1.15]">
|
|
Vrolijke 3D prints, <br class="hidden sm:inline">
|
|
<span class="bg-clip-text text-transparent bg-gradient-to-r from-rose-500 via-purple-600 to-indigo-600">tof speelgoed</span> & gadgets! 🚀
|
|
</h1>
|
|
|
|
<p class="text-base sm:text-lg text-slate-700 max-w-2xl mx-auto lg:mx-0 font-bold leading-relaxed">
|
|
Op zoek naar origineel speelgoed, vrolijke woonaccessoires of coole gadgets? Kies jouw lievelingskleur en wij toveren het met onze 3D-printers tot leven! ✨
|
|
</p>
|
|
|
|
<!-- Action CTA's (Chunky Pressable Toy Buttons) -->
|
|
<div class="flex flex-col sm:flex-row items-center justify-center lg:justify-start gap-4 pt-3">
|
|
<a href="{{ route('catalog') }}" class="toy-btn w-full sm:w-auto px-8 py-4 rounded-2xl bg-amber-400 hover:bg-amber-300 border-2 border-slate-900 toy-shadow text-slate-950 font-black text-sm flex items-center justify-center space-x-2">
|
|
<span>Ontdek Alle Prints 🎁</span>
|
|
<i data-lucide="arrow-right" class="w-4 h-4 stroke-[3]"></i>
|
|
</a>
|
|
<a href="{{ route('custom.request') }}" class="toy-btn w-full sm:w-auto px-8 py-4 rounded-2xl bg-white hover:bg-sky-50 border-2 border-slate-900 toy-shadow text-slate-950 font-black text-sm flex items-center justify-center space-x-2">
|
|
<span>Upload Eigen STL Model 🚀</span>
|
|
</a>
|
|
</div>
|
|
|
|
<!-- Live stats / Badges in Toy Blocks -->
|
|
<div class="pt-6 grid grid-cols-3 gap-3 max-w-lg mx-auto lg:mx-0">
|
|
<div class="p-3 bg-white border-2 border-slate-900 rounded-2xl toy-shadow-sm text-center">
|
|
<div class="text-xl sm:text-2xl font-black text-rose-500 font-heading">100%</div>
|
|
<div class="text-[11px] font-extrabold text-slate-600">Bio PLA & Veilig</div>
|
|
</div>
|
|
<div class="p-3 bg-white border-2 border-slate-900 rounded-2xl toy-shadow-sm text-center">
|
|
<div class="text-xl sm:text-2xl font-black text-indigo-600 font-heading">24+</div>
|
|
<div class="text-[11px] font-extrabold text-slate-600">Vrolijke Kleuren</div>
|
|
</div>
|
|
<div class="p-3 bg-white border-2 border-slate-900 rounded-2xl toy-shadow-sm text-center">
|
|
<div class="text-xl sm:text-2xl font-black text-emerald-600 font-heading">2-3 Dagen</div>
|
|
<div class="text-[11px] font-extrabold text-slate-600">Snel Bezorgd 📦</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Right Hero Card / Toy Showcase -->
|
|
<div class="lg:col-span-5 relative">
|
|
<div class="relative rounded-3xl bg-white border-3 border-slate-900 p-4 toy-shadow-lg transform rotate-1 hover:rotate-0 transition duration-300">
|
|
|
|
<!-- Sticker in the corner -->
|
|
<div class="absolute -top-4 -right-4 bg-rose-500 text-white font-black text-xs px-3.5 py-1.5 rounded-full border-2 border-slate-900 toy-shadow-sm rotate-6 z-10 flex items-center space-x-1">
|
|
<span>🔥</span>
|
|
<span>Favoriet!</span>
|
|
</div>
|
|
|
|
<div class="relative h-72 sm:h-80 rounded-2xl overflow-hidden bg-amber-50 border-2 border-slate-900">
|
|
<img
|
|
src="https://images.unsplash.com/photo-1578749556568-bc2c40e68b61?auto=format&fit=crop&w=1000&q=80"
|
|
alt="3D print vaas"
|
|
class="w-full h-full object-cover object-center hover:scale-105 transition-transform duration-500"
|
|
>
|
|
|
|
<div class="absolute bottom-3 left-3 right-3 p-3 rounded-xl bg-white/95 border-2 border-slate-900 toy-shadow-sm flex items-center justify-between">
|
|
<div>
|
|
<span class="text-[10px] font-black uppercase text-amber-600">✨ Uitgelichte Print</span>
|
|
<h3 class="font-heading font-black text-slate-900 text-sm">Origami Speelse Vaas</h3>
|
|
</div>
|
|
<div class="bg-amber-300 px-3 py-1 rounded-xl border border-slate-900 font-heading font-black text-slate-900 text-sm">
|
|
€ 18,95
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Material tags preview -->
|
|
<div class="mt-3 flex items-center justify-between text-xs font-bold text-slate-700">
|
|
<span class="flex items-center space-x-1">
|
|
<span>🎨</span>
|
|
<span>Kies jouw favoriete kleur</span>
|
|
</span>
|
|
<span class="flex items-center space-x-1">
|
|
<span>🌱</span>
|
|
<span>Milieuvriendelijk PLA</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Cheerful USP Bar (4 Colorful Toy Blocks) -->
|
|
<section class="border-b-2 border-slate-900 bg-white py-8">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
|
|
|
|
<div class="p-4 rounded-2xl bg-amber-100 border-2 border-slate-900 toy-shadow-sm flex items-center space-x-3.5">
|
|
<div class="text-3xl">🖨️</div>
|
|
<div>
|
|
<h4 class="font-heading text-sm font-black text-slate-900">Vers Geprint</h4>
|
|
<p class="text-xs text-slate-700 font-bold mt-0.5">Speciaal voor jou op bestelling gemaakt.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-4 rounded-2xl bg-sky-100 border-2 border-slate-900 toy-shadow-sm flex items-center space-x-3.5">
|
|
<div class="text-3xl">🌈</div>
|
|
<div>
|
|
<h4 class="font-heading text-sm font-black text-slate-900">Veel Kleuren</h4>
|
|
<p class="text-xs text-slate-700 font-bold mt-0.5">Zijden glans, mat, pastel & regenboog!</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-4 rounded-2xl bg-emerald-100 border-2 border-slate-900 toy-shadow-sm flex items-center space-x-3.5">
|
|
<div class="text-3xl">🚚</div>
|
|
<div>
|
|
<h4 class="font-heading text-sm font-black text-slate-900">Snelle Bezorging</h4>
|
|
<p class="text-xs text-slate-700 font-bold mt-0.5">Binnen 2-3 werkdagen via PostNL.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-4 rounded-2xl bg-rose-100 border-2 border-slate-900 toy-shadow-sm flex items-center space-x-3.5">
|
|
<div class="text-3xl">❤️</div>
|
|
<div>
|
|
<h4 class="font-heading text-sm font-black text-slate-900">Top Kwaliteit</h4>
|
|
<p class="text-xs text-slate-700 font-bold mt-0.5">Met zorg gecontroleerd en afgewerkt.</p>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Categorieën Grid (Chunky Colorful Toy Boxes) -->
|
|
<section class="py-16 bg-[#FFFDF7]">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="flex flex-col sm:flex-row sm:items-end justify-between mb-8 gap-4">
|
|
<div>
|
|
<span class="text-xs font-black uppercase tracking-wider text-rose-500 flex items-center space-x-1">
|
|
<span>🧸</span>
|
|
<span>Kies een speelse categorie</span>
|
|
</span>
|
|
<h2 class="font-heading text-3xl font-black text-slate-900 tracking-tight">Wat wil jij vandaag ontdekken?</h2>
|
|
</div>
|
|
<a href="{{ route('catalog') }}" class="toy-btn px-4 py-2 rounded-2xl bg-white border-2 border-slate-900 toy-shadow-sm text-xs font-black text-slate-900 flex items-center space-x-1.5 self-start sm:self-auto">
|
|
<span>Alles bekijken</span>
|
|
<i data-lucide="chevron-right" class="w-4 h-4"></i>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4">
|
|
@php
|
|
$bgColors = ['bg-amber-100', 'bg-rose-100', 'bg-sky-100', 'bg-emerald-100', 'bg-purple-100'];
|
|
@endphp
|
|
@foreach($categories as $index => $category)
|
|
@php $colorClass = $bgColors[$index % count($bgColors)]; @endphp
|
|
<a href="{{ route('catalog', ['category' => $category->slug]) }}" class="toy-btn group p-5 rounded-3xl {{ $colorClass }} border-2 border-slate-900 toy-shadow text-center flex flex-col items-center justify-between">
|
|
<div class="w-16 h-16 rounded-2xl bg-white border-2 border-slate-900 flex items-center justify-center mb-3 toy-shadow-sm group-hover:scale-110 group-hover:rotate-3 transition transform text-indigo-600">
|
|
<i data-lucide="{{ $category->icon }}" class="w-8 h-8 stroke-[2.2]"></i>
|
|
</div>
|
|
<div>
|
|
<h3 class="font-heading text-sm font-black text-slate-900 group-hover:text-rose-600 transition">{{ $category->name }}</h3>
|
|
<p class="text-[11px] font-bold text-slate-600 mt-1 line-clamp-1">{{ $category->description }}</p>
|
|
</div>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Uitgelichte Prints / Product Showcase -->
|
|
<section class="py-16 bg-white border-t-2 border-slate-900">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="flex flex-col sm:flex-row sm:items-end justify-between mb-10 gap-4">
|
|
<div>
|
|
<span class="text-xs font-black uppercase tracking-wider text-amber-600 flex items-center space-x-1">
|
|
<span>🌟</span>
|
|
<span>Favorieten uit de 3D studio</span>
|
|
</span>
|
|
<h2 class="font-heading text-3xl font-black text-slate-900 tracking-tight">Populaire Prints & Modellen</h2>
|
|
<p class="text-xs font-bold text-slate-600 mt-1">Kies jouw favoriet en stel hem helemaal samen in jouw gewenste kleur!</p>
|
|
</div>
|
|
<a href="{{ route('catalog') }}" class="toy-btn px-5 py-2.5 rounded-2xl bg-amber-300 hover:bg-amber-400 border-2 border-slate-900 toy-shadow-sm text-slate-950 text-xs font-black transition flex items-center space-x-1.5 self-start sm:self-auto">
|
|
<span>Volledige Catalogus 🎁</span>
|
|
<i data-lucide="arrow-right" class="w-3.5 h-3.5 stroke-[3]"></i>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
|
|
@foreach($featuredProducts as $product)
|
|
<div class="group rounded-3xl bg-[#FFFDF7] border-2 border-slate-900 toy-shadow overflow-hidden flex flex-col justify-between hover:-translate-y-1 transition duration-200">
|
|
|
|
<!-- Afbeelding & Badges -->
|
|
<div class="relative h-64 overflow-hidden bg-slate-100 border-b-2 border-slate-900">
|
|
<img
|
|
src="{{ $product->image_url }}"
|
|
alt="{{ $product->name }}"
|
|
class="w-full h-full object-cover object-center group-hover:scale-105 transition-transform duration-500"
|
|
>
|
|
<div class="absolute top-3.5 left-3.5 flex flex-col gap-1.5">
|
|
@if($product->category)
|
|
<span class="px-3 py-1 rounded-xl bg-amber-300 border-2 border-slate-900 text-slate-950 text-[11px] font-black toy-shadow-sm">
|
|
{{ $product->category->name }}
|
|
</span>
|
|
@endif
|
|
</div>
|
|
|
|
@if($product->print_time_hours)
|
|
<div class="absolute bottom-3 left-3 px-2.5 py-1 rounded-xl bg-white border-2 border-slate-900 text-slate-900 text-[11px] font-black toy-shadow-sm flex items-center space-x-1">
|
|
<span>⏱️</span>
|
|
<span>{{ $product->print_time_hours }}u printtijd</span>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
|
|
<!-- Inhoud -->
|
|
<div class="p-6 flex-1 flex flex-col justify-between space-y-4">
|
|
<div>
|
|
<h3 class="font-heading text-lg font-black text-slate-900 group-hover:text-rose-600 transition tracking-tight">
|
|
<a href="{{ route('product.show', $product->slug) }}">
|
|
{{ $product->name }}
|
|
</a>
|
|
</h3>
|
|
<p class="text-xs font-medium text-slate-600 mt-1.5 line-clamp-2 leading-relaxed">
|
|
{{ $product->short_description }}
|
|
</p>
|
|
</div>
|
|
|
|
<!-- Footer met prijs & actieknop -->
|
|
<div class="pt-4 border-t-2 border-slate-200 flex items-center justify-between">
|
|
<div>
|
|
<span class="text-[10px] text-slate-500 font-extrabold uppercase block">Vanaf</span>
|
|
<span class="font-heading text-xl font-black text-slate-900">
|
|
{{ $product->formatted_price }}
|
|
</span>
|
|
</div>
|
|
|
|
<a href="{{ route('product.show', $product->slug) }}" class="toy-btn px-4 py-2.5 rounded-2xl bg-amber-400 hover:bg-amber-300 border-2 border-slate-900 toy-shadow-sm text-slate-950 text-xs font-black transition flex items-center space-x-1.5">
|
|
<span>Kies Kleur 🎨</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Custom 3D STL Upload Banner Section (Speelse Creatieve Werkplaats) -->
|
|
<section class="py-16 bg-amber-300 border-t-2 border-slate-900 relative overflow-hidden">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative">
|
|
<div class="p-8 sm:p-12 rounded-3xl bg-white border-3 border-slate-900 toy-shadow-lg flex flex-col lg:flex-row items-center justify-between gap-8">
|
|
<div class="space-y-4 max-w-2xl text-center lg:text-left">
|
|
<span class="px-3.5 py-1.5 rounded-full bg-rose-100 text-rose-700 border-2 border-slate-900 text-xs font-black inline-flex items-center space-x-2">
|
|
<span>💡</span>
|
|
<span>Heb je zelf een cool 3D-bestand gevonden?</span>
|
|
</span>
|
|
<h2 class="font-heading text-3xl sm:text-4xl font-black tracking-tight text-slate-900">
|
|
Upload jouw eigen STL of MakerWorld model! 🚀
|
|
</h2>
|
|
<p class="text-xs sm:text-sm text-slate-700 font-bold leading-relaxed">
|
|
Heb je een gaaf speelgoedmodel, onderdeel of design gezien op MakerWorld, Printables of Thingiverse? Upload je bestand en wij printen het in hoge kwaliteit en in jouw favoriete kleur!
|
|
</p>
|
|
</div>
|
|
<a href="{{ route('custom.request') }}" class="toy-btn px-8 py-4 rounded-2xl bg-rose-500 hover:bg-rose-400 border-2 border-slate-900 toy-shadow text-white font-black text-xs uppercase tracking-wider transition flex items-center space-x-2 flex-shrink-0">
|
|
<i data-lucide="upload-cloud" class="w-4 h-4 stroke-[3]"></i>
|
|
<span>Direct Bestand Uploaden ✨</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
@endsection
|