feat: recompor cadência editorial pública (#46)

This commit is contained in:
2026-08-11 09:07:58 -03:00
committed by GitHub
parent 8afb925e17
commit 28e25b4464
17 changed files with 320 additions and 285 deletions

View File

@@ -9,12 +9,30 @@
@if ($cases->isEmpty())
<p class="text-amare-muted">Novos casos serão publicados assim que o acervo estiver organizado. Enquanto isso, fale conosco para conhecer o nosso trabalho.</p>
@else
@php($hasPrioritizedImage = false)
<div class="grid gap-10 md:grid-cols-2" data-reveal-group>
@php
$hasPrioritizedImage = false;
@endphp
<div class="grid gap-8 md:grid-cols-12 md:gap-x-8 md:gap-y-14" data-editorial-portfolio-grid data-reveal-group>
@foreach ($cases as $case)
<article class="space-y-4" data-reveal data-reveal-from="up">
@php
$isFeature = $loop->first;
$isOffset = ! $isFeature && $loop->even;
@endphp
<article
@class([
'space-y-4',
'md:col-span-7' => $isFeature,
'md:col-span-5 md:col-start-8 md:pt-12' => $isOffset,
'md:col-span-5' => ! $isFeature && ! $isOffset,
])
data-editorial-portfolio-item="{{ $isFeature ? 'feature' : ($isOffset ? 'offset' : 'standard') }}"
data-reveal
data-reveal-from="up"
>
@if (filled($case->cover_image_path))
@php($prioritizeImage = ! $hasPrioritizedImage)
@php
$prioritizeImage = ! $hasPrioritizedImage;
@endphp
<a href="{{ route('portfolio.show', $case->slug) }}" class="block overflow-hidden">
<x-media.image
:path="$case->cover_image_path"
@@ -22,10 +40,17 @@
:loading="$prioritizeImage ? 'eager' : 'lazy'"
:fetchpriority="$prioritizeImage ? 'high' : null"
sizes="(max-width: 768px) calc(100vw - 3rem), 50vw"
class="img-editorial aspect-[4/3] w-full object-cover transition-transform duration-(--amare-duration-slow) ease-(--amare-ease-standard) motion-safe:hover:scale-[1.02]"
@class([
'img-editorial w-full object-cover transition-transform duration-(--amare-duration-slow) ease-(--amare-ease-standard) motion-safe:hover:scale-[1.02]',
'aspect-[5/4]' => $isFeature,
'aspect-[4/5]' => $isOffset,
'aspect-[4/3]' => ! $isFeature && ! $isOffset,
])
/>
</a>
@php($hasPrioritizedImage = true)
@php
$hasPrioritizedImage = true;
@endphp
@endif
<div class="space-y-2 border-t border-amare-border pt-4">
<h2 class="text-2xl font-medium text-amare-text">