Add NAS file manager integration and all pending platform changes

- 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 <[email protected]>
This commit is contained in:
ghassanandClaude Sonnet 4.6 committed 2026-05-13 13:24:32 +03:00
1 parent d44490dfe0
commit 0b2e95ea65
161 files changed
+27496 -7250

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
<?php
namespace App\Mail;
use App\Models\Video;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class NewVideoNotification extends Mailable
{
use Queueable, SerializesModels;
public function __construct(public Video $video, public User $uploader)
{
}
public function envelope(): Envelope
{
return new Envelope(
subject: $this->uploader->name . ' just uploaded a new video on ' . config('app.name'),
);
}
public function content(): Content
{
return new Content(
view: 'emails.new-video-notification',
);
}
}
+33
View File
@@ -0,0 +1,33 @@
<?php
namespace App\Mail;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class TwoFactorDisableConfirmation extends Mailable
{
use Queueable, SerializesModels;
public function __construct(public User $user, public string $confirmUrl)
{
}
public function envelope(): Envelope
{
return new Envelope(
subject: 'Confirm disabling Two-Factor Authentication — ' . config('app.name'),
);
}
public function content(): Content
{
return new Content(
view: 'emails.2fa-disable-confirm',
);
}
}