Remove legacy frontend assets and update gallery routes

This commit is contained in:
2026-03-14 15:06:28 +01:00
parent 4f576ceb04
commit 78151aabfe
550 changed files with 826 additions and 108930 deletions

View File

@@ -0,0 +1,31 @@
{{--
Browse section-switcher pills.
Expected variable: $section (string) one of: artworks, photography, wallpapers, skins, other
--}}
@php
$active = $section ?? 'artworks';
$sections = collect([
'artworks' => ['label' => 'All Artworks', 'icon' => 'fa-border-all', 'href' => '/browse'],
'photography' => ['label' => 'Photography', 'icon' => 'fa-camera', 'href' => '/photography'],
'wallpapers' => ['label' => 'Wallpapers', 'icon' => 'fa-desktop', 'href' => '/wallpapers'],
'skins' => ['label' => 'Skins', 'icon' => 'fa-layer-group', 'href' => '/skins'],
'other' => ['label' => 'Other', 'icon' => 'fa-folder-open', 'href' => '/other'],
]);
@endphp
<nav class="flex flex-wrap items-center gap-2 text-sm" aria-label="Browse sections">
@foreach($sections as $slug => $meta)
<a href="{{ $meta['href'] }}"
@if($active === $slug) aria-current="page" @endif
class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors
{{ $active === $slug
? 'bg-sky-600 text-white'
: 'bg-white/[0.05] text-white/60 hover:bg-white/[0.1] hover:text-white' }}">
<i class="fa-solid {{ $meta['icon'] }} text-xs"></i>
{{ $meta['label'] }}
</a>
@endforeach
</nav>

View File

@@ -75,55 +75,58 @@
<div class="container-fluid legacy-page">
@php Banner::ShowResponsiveAd(); @endphp
@php
$browseSection = isset($contentType) && $contentType ? strtolower((string) $contentType->slug) : 'artworks';
$browseIconMap = [
'artworks' => 'fa-border-all',
'photography' => 'fa-camera',
'wallpapers' => 'fa-desktop',
'skins' => 'fa-layer-group',
'other' => 'fa-folder-open',
];
$browseIcon = $browseIconMap[$browseSection] ?? 'fa-border-all';
@endphp
<div class="pt-0">
<div class="mx-auto w-full">
<div class="relative min-h-[calc(120vh-64px)] md:min-h-[calc(100vh-64px)]">
<main class="w-full">
{{-- ═══════════════════════════════════════════════════════════════ --}}
{{-- HERO HEADER --}}
{{-- ═══════════════════════════════════════════════════════════════ --}}
<div class="relative overflow-hidden nb-hero-radial">
{{-- Animated gradient overlays --}}
<div class="absolute inset-0 nb-hero-gradient" aria-hidden="true"></div>
<div class="absolute inset-0 opacity-20 bg-[radial-gradient(ellipse_80%_60%_at_50%_-10%,#E07A2130,transparent)]" aria-hidden="true"></div>
<div class="relative px-6 py-10 md:px-10 md:py-14">
{{-- Breadcrumb --}}
@include('components.breadcrumbs', ['breadcrumbs' => collect(array_filter([
{{-- ── Hero header (discover-style) ── --}}
<header class="px-6 pt-10 pb-7 md:px-10 border-b border-white/[0.06] bg-gradient-to-b from-sky-500/[0.04] to-transparent">
@php
$headerBreadcrumbs = collect(array_filter([
isset($contentType) && $contentType ? (object) ['name' => 'Explore', 'url' => '/explore'] : null,
isset($contentType) && $contentType ? (object) ['name' => $contentType->name, 'url' => '/explore/' . strtolower($contentType->slug)] : (object) ['name' => 'Explore', 'url' => '/explore'],
...(($gallery_type ?? null) === 'category' && isset($breadcrumbs) ? $breadcrumbs->all() : []),
]))])
]));
@endphp
{{-- Glass title panel --}}
<div class="mt-4 py-5">
<h1 class="text-3xl md:text-4xl font-bold tracking-tight text-white/95 leading-tight">
<div class="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
<div class="max-w-3xl">
<p class="text-xs font-semibold uppercase tracking-widest text-white/30 mb-1">Browse</p>
<h1 class="text-3xl font-bold text-white leading-tight flex items-center gap-3">
<i class="fa-solid {{ $browseIcon }} text-sky-400 text-2xl"></i>
{{ $hero_title ?? 'Browse Artworks' }}
</h1>
@if(!empty($hero_description))
<p class="mt-2 text-sm leading-6 text-neutral-400 max-w-xl">
{!! $hero_description !!}
</p>
@endif
@if(is_object($artworks) && method_exists($artworks, 'total') && $artworks->total() > 0)
<div class="mt-3 flex items-center gap-1.5 text-xs text-neutral-500">
<svg class="h-3.5 w-3.5 text-accent/70" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" />
</svg>
<span>{{ number_format($artworks->total()) }} artworks</span>
</div>
<p class="mt-1 text-sm text-white/50">{!! $hero_description !!}</p>
@endif
</div>
<div class="flex flex-col items-start gap-3 lg:items-end">
<div class="hidden lg:flex lg:justify-end">
@include('components.breadcrumbs', ['breadcrumbs' => $headerBreadcrumbs])
</div>
@include('gallery._browse_nav', ['section' => $browseSection])
</div>
</div>
<div class="absolute left-0 right-0 bottom-0 h-16 nb-hero-fade pointer-events-none" aria-hidden="true"></div>
</div>
<div class="mt-4 lg:hidden">
@include('components.breadcrumbs', ['breadcrumbs' => $headerBreadcrumbs])
</div>
</header>
{{-- ═══════════════════════════════════════════════════════════════ --}}
{{-- RANKING TABS --}}