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
This commit is contained in:
ghassan committed 2026-05-29 01:50:28 +03:00
1 parent 6aae6f86b6
commit 73527f3781
61 files changed
+4014 -636

No files matched your search

@@ -12,9 +12,10 @@
</p>
@if($video->thumbnail)
@php($thumbEmbed = \App\Support\EmailThumbnail::localPath($video))
<div class="email-thumb-wrap">
<a href="{{ route('videos.show', $video) }}">
<img src="{{ route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
<img src="{{ $thumbEmbed ? $message->embed($thumbEmbed) : route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
</a>
</div>
@endif
@@ -7,10 +7,11 @@
<p class="email-subtitle">A channel you subscribed to just posted new content.</p>
{{-- Thumbnail --}}
@php($thumbEmbed = \App\Support\EmailThumbnail::localPath($video))
<div class="email-thumb-wrap">
@if($video->thumbnail)
<a href="{{ route('videos.show', $video) }}">
<img src="{{ route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
<img src="{{ $thumbEmbed ? $message->embed($thumbEmbed) : route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
</a>
@else
<div class="email-thumb-placeholder">
@@ -23,10 +23,11 @@
@endif
{{-- Cover --}}
@php($thumbEmbed = \App\Support\EmailThumbnail::localPath($video))
<div class="email-thumb-wrap">
@if($video->thumbnail)
<a href="{{ $shareUrl }}">
<img src="{{ route('media.thumbnail', $video->thumbnail) }}" alt="{{ $shareTitle }}">
<img src="{{ $thumbEmbed ? $message->embed($thumbEmbed) : route('media.thumbnail', $video->thumbnail) }}" alt="{{ $shareTitle }}">
</a>
@else
<div class="email-thumb-placeholder">
@@ -13,10 +13,11 @@
</p>
{{-- Thumbnail --}}
@php($thumbEmbed = \App\Support\EmailThumbnail::localPath($video))
<div class="email-thumb-wrap">
@if($video->thumbnail)
<a href="{{ route('videos.show', $video) }}">
<img src="{{ route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
<img src="{{ $thumbEmbed ? $message->embed($thumbEmbed) : route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
</a>
@else
<div class="email-thumb-placeholder">