feat: ship creator journey v2 and profile updates

This commit is contained in:
2026-04-12 21:42:07 +02:00
parent a2457f4e49
commit d5cff21ea2
335 changed files with 20147 additions and 1545 deletions

View File

@@ -48,81 +48,19 @@
@endpush
@section('content')
<div class="container-fluid legacy-page">
<div class="mx-auto w-full max-w-screen-2xl px-4 py-6 sm:px-6 lg:px-8">
@php Banner::ShowResponsiveAd(); @endphp
<div class="pt-0">
{{-- Source info --}}
<div class="min-w-0 flex-1 space-y-2">
<h1 class="text-2xl font-bold leading-tight text-white md:text-3xl">
Artworks similar to
<a href="{{ $src->url }}" class="underline decoration-white/20 underline-offset-4 transition hover:decoration-sky-400 focus-visible:outline-none">{{ $src->title }}</a>
</h1>
<script id="similar-artworks-header-props" type="application/json">
{!! json_encode(['artwork' => $sourceArtwork], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP) !!}
</script>
{{-- Author & category --}}
<div class="flex flex-wrap items-center gap-3 text-sm text-white/50">
@if(!empty($src->author_name))
<span class="flex items-center gap-2">
@if(!empty($src->author_avatar))
<img src="{{ $src->author_avatar }}"
alt="{{ $src->author_name }}"
class="h-5 w-5 rounded-full object-cover ring-1 ring-white/20"
onerror="this.style.display='none'">
@endif
<a href="/{{ $src->author_username }}" class="font-medium text-white/70 hover:text-white transition">{{ $src->author_name }}</a>
</span>
@endif
<div id="similar-artworks-header-root" class="mb-8"></div>
@if(!empty($src->category_name))
<span class="inline-flex items-center gap-1 rounded-full border border-white/10 bg-white/[0.05] px-2.5 py-0.5 text-xs font-medium text-white/60">
{{ $src->category_name }}
</span>
@endif
@if(!empty($src->content_type_name))
<span class="inline-flex items-center gap-1 rounded-full border border-sky-400/20 bg-sky-400/[0.08] px-2.5 py-0.5 text-xs font-medium text-sky-300">
{{ $src->content_type_name }}
</span>
@endif
</div>
{{-- Tags --}}
@if(!empty($src->tag_slugs))
<div class="flex flex-wrap gap-1.5">
@foreach($src->tag_slugs as $tagSlug)
<a href="{{ route('tags.show', $tagSlug) }}"
class="rounded-full border border-white/[0.08] bg-white/[0.04] px-2.5 py-0.5 text-xs text-white/50 transition hover:border-sky-400/30 hover:bg-sky-400/[0.07] hover:text-white/80">
#{{ $tagSlug }}
</a>
@endforeach
</div>
@endif
{{-- Actions --}}
<div class="flex items-center gap-3 pt-1">
<a href="{{ $src->url }}"
class="inline-flex items-center gap-2 rounded-xl border border-white/10 bg-white/[0.06] px-4 py-2 text-sm font-medium text-white/80 transition hover:bg-white/[0.10] hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sky-400/60">
<svg class="h-4 w-4 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M10 19l-7-7m0 0l7-7m-7 7h18" />
</svg>
Back to artwork
</a>
@if(!empty($src->content_type_slug))
<a href="/{{ $src->content_type_slug }}"
class="inline-flex items-center gap-2 rounded-xl border border-white/10 bg-white/[0.04] px-4 py-2 text-sm font-medium text-white/60 transition hover:bg-white/[0.08] hover:text-white/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sky-400/60">
Browse {{ $src->content_type_name ?: 'artworks' }}
</a>
@endif
</div>
</div>
</div>
</div>
{{-- ══════════════════════════════════════════════════════════════ --}}
{{-- RESULTS SECTION (loaded asynchronously) --}}
{{-- ══════════════════════════════════════════════════════════════ --}}
<section class="px-6 pb-10 pt-8 md:px-10" id="similar-results-section" data-artwork-id="{{ $src->id }}">
{{-- ══════════════════════════════════════════════════════════════════ --}}
{{-- RESULTS SECTION (loaded asynchronously) --}}
{{-- ══════════════════════════════════════════════════════════════════ --}}
<section id="similar-results-section" data-artwork-id="{{ $src->id }}">
{{-- Section heading --}}
<div class="mb-6 flex flex-wrap items-center justify-between gap-3">
@@ -210,17 +148,12 @@
{{-- Pagination (hidden until loaded) --}}
<div id="similar-pagination" style="display:none;" class="mt-10 flex items-center justify-center gap-3"></div>
</section>
</main>
</div>
</div>
</div>
</section>
</div>
@endsection
@push('scripts')
@vite('resources/js/entry-masonry-gallery.jsx')
@vite(['resources/js/entry-masonry-gallery.jsx', 'resources/js/entry-similar-artworks-header.jsx'])
<script>
(function () {
const section = document.getElementById('similar-results-section');