ghassan 73527f3781 Add sports-match type, device tracking, profile visits, and share refactor
- New SportsMatch model/controller and sports UI components/modal
- Move share-modal to a reusable x-share-modal/x-share-button component
- Add VideoSharedWithUser notification and share-to-members flow
- Device/user-agent tracking on views, downloads, share accesses
- ProfileVisit model + migration; subscription source tracking
- Email thumbnail support; remove stale TODO files
2026-05-29 01:50:28 +03:00

13 lines
732 B
PHP

@props(['name', 'label' => 'Upload & crop'])
{{-- A cropper-backed image field. The matching <x-image-cropper id="smc_{name}">
(defined once in the sports-match modal) writes the cropped file onto the
hidden input below and updates #sm-prev-{name}. --}}
<div {{ $attributes->merge(['class' => 'sm-img-field']) }} data-img="{{ $name }}">
<input type="file" name="{{ $name }}" id="sm-file-{{ $name }}" accept=".jpg,.jpeg,.png,.webp" hidden>
<button type="button" class="sm-img-drop" onclick="smOpenCropper('smc_{{ $name }}')">
<img class="sm-img-preview d-none" id="sm-prev-{{ $name }}" alt="">
<span class="sm-img-ph"><i class="bi bi-crop"></i><span>{{ $label }}</span></span>
</button>
</div>