{{-- File/Folder Card for Grid View --}} @php $itemId = $item->getIdentifier(); $itemName = $item->getName(); $isReadOnly = $isReadOnly ?? false; $isSelected = $this->isSelected($itemId); @endphp
isFolder()) x-on:dragover.prevent="isDragOver = true" x-on:dragleave="isDragOver = false" x-on:drop.prevent="isDragOver = false; if (draggedItemId && draggedItemId !== @js($itemId)) { $wire.handleDrop(@js($itemId), draggedItemId) }" @endif @endif x-on:click="$wire.handleItemClick(@js($itemId))" class="group relative cursor-pointer rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 p-4 transition-all hover:border-primary-500 hover:shadow-lg {{ $isSelected ? 'ring-2 ring-primary-500 border-primary-500 bg-primary-50 dark:bg-primary-900/20' : '' }}" @if(!$isReadOnly):class="{ 'border-primary-500 bg-primary-50 dark:bg-primary-900/20': isDragOver }"@endif > {{-- Selection Checkbox --}} @if(!$isReadOnly) @endif {{-- Thumbnail/Icon --}}
@if($item->isFolder())
@else
@if($item->getThumbnail()) {{ $itemName }} @else
@if($item->isVideo()) @elseif($item->isImage()) @elseif($item->isDocument()) @elseif($item->isAudio()) @else @endif
@endif @if($item->isVideo())
@endif
@endif {{-- Name and Meta --}}

{{ $itemName }}

@if($item->isFile())
@if($item->getDuration() && ($item->isVideo() || $item->isAudio())) {{ $item->getFormattedDuration() }} @endif @if($item->getSize()) {{ $item->getFormattedSize() }} @endif
@endif
@if(!$isReadOnly) {{-- Dropdown Menu --}} Move Rename Delete @endif