@extends('layouts.dashboard') @section('content') @php /** * Vendor → Media library: this restaurant's OWN uploaded assets (tenant-scoped). Browse + * delete; new files are added through the shared media picker on the fields that use them * (the same /vendor/media endpoint answers the picker's XHR with JSON). Mirrors the admin * library minus the all-tenants restaurant filter + per-tile owner label. * * @var array $items media rows for this page * @var string $kind active kind filter ('' | image | video) * @var string $search active search term * @var array $pager paginate() metadata */ $hasFilter = $search !== '' || $kind !== ''; @endphp @php /* .qm-d2: the dashboard density standard (app.css §35) */ @endphp
@php // Page primary action → top-bar subheader slot, exactly like the screens page. @endphp @php ob_start(); @endphp {{ t_raw('nav.media_add') }} @php \App\Support\View::slot('subhead', ob_get_clean()); @endphp
@if (!$items)

{!! $hasFilter ? t('media.empty_results') : t('media.empty_library') !!}

@else
@foreach ($items as $it)
@if (($it['kind'] ?? 'image') === 'video') @php /* A clip is a lightbox trigger exactly like the images beside it — the overlay swaps its for a playing
@endforeach
@partial('table-toolbar', ['pager' => $pager, 'base' => '/vendor/media']) @endif
@php /* /.qm-d2 */ @endphp @endsection