Files
ABSDEV/Modules/Media/Resources/views/index.blade.php
T

2 lines
1.9 KiB
PHP

<x-layouts.app :title="__('Media library')"><div class="space-y-6"><div><h1 class="text-2xl font-semibold">Media library</h1><p class="mt-1 text-sm text-zinc-500">Upload and manage reusable files.</p></div>@if(session('status'))<div class="rounded-xl bg-emerald-50 p-3 text-sm text-emerald-800">{{ session('status') }}</div>@endif<form method="POST" enctype="multipart/form-data" action="{{ route('administration.media.store') }}" class="grid gap-4 rounded-xl border border-zinc-200 bg-white p-5 sm:grid-cols-3 dark:border-zinc-700 dark:bg-zinc-900">@csrf<flux:input type="file" name="file" label="File" required/><flux:input name="title" label="Title"/><flux:input name="alt_text" label="Alternative text"/><div class="sm:col-span-3"><flux:button type="submit" variant="primary">Upload</flux:button></div></form><div class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">@forelse($media as $item)<article class="overflow-hidden rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900">@if(str_starts_with((string)$item->mime_type,'image/'))<img src="{{ Storage::disk($item->disk)->url($item->path) }}" alt="{{ $item->alt_text }}" class="h-40 w-full object-cover">@else<div class="flex h-40 items-center justify-center bg-zinc-100 text-zinc-500 dark:bg-zinc-800"><flux:icon.document class="size-10"/></div>@endif<div class="p-4"><div class="truncate font-medium">{{ $item->title ?: $item->original_name }}</div><div class="mt-1 text-xs text-zinc-500">{{ Number::fileSize($item->size) }}</div><form method="POST" action="{{ route('administration.media.destroy',$item) }}" class="mt-3">@csrf @method('DELETE')<flux:button size="sm" variant="danger" type="submit">Delete</flux:button></form></div></article>@empty<div class="col-span-full rounded-xl border border-dashed border-zinc-300 p-10 text-center text-sm text-zinc-500">No media uploaded.</div>@endforelse</div>{{ $media->links() }}</div></x-layouts.app>