From 0c64fe55d7f9bf54ecb3859607238f1708ce1499 Mon Sep 17 00:00:00 2001 From: vk Date: Thu, 12 Feb 2026 22:53:56 +0100 Subject: [PATCH] Kleine Bilder anzeigen (vibe-kanban 9bcfc693) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Ladezeiten der Bilder ist zu hoch, weil die Original geladen werden. Bei /association/project-support lade in der Übersicht und in der Einzel-Ansicht /association/project-support/badgebox-for-nostr-manage-your-badges nur die Conversions der Bilder, also die kleinere Versionen. --- app/Models/ProjectProposal.php | 10 +- .../views/components/project-card.blade.php | 4 +- .../project-support/show.blade.php | 2 +- routes/web.php | 10 +- tests/Feature/MediaSignedRouteTest.php | 95 +++++++++++++++++++ 5 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 tests/Feature/MediaSignedRouteTest.php diff --git a/app/Models/ProjectProposal.php b/app/Models/ProjectProposal.php index 20f3f1c..f358e0b 100644 --- a/app/Models/ProjectProposal.php +++ b/app/Models/ProjectProposal.php @@ -78,14 +78,20 @@ class ProjectProposal extends Model implements HasMedia ->useFallbackUrl(asset('einundzwanzig-alpha.jpg')); } - public function getSignedMediaUrl(string $collection = 'main', int $expireMinutes = 60): string + public function getSignedMediaUrl(string $collection = 'main', int $expireMinutes = 60, ?string $conversion = null): string { $media = $this->getFirstMedia($collection); if (! $media) { return asset('einundzwanzig-alpha.jpg'); } - return url()->temporarySignedRoute('media.signed', now()->addMinutes($expireMinutes), ['media' => $media]); + $parameters = ['media' => $media]; + + if ($conversion && $media->hasGeneratedConversion($conversion)) { + $parameters['conversion'] = $conversion; + } + + return url()->temporarySignedRoute('media.signed', now()->addMinutes($expireMinutes), $parameters); } public function einundzwanzigPleb(): BelongsTo diff --git a/resources/views/components/project-card.blade.php b/resources/views/components/project-card.blade.php index 4438fdc..26fb675 100644 --- a/resources/views/components/project-card.blade.php +++ b/resources/views/components/project-card.blade.php @@ -24,7 +24,7 @@ Meetup 01 + src="{{ $project->getSignedMediaUrl('main', 60, 'preview') }}" alt="Meetup 01">