Refactor and localize settings and resources

- Updated GeneralSettings page to include localized labels and structured sections for better organization.
- Enhanced CarouselSlide, Category, Collection, and Product resources with localized model labels and improved form/table configurations.
- Modified HomeController to utilize query builder for better performance and added collection items retrieval.
- Updated views to reflect localized settings and improved layout for collections and footer.
- Adjusted timezone and locale settings in app configuration for better regional support.
This commit is contained in:
Mekan1206
2026-06-04 22:15:18 +05:00
parent b13d61b342
commit 6ea6701963
119 changed files with 5304 additions and 98 deletions

View File

@@ -37,33 +37,39 @@
</div>
<section class="pt-24 px-margin-mobile md:px-margin-desktop max-w-[1440px] mx-auto bg-surface" id="collections">
<div class="flex flex-col md:flex-row justify-between items-end mb-12 animate-on-scroll">
<div>
<h2 class="font-headline-md text-headline-md text-on-background mb-2">Biziň kolleksiýalarymyz</h2>
<p class="font-body-md text-body-md text-on-surface-variant max-w-lg">Täzelikçi usullary häzirki wagt aşpezlik sungaty bilen birleşdirýän gowy döredilişlerimiziň saýlanan toplumy.</p>
</div>
<div class="flex gap-4 mt-6 md:mt-0">
<button aria-label="Öňki" class="w-10 h-10 rounded-full border border-antique-gold flex items-center justify-center text-ink-brown hover:bg-surface-variant transition-colors" id="btn-prev-collection">
<span class="material-symbols-outlined">arrow_left</span>
</button>
<button aria-label="Indiki" class="w-10 h-10 rounded-full border border-antique-gold flex items-center justify-center text-ink-brown hover:bg-surface-variant transition-colors" id="btn-next-collection">
<span class="material-symbols-outlined">arrow_right</span>
</button>
</div>
</div>
<div class="flex overflow-x-auto hide-scrollbar gap-6 pb-8 snap-x snap-mandatory" id="collections-container">
@foreach($collections as $collection)
<div class="min-w-[280px] md:min-w-[320px] aspect-[3/4] relative snap-start group cursor-pointer border border-antique-gold/40 bg-surface-container-low p-4 flex flex-col justify-end overflow-hidden">
<div class="absolute inset-4 border border-outline/30 z-10 pointer-events-none transition-transform duration-500 group-hover:scale-95"></div>
<div class="absolute inset-0 bg-cover bg-center transition-transform duration-700 group-hover:scale-105 opacity-80" data-alt="{{ $collection->subtitle }}" style="background-image: url('{{ $collection->image ? Storage::url($collection->image) : asset('assets/images/collection-chocolate-cake.jpg') }}');"></div>
<div class="absolute inset-0 bg-gradient-to-t from-primary-container/90 via-primary-container/30 to-transparent"></div>
<div class="relative z-20 p-6 text-center">
<h3 class="font-headline-md text-headline-md text-surface-container-lowest mb-1">{{ $collection->title }}</h3>
<p class="font-label-sm text-label-sm text-antique-gold uppercase tracking-widest">{{ $collection->subtitle ?? 'Göz gezdiriň' }}</p>
@foreach($collections as $collection)
<div class="mb-20">
<div class="flex flex-col md:flex-row justify-between items-end mb-12 animate-on-scroll">
<div>
<h2 class="font-headline-md text-headline-md text-on-background mb-2">{{ $collection->title }}</h2>
@if($collection->subtitle)
<p class="font-body-md text-body-md text-on-surface-variant max-w-lg">{{ $collection->subtitle }}</p>
@endif
</div>
<div class="flex gap-4 mt-6 md:mt-0">
<button aria-label="Öňki" class="w-10 h-10 rounded-full border border-antique-gold flex items-center justify-center text-ink-brown hover:bg-surface-variant transition-colors btn-prev-collection" data-target="carousel-{{ $collection->id }}">
<span class="material-symbols-outlined">arrow_left</span>
</button>
<button aria-label="Indiki" class="w-10 h-10 rounded-full border border-antique-gold flex items-center justify-center text-ink-brown hover:bg-surface-variant transition-colors btn-next-collection" data-target="carousel-{{ $collection->id }}">
<span class="material-symbols-outlined">arrow_right</span>
</button>
</div>
</div>
@endforeach
<div class="flex overflow-x-auto hide-scrollbar gap-6 pb-8 snap-x snap-mandatory" id="carousel-{{ $collection->id }}">
@foreach($collection->collectionItems as $item)
<div class="min-w-[280px] md:min-w-[320px] aspect-[3/4] relative snap-start group cursor-pointer border border-antique-gold/40 bg-surface-container-low p-4 flex flex-col justify-end overflow-hidden">
<div class="absolute inset-4 border border-outline/30 z-10 pointer-events-none transition-transform duration-500 group-hover:scale-95"></div>
<div class="absolute inset-0 bg-cover bg-center transition-transform duration-700 group-hover:scale-105 opacity-80" data-alt="{{ $item->subtitle }}" style="background-image: url('{{ $item->image ? Storage::url($item->image) : asset('assets/images/collection-chocolate-cake.jpg') }}');"></div>
<div class="absolute inset-0 bg-gradient-to-t from-primary-container/90 via-primary-container/30 to-transparent"></div>
<div class="relative z-20 p-6 text-center">
<h3 class="font-headline-md text-headline-md text-surface-container-lowest mb-1">{{ $item->title }}</h3>
<p class="font-label-sm text-label-sm text-antique-gold uppercase tracking-widest">{{ $item->subtitle }}</p>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
</section>
<section class="py-16 px-margin-mobile md:px-margin-desktop max-w-container-max mx-auto bg-surface-container-low border-y border-outline/10" id="menu">
@@ -108,7 +114,7 @@
<div class="absolute -top-4 -left-4 w-24 h-24 border-t border-l border-ink-brown hidden md:block pointer-events-none"></div>
</div>
<div class="animate-on-scroll" style="transition-delay: 200ms;">
<p class="font-label-sm text-label-sm text-antique-gold uppercase tracking-widest mb-4">Biziň mirasy</p>
<p class="font-label-sm text-label-sm text-antique-gold uppercase tracking-widest mb-4">{{ $settings->about_label ?? 'Biziň mirasy' }}</p>
<h2 class="font-display-lg-mobile md:font-display-lg text-display-lg-mobile md:text-display-lg text-on-background mb-8 italic">{!! nl2br(e($settings->about_title ?? "Sabyr\nsungaty")) !!}</h2>
<div class="relative">
<div class="absolute -left-12 -top-12 opacity-10 pointer-events-none hidden md:block">