feat: ship creator journey v2 and profile updates
This commit is contained in:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user