takeone-youtube-clone/resources/views/emails/new-video-notification.blade.php
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

62 lines
2.5 KiB
PHP

<x-emails.layout subject="{{ $uploader->name }} just uploaded a new video">
{{-- Icon --}}
<div style="width:64px;height:64px;border-radius:50%;background:rgba(230,30,30,.12);border:1px solid rgba(230,30,30,.25);margin:0 auto 24px;text-align:center;line-height:64px;font-size:28px;">&#x1F514;</div>
<h1 class="email-title">New video from {{ $uploader->name }}</h1>
<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="{{ $thumbEmbed ? $message->embed($thumbEmbed) : route('media.thumbnail', $video->thumbnail) }}" alt="{{ $video->title }}">
</a>
@else
<div class="email-thumb-placeholder">
<span style="font-size:32px;"></span>
<span>{{ Str::limit($video->title, 40) }}</span>
</div>
@endif
</div>
{{-- Details box --}}
<div class="email-infobox">
<div class="email-infobox-label">Video Details</div>
<div class="email-inforow">
<span class="email-inforow-key">Title</span>
<span class="email-inforow-val">{{ $video->title }}</span>
</div>
@if($video->description)
<div class="email-inforow">
<span class="email-inforow-key">Description</span>
<span class="email-inforow-val">{{ Str::limit($video->description, 100) }}</span>
</div>
@endif
@if($video->formatted_duration)
<div class="email-inforow">
<span class="email-inforow-key">Duration</span>
<span class="email-inforow-val">{{ $video->formatted_duration }}</span>
</div>
@endif
<div class="email-inforow">
<span class="email-inforow-key">Channel</span>
<span class="email-inforow-val">{{ $uploader->name }}</span>
</div>
</div>
{{-- CTA --}}
<div class="email-btn-wrap">
<a href="{{ route('videos.show', $video) }}" class="email-btn">&#9654;&nbsp; Watch Now</a>
</div>
<hr class="email-divider">
<p class="email-note">
You're receiving this because you subscribed to <strong>{{ $uploader->name }}</strong>'s channel on {{ config('app.name') }}.
Visit <a href="{{ route('channel', $uploader->channel) }}">their channel</a> to manage your subscription.
</p>
</x-emails.layout>