42 lines
2.7 KiB
PHP
42 lines
2.7 KiB
PHP
@php
|
|
$creatorItems = collect(is_array($creators ?? null) ? $creators : [])->filter()->take(6)->values();
|
|
$avatarFallback = 'https://files.skinbase.org/default/avatar_default.webp';
|
|
@endphp
|
|
|
|
@if ($creatorItems->isNotEmpty())
|
|
<section class="mt-14 px-4 sm:px-6 lg:px-8">
|
|
<div class="mb-5 flex items-center justify-between gap-4">
|
|
<h2 class="text-xl font-bold text-white">Creator Spotlight</h2>
|
|
<a href="/members" class="text-sm text-nova-300 transition hover:text-white">All creators</a>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-6">
|
|
@foreach ($creatorItems as $creator)
|
|
<a
|
|
href="{{ $creator['url'] ?? '#' }}"
|
|
aria-label="View {{ $creator['name'] ?? 'Creator' }} profile"
|
|
class="group relative flex min-h-[16rem] flex-col items-center overflow-hidden rounded-xl bg-panel p-5 text-center shadow-sm transition hover:ring-1 hover:ring-nova-500"
|
|
@if (!empty($creator['bg_thumb']))
|
|
style="background-image: linear-gradient(to top, rgba(13, 19, 28, 0.96), rgba(13, 19, 28, 0.7)), url('{{ $creator['bg_thumb'] }}'); background-size: cover; background-position: center;"
|
|
@endif
|
|
>
|
|
<img src="{{ $creator['avatar'] ?? $avatarFallback }}" alt="{{ $creator['name'] ?? 'Creator' }}" class="relative mx-auto h-16 w-16 rounded-full bg-nova-800/80 object-cover ring-4 ring-nova-800" loading="lazy" decoding="async">
|
|
<h3 class="relative mt-2 text-sm font-semibold text-white">{{ $creator['name'] ?? 'Creator' }}</h3>
|
|
<p class="relative mt-1 flex flex-wrap justify-center gap-x-3 gap-y-1 text-xs text-soft">
|
|
<span>Uploads {{ number_format((int) ($creator['uploads'] ?? 0)) }}</span>
|
|
@if ((int) ($creator['weekly_uploads'] ?? 0) > 0)
|
|
<span class="font-semibold text-accent">{{ number_format((int) ($creator['weekly_uploads'] ?? 0)) }} this week</span>
|
|
@endif
|
|
<span>Views {{ number_format((int) ($creator['views'] ?? 0)) }}</span>
|
|
@if ((int) ($creator['awards'] ?? 0) > 0)
|
|
<span>Awards {{ number_format((int) ($creator['awards'] ?? 0)) }}</span>
|
|
@endif
|
|
</p>
|
|
<span class="relative mt-3 inline-flex items-center justify-center rounded-lg bg-nova-700 px-4 py-1.5 text-xs font-semibold text-white transition group-hover:bg-nova-600">
|
|
View profile
|
|
</span>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
</section>
|
|
@endif |