Display CMS Optimierungen 29-05-2026
- Mediathek: Video-Vorschaubilder statt Icons (FFmpeg-Thumbnails + Backfill-Command), Kategorie "Sonstiges" - B2in Media-Picker zeigt alle Medientypen, Typ wird automatisch erkannt; Thumbnail-Preview vor allen Medien-URL-Feldern - B2in Marke/Footer: Footer ein/aus, Logo+Claim frei positionierbar (Ecken) mit Constraints, separate Anzeige-Schalter - Angebote-Modul dynamisch: kein Slide-Typ mehr, einheitliches Detail-Layout mit ein-/ausblendbaren Bloecken, Logo/Brand pro Slide, Streichpreis-Option - Player: leere Module stoppen Endlosschleife, dynamische Layout-Anpassung bei verstecktem Footer/Header - Fix: Script-Ladereihenfolge (Livewire vor Flux), entfernte stale public/flux/flux.js, Modal-Crash beim Aktualisieren behoben Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
9262132325
commit
6c6d683b9a
42 changed files with 2267 additions and 13905 deletions
|
|
@ -2,11 +2,20 @@
|
|||
<div class="flex items-end gap-3">
|
||||
<div class="flex-1">
|
||||
@if ($selectedMedia)
|
||||
@php
|
||||
$selectedThumb = $selectedMedia->getThumbnailUrl()
|
||||
?? ($selectedMedia->isImage() && $selectedMedia->isExternal() ? $selectedMedia->external_url : null);
|
||||
$selectedVideoFrame = (! $selectedThumb && $selectedMedia->isVideo() && $selectedMedia->isUpload()) ? $selectedMedia->getUrl() : null;
|
||||
@endphp
|
||||
<div class="flex items-center gap-3 rounded-lg border border-zinc-200 p-2 dark:border-zinc-700">
|
||||
@if ($selectedMedia->isImage() && $selectedMedia->isUpload())
|
||||
<img src="{{ $selectedMedia->getThumbnailUrl() }}"
|
||||
@if ($selectedThumb)
|
||||
<img src="{{ $selectedThumb }}"
|
||||
alt="{{ $selectedMedia->filename }}"
|
||||
class="h-16 w-16 rounded-md object-cover" />
|
||||
@elseif ($selectedVideoFrame)
|
||||
<video class="h-16 w-16 rounded-md object-cover" preload="metadata" muted playsinline>
|
||||
<source src="{{ $selectedVideoFrame }}#t=1" type="{{ $selectedMedia->mime_type }}">
|
||||
</video>
|
||||
@elseif ($selectedMedia->isVideo())
|
||||
<div class="flex h-16 w-16 items-center justify-center rounded-md bg-purple-50 dark:bg-purple-900/20">
|
||||
<x-heroicon-o-film class="h-8 w-8 text-purple-500" />
|
||||
|
|
@ -88,9 +97,18 @@
|
|||
{{ $value === $item->id ? 'border-blue-500 ring-2 ring-blue-200' : 'border-zinc-200 hover:border-blue-300 dark:border-zinc-700' }}"
|
||||
wire:click="selectMedia({{ $item->id }})">
|
||||
<div class="relative aspect-square bg-zinc-100 dark:bg-zinc-800">
|
||||
@if ($item->isImage() && $item->isUpload())
|
||||
<img src="{{ $item->getThumbnailUrl() }}"
|
||||
@php
|
||||
$pickThumb = $item->getThumbnailUrl()
|
||||
?? ($item->isImage() && $item->isExternal() ? $item->external_url : null);
|
||||
$pickVideoFrame = (! $pickThumb && $item->isVideo() && $item->isUpload()) ? $item->getUrl() : null;
|
||||
@endphp
|
||||
@if ($pickThumb)
|
||||
<img src="{{ $pickThumb }}"
|
||||
alt="{{ $item->filename }}" class="h-full w-full object-cover" loading="lazy" />
|
||||
@elseif ($pickVideoFrame)
|
||||
<video class="h-full w-full object-cover" preload="metadata" muted playsinline>
|
||||
<source src="{{ $pickVideoFrame }}#t=1" type="{{ $item->mime_type }}">
|
||||
</video>
|
||||
@elseif ($item->isVideo())
|
||||
<div class="flex h-full w-full items-center justify-center text-purple-500">
|
||||
<x-heroicon-o-film class="h-10 w-10" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue