@extends('admin.layouts.inventory')
@section('title', 'Project media — '.$project->customer_name)
@section('content')
Same storage as the mobile app (uploads/{tenant_id}/). Changes sync via project media fields.
@foreach($photoFields as $field => $label)
{{ $label }}
@forelse($media[$field] ?? [] as $index => $url)
@php $key = app(\App\Services\ProjectMediaService::class)->keysFromField($project->{$field})[$index] ?? ''; @endphp
-
@include('admin.inventory.partials.action_icons', [
'view' => $url ?: null,
'viewTarget' => '_blank',
'delete' => ($editable && $key) ? [
'action' => route('admin.inventory.projects.media.destroy', $project),
'confirm' => 'Remove?',
'label' => 'Remove',
'fields' => [
'slot' => $field,
'key' => $key,
],
] : null,
])
{{ $key }}
@empty
- No photos
@endforelse
@if($editable)
@endif
@endforeach
Other documents
@forelse($media['other_documents'] ?? [] as $doc)
-
@if($doc['url'])
{{ $doc['name'] }}
@else
{{ $doc['name'] }}
@endif
@if($editable && ($doc['key'] ?? ''))
@include('admin.inventory.partials.action_icons', [
'delete' => [
'action' => route('admin.inventory.projects.media.destroy', $project),
'confirm' => 'Remove?',
'label' => 'Remove',
'fields' => [
'slot' => 'other_documents',
'key' => $doc['key'],
],
],
])
@endif
@empty
- No documents
@endforelse
@if($editable)
@endif
@endsection