From aef2c4a47898abae1b8f9f352a48a44d03daad6e Mon Sep 17 00:00:00 2001 From: DariusIII Date: Wed, 8 Oct 2025 00:35:26 +0200 Subject: [PATCH] Add nfo badges and popups --- app/Http/Controllers/NfoController.php | 38 ++++----- resources/views/browse/index.blade.php | 11 +++ resources/views/details/index.blade.php | 8 ++ resources/views/nfo/view.blade.php | 35 ++++++++ resources/views/partials/nfo-modal.blade.php | 90 ++++++++++++++++++++ 5 files changed, 163 insertions(+), 19 deletions(-) create mode 100644 resources/views/nfo/view.blade.php create mode 100644 resources/views/partials/nfo-modal.blade.php diff --git a/app/Http/Controllers/NfoController.php b/app/Http/Controllers/NfoController.php index 1b7d945cd..b510a737c 100644 --- a/app/Http/Controllers/NfoController.php +++ b/app/Http/Controllers/NfoController.php @@ -12,7 +12,7 @@ class NfoController extends BasePageController /** * @throws \Exception */ - public function showNfo(Request $request, string $id = ''): void + public function showNfo(Request $request, string $id = '') { if ($id) { $rel = Release::getByGuid($id); @@ -26,31 +26,31 @@ class NfoController extends BasePageController if ($nfo !== null) { $nfo['nfoUTF'] = Utility::cp437toUTF($nfo['nfo']); - $this->smarty->assign('rel', $rel); - $this->smarty->assign('nfo', $nfo); - - $title = 'NFO File'; - $meta_title = 'View Nfo'; - $meta_keywords = 'view,nzb,nfo,description,details'; - $meta_description = 'View Nfo File'; - - $modal = false; - if ($request->has('modal')) { - $modal = true; - $this->smarty->assign('modal', true); - } - - $content = $this->smarty->fetch('viewnfo.tpl'); + $modal = $request->has('modal'); if ($modal) { - echo $content; + // Return just the NFO content for modal display + return view('nfo.view', [ + 'rel' => $rel, + 'nfo' => $nfo, + 'modal' => true, + ]); } else { - $this->smarty->assign(compact('title', 'content', 'meta_title', 'meta_keywords', 'meta_description')); - $this->pagerender(); + // Return full page view + return view('nfo.view', [ + 'rel' => $rel, + 'nfo' => $nfo, + 'modal' => false, + 'meta_title' => 'View NFO - '.$rel['searchname'], + 'meta_keywords' => 'view,nzb,nfo,description,details', + 'meta_description' => 'View NFO File for '.$rel['searchname'], + ]); } } else { abort(404, 'NFO does not exist'); } } + + abort(404, 'Invalid request'); } } diff --git a/resources/views/browse/index.blade.php b/resources/views/browse/index.blade.php index dbd62f30c..967409d3d 100644 --- a/resources/views/browse/index.blade.php +++ b/resources/views/browse/index.blade.php @@ -177,6 +177,14 @@ Media Info @endif + @if(isset($result->nfostatus) && $result->nfostatus == 1) + + @endif
@if($result->group_name) @@ -311,6 +319,9 @@
+ + + @include('partials.nfo-modal') @endsection diff --git a/resources/views/details/index.blade.php b/resources/views/details/index.blade.php index d9c146f97..dbba4ed54 100644 --- a/resources/views/details/index.blade.php +++ b/resources/views/details/index.blade.php @@ -44,6 +44,11 @@ Add to Cart + @if(isset($release->nfostatus) && $release->nfostatus == 1) + + @endif @auth @if(auth()->user()->hasRole('Admin') || auth()->user()->hasRole('Moderator')) @@ -800,6 +805,9 @@ + +@include('partials.nfo-modal') + @push('scripts') @include('partials.cart-script') diff --git a/resources/views/nfo/view.blade.php b/resources/views/nfo/view.blade.php new file mode 100644 index 000000000..3f8e9fc3a --- /dev/null +++ b/resources/views/nfo/view.blade.php @@ -0,0 +1,35 @@ +@if(isset($modal) && $modal) +
{{ $nfo['nfoUTF'] ?? $nfo['nfo'] ?? 'NFO content not available' }}
+@else + @extends('layouts.main') + + @section('content') +
+
+

NFO File

+
+
+ +
+
{{ $nfo['nfoUTF'] ?? $nfo['nfo'] ?? 'NFO content not available' }}
+
+ + @if(isset($rel)) + + @endif +
+ @endsection +@endif + diff --git a/resources/views/partials/nfo-modal.blade.php b/resources/views/partials/nfo-modal.blade.php new file mode 100644 index 000000000..041837702 --- /dev/null +++ b/resources/views/partials/nfo-modal.blade.php @@ -0,0 +1,90 @@ + + + + +