- Installed p7h/nas-file-manager package via private VCS repo - Published config/nas-file-manager.php with super_admin middleware restriction - Added NAS env vars to .env.example - Created admin/nas-storage page with connection info panel and file browser widget - Added NAS Storage link to admin sidebar (super_admin only) - Added SuperAdminController@nasStorage method and admin.nas-storage route - Includes all accumulated branch changes: profile wall, 2FA, audit logs, settings panel, country/phone/timezone components, posts, slideshow, playlist shares, video downloads/shares, comment likes, notifications, social links, and more Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
61 lines
2.4 KiB
PHP
61 lines
2.4 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;">🔔</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 --}}
|
|
<div class="email-thumb-wrap">
|
|
@if($video->thumbnail)
|
|
<a href="{{ route('videos.show', $video) }}">
|
|
<img src="{{ asset('storage/thumbnails/' . $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">▶ 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>
|