1 <div component="dropzone"
2 option:dropzone:url="{{ url("/images/{$image->id}/file") }}"
3 option:dropzone:method="PUT"
4 option:dropzone:success-message="{{ trans('components.image_update_success') }}"
5 option:dropzone:upload-limit="{{ config('app.upload_limit') }}"
6 option:dropzone:upload-limit-message="{{ trans('errors.server_upload_limit') }}"
7 option:dropzone:zone-text="{{ trans('entities.attachments_dropzone') }}"
8 option:dropzone:file-accept="image/*"
9 class="image-manager-details">
12 <div class="image-manager-warning px-m py-xs flex-container-row gap-xs items-center mb-l">
13 <div>@icon('warning')</div>
14 <div class="flex">{{ $warning }}</div>
18 <div refs="dropzone@status-area dropzone@drop-target"></div>
20 <script id="image-manager-form-image-data" type="application/json">@json($image)</script>
22 <form component="ajax-form"
23 option:ajax-form:success-message="{{ trans('components.image_update_success') }}"
24 option:ajax-form:method="put"
25 option:ajax-form:response-container=".image-manager-details"
26 option:ajax-form:url="{{ url('images/' . $image->id) }}">
28 <div class="image-manager-viewer">
29 <a href="{{ $image->url }}" target="_blank" rel="noopener" class="block">
30 <img src="{{ $image->thumbs['display'] ?? $image->url }}"
31 alt="{{ $image->name }}"
33 title="{{ $image->name }}">
36 <div class="form-group stretch-inputs">
37 <label for="name">{{ trans('components.image_image_name') }}</label>
38 <input id="name" class="input-base" type="text" name="name" value="{{ $image->name }}">
40 <div class="flex-container-row justify-space-between gap-m">
41 @if(userCan('image-delete', $image) || userCan('image-update', $image))
42 <div component="dropdown"
43 class="dropdown-container">
44 <button refs="dropdown@toggle" type="button" class="button icon outline">@icon('more')</button>
45 <div refs="dropdown@menu" class="dropdown-menu anchor-left">
46 @if(userCan('image-delete', $image))
48 id="image-manager-delete"
49 class="text-item">{{ trans('common.delete') }}</button>
51 @if(userCan('image-update', $image))
53 id="image-manager-replace"
54 refs="dropzone@select-button"
55 class="text-item">{{ trans('components.image_replace') }}</button>
57 id="image-manager-rebuild-thumbs"
58 class="text-item">{{ trans('components.image_rebuild_thumbs') }}</button>
64 class="button icon outline">{{ trans('common.save') }}</button>
68 @if(!is_null($dependantPages))
70 @if(count($dependantPages) > 0)
71 <p class="text-neg mb-xs mt-m">{{ trans('components.image_delete_used') }}</p>
73 @foreach($dependantPages as $page)
75 <a href="{{ $page->url }}"
78 class="text-neg">{{ $page->name }}</a>
83 <p class="text-neg mb-xs">{{ trans('components.image_delete_confirm_text') }}</p>
84 <form component="ajax-form"
85 option:ajax-form:success-message="{{ trans('components.image_delete_success') }}"
86 option:ajax-form:method="delete"
87 option:ajax-form:response-container=".image-manager-details"
88 option:ajax-form:url="{{ url('images/' . $image->id) }}">
89 <button type="submit" class="button neg">
90 {{ trans('common.delete_confirm') }}
95 <div class="text-muted text-small">
97 <div title="{{ $image->created_at->format('Y-m-d H:i:s') }}">
98 @icon('star') {{ trans('components.image_uploaded', ['uploadedDate' => $image->created_at->diffForHumans()]) }}
100 @if($image->created_at->valueOf() !== $image->updated_at->valueOf())
101 <div title="{{ $image->updated_at->format('Y-m-d H:i:s') }}">
102 @icon('edit') {{ trans('components.image_updated', ['updateDate' => $image->updated_at->diffForHumans()]) }}
105 @if($image->createdBy)
106 <div>@icon('user') {{ trans('components.image_uploaded_by', ['userName' => $image->createdBy->name]) }}</div>
108 @if(($page = $image->getPage()) && userCan('view', $page))
111 {!! trans('components.image_uploaded_to', [
112 'pageLink' => '<a class="text-page" href="' . e($page->getUrl()) . '" target="_blank">' . e($page->name) . '</a>'