contact page, legal pages and category page

This commit is contained in:
elvira
2026-08-26 13:43:30 +03:00
parent 45057f9083
commit fab9cc08a8
38 changed files with 1726 additions and 182 deletions
+44 -25
View File
@@ -1,7 +1,7 @@
@extends('layouts.app')
@section('title', config('app.name') . ' — Ό,τι φαντάζεσαι, τυπωμένο σε 3D')
@section('description', 'Gaming φιγούρες, κρανία, κλειδοθήκες και ό,τι πιο τρελό σου περνάει απ\' το μυαλό. Σχεδιασμένα και τυπωμένα σε 3D, ένα προς ένα.')
@section('title', $page->meta_title)
@section('description', $page->meta_description)
@section('content')
@@ -10,12 +10,12 @@
{{-- Hero --}}
<div class="grid grid-cols-1 lg:grid-cols-2 lg:divide-x lg:divide-black border-b border-black min-h-[calc(100vh-102px)]">
<div class="flex flex-col justify-center gap-8 px-8 py-16 lg:px-16">
<svg viewBox="0 0 135 124" class="hero-star w-[173px] h-[159px] text-[#f3d121]" aria-hidden="true" fill="currentColor">
<svg viewBox="0 0 135 124" class="rotating-star w-[173px] h-[159px] text-[#f3d121]" aria-hidden="true" fill="currentColor">
<path d="m88.4 0 4 28.9 29.7-5.2-14.3 25.7L135 62l-27.2 12.6 14.3 25.7-29.7-5.2-4 28.9-20.9-21.1L46.6 124l-4-28.9-29.7 5.2 14.3-25.7L0 62l27.2-12.6-14.3-25.7 29.7 5.2 4-28.9 20.9 21.1L88.4 0z"/>
</svg>
<h1
class="font-display font-semibold text-6xl lg:text-[80px] leading-tight"
class="font-display font-semibold text-6xl lg:text-[72px] leading-tight"
aria-label="Ό,τι φαντάζεσαι, το τυπώνουμε"
data-controller="appear"
data-appear-visible-class="is-visible"
@@ -40,10 +40,10 @@ class="absolute left-4 lg:left-8 top-1/2 z-10 -translate-y-1/2 hover:-translate-
@foreach($heroProducts as $product)
<div
data-carousel-target="slide"
class="{{ $loop->first ? '' : 'hidden' }} group h-full flex flex-col justify-between"
class="{{ $loop->first ? '' : 'hidden' }} group h-full flex flex-col justify-center pb-8 relative"
>
<div class="relative flex items-center justify-center">
<a href="{{ $product['href'] }}" class="block border border-black bg-white flex items-center justify-center overflow-hidden max-w-sm">
<a href="{{ $product['href'] }}" class="block border border-black bg-white flex items-center justify-center overflow-hidden max-w-xs xl:max-w-sm">
@if($product['image'])
<img
src="{{ $product['image'] }}"
@@ -52,6 +52,7 @@ class="{{ $loop->first ? '' : 'hidden' }} group h-full flex flex-col justify-bet
height="400"
loading="eager"
fetchpriority="high"
preload="{{ $loop->first ? true : false }}"
class="w-full h-full object-cover"
>
@else
@@ -64,7 +65,7 @@ class="w-full h-full object-cover"
</x-ui.button>
</div>
<div class="flex items-baseline justify-between gap-4">
<div class="flex items-baseline justify-between gap-4 absolute bottom-0 left-0 w-full">
<a href="{{ $product['href'] }}" class="font-display font-bold text-2xl leading-snug hover:text-brand">
{{ $product['name'] }}
</a>
@@ -92,23 +93,41 @@ class="absolute right-4 lg:right-8 top-1/2 z-10 -translate-y-1/2 hover:translate
{{-- Info / trivia --}}
<div class="grid grid-cols-1 lg:grid-cols-2 lg:divide-x lg:divide-black">
<div class="bg-neutral-300 min-h-[320px] lg:min-h-full flex items-center justify-center text-neutral-500 text-sm">
Χωρίς εικόνα
<div class="lg:min-h-full flex items-center justify-center text-neutral-500 text-sm" data-stoic="pages/home#trivia_body_image">
@if(!empty($page->trivia_image))
<x-ui.stoic-image
src="{{ $page->trivia_image }}"
preset="medium"
alt=""
aria-hidden="true"
loading="lazy"
class="w-full h-full object-cover "
/>
@endif
</div>
<div class="flex flex-col justify-center gap-6 px-8 py-16 lg:px-16 text-center">
<p class="max-w-md mx-auto text-neutral-600">
Gaming φιγούρες, κρανία, κλειδοθήκες, dark humor και ό,τι πιο τρελό σου περνάει απ' το μυαλό — όλα σχεδιασμένα και τυπωμένα σε 3D, ένα προς ένα, εδώ στην Ελλάδα.
</p>
<h2 class="font-display font-extrabold text-h2 leading-tight">
Στρώση-στρώση,<br>
<span class="italic">0.1mm τη φορά</span>
</h2>
<p class="max-w-md mx-auto text-neutral-600">
Τόσο λεπτή είναι κάθε στρώση υλικού σε ένα 3D εκτυπωμένο κομμάτι — πιο λεπτή κι από τρίχα. Δεν κρατάμε αποθέματα: κάθε παραγγελία τυπώνεται ειδικά για σένα, στο χρώμα και στο μέγεθος που θες.
</p>
<h2 class="font-semibold text-h2"
data-controller="appear"
data-appear-visible-class="is-visible">100% σουρεάλ & <span class="text-dance" data-text="3d-printed">3d-printed</span></h2>
<div class="max-w-md mx-auto" data-stoic="pages/home#trivia_body">
{!! Str::markdown($page->trivia_body) !!}
</div>
<div class="flex items-center justify-center mt-4 mb-6">
@if(!empty($page->trivia_body_image))
<x-ui.stoic-image
src="{{ $page->trivia_body_image }}"
preset="medium"
alt=""
aria-hidden="true"
loading="lazy"
class="max-w-xs"
/>
@endif
</div>
<div>
<x-ui.button size="md" :href="url('/'.app()->getLocale().'/products')">Δες τα προϊόντα</x-ui.button>
{{-- <x-ui.button size="md" :href="url('/'.app()->getLocale().'/products')">Δες τα προϊόντα</x-ui.button> --}}
<x-ui.button size="md" :href="url('/'.app()->getLocale().'/about')">Διάβασε περισσότερα</x-ui.button>
</div>
</div>
</div>
@@ -117,9 +136,9 @@ class="absolute right-4 lg:right-8 top-1/2 z-10 -translate-y-1/2 hover:translate
{{-- Classics --}}
<div class="border-b border-black" data-controller="carousel">
<div class="flex items-center justify-between gap-4 px-8 py-8 border-b border-black">
<h2 class="font-display font-extrabold text-h3">Τα αγαπημένα μας</h2>
<x-ui.button size="sm" :href="url('/'.app()->getLocale().'/products')">Δες όλα</x-ui.button>
<div class="flex items-center justify-between gap-4 px-8 py-12 border-b border-black">
<h2 class="font-display font-extrabold text-h2" data-stoic="pages/home#classics_title">{{ $page->classics_title }}</h2>
<x-ui.button size="lg" :href="url('/'.app()->getLocale().'/products')">Όλα τα προϊόντα</x-ui.button>
</div>
<div class="flex items-center gap-6 px-8 py-12">
@@ -128,9 +147,9 @@ class="absolute right-4 lg:right-8 top-1/2 z-10 -translate-y-1/2 hover:translate
</button>
<div class="flex-1 overflow-hidden">
@forelse($classicsProducts->chunk(4) as $page)
@forelse($classicsProducts->chunk(4) as $chunk)
<div data-carousel-target="slide" class="{{ $loop->first ? '' : 'hidden' }} grid grid-cols-2 md:grid-cols-4 gap-6">
@foreach($page as $product)
@foreach($chunk as $product)
<x-ui.product-card
:name="$product['name']"
:price="$product['price']"