From 9efa03da195c424908910c12085d0a13a06b9c96 Mon Sep 17 00:00:00 2001 From: myuqinurrohman Date: Sat, 29 Mar 2025 14:11:12 +0700 Subject: [PATCH] feat: homepage announcement index --- .../Homepage/AnnouncementController.php | 47 +++++++++++++++ .../Controllers/Homepage/NewsController.php | 7 ++- .../homepage/announcements/index.blade.php | 58 +++++++++++++++++++ .../homepage/announcements/read.blade.php | 54 +++++++++++++++++ resources/views/homepage/news/index.blade.php | 8 ++- .../views/partials/homepage/header.blade.php | 2 +- routes/web.php | 6 ++ 7 files changed, 176 insertions(+), 6 deletions(-) create mode 100644 app/Http/Controllers/Homepage/AnnouncementController.php create mode 100644 resources/views/homepage/announcements/index.blade.php create mode 100644 resources/views/homepage/announcements/read.blade.php diff --git a/app/Http/Controllers/Homepage/AnnouncementController.php b/app/Http/Controllers/Homepage/AnnouncementController.php new file mode 100644 index 0000000..4212df0 --- /dev/null +++ b/app/Http/Controllers/Homepage/AnnouncementController.php @@ -0,0 +1,47 @@ + 'Pengumuman', + 'page' => 'announcements', + ]; + + $search = $request->input('search', null); + + if($search){ + $data['announcements'] = News::where('category', '1')->where('title', 'LIKE', "%{$search}%") + // ->orWhere('content', 'LIKE', "%{$search}%") + ->latest() + ->simplePaginate(6); + }else{ + $data['announcements'] = News::where('category', '1')->latest()->simplePaginate(6); + } + + return view('homepage.announcements.index', $data); + } + + public function read($slug){ + $announcement = News::where('slug', $slug)->first(); + $announcement->increment('views', 1); + + $data = [ + 'title' => 'Pengumuman', + 'page' => 'announcements', + 'announcement' => $announcement, + 'popularAnnouncements' => News::where('category', '1')->orderBy('views', 'desc')->take(5)->get(), + 'otherAnnouncements' => News::where('category', '1')->orderByDesc('id')->where('id', '!=', $announcement->id)->take(3)->get() + ]; + + return view('homepage.announcements.read', $data); + + } +} diff --git a/app/Http/Controllers/Homepage/NewsController.php b/app/Http/Controllers/Homepage/NewsController.php index 9c00802..2617c86 100644 --- a/app/Http/Controllers/Homepage/NewsController.php +++ b/app/Http/Controllers/Homepage/NewsController.php @@ -20,10 +20,11 @@ public function index(Request $request){ if($search){ $data['news'] = News::where('title', 'LIKE', "%{$search}%") // ->orWhere('content', 'LIKE', "%{$search}%") + ->where('category', '0') ->latest() ->simplePaginate(12); }else{ - $data['news'] = News::latest()->simplePaginate(12); + $data['news'] = News::where('category', '0')->latest()->simplePaginate(12); } return view('homepage.news.index', $data); @@ -37,8 +38,8 @@ public function read($slug){ 'title' => 'Berita', 'page' => 'news', 'news' => $news, - 'popularNews' => News::orderBy('views', 'desc')->take(5)->get(), - 'otherNews' => News::orderByDesc('id')->where('id', '!=', $news->id)->take(3)->get() + 'popularNews' => News::where('category', '0')->orderBy('views', 'desc')->take(5)->get(), + 'otherNews' => News::where('category', '0')->orderByDesc('id')->where('id', '!=', $news->id)->take(3)->get() ]; return view('homepage.news.read', $data); diff --git a/resources/views/homepage/announcements/index.blade.php b/resources/views/homepage/announcements/index.blade.php new file mode 100644 index 0000000..15c5d36 --- /dev/null +++ b/resources/views/homepage/announcements/index.blade.php @@ -0,0 +1,58 @@ +@include('partials.homepage.head') + + @include('partials.homepage.header') + +
+
+
+
+

Pengumuman

+
+ +
+
+
+ + +
+
+
+
+ +
+
+ {{$announcements->links()}} +
+
+
+
+ + +@include('partials.homepage.footer') diff --git a/resources/views/homepage/announcements/read.blade.php b/resources/views/homepage/announcements/read.blade.php new file mode 100644 index 0000000..eb1a0f2 --- /dev/null +++ b/resources/views/homepage/announcements/read.blade.php @@ -0,0 +1,54 @@ +@include('partials.homepage.head') + + @include('partials.homepage.header') + +
+
+
+
+ By Jackson in Marketing on 26 November 2021 +

Marketing tips and tricks for your creative website.

+
+
+
+
+ + +
+
+
+
+
+
+
+ + +
+
+
+
+
+ {{--
+
+ + Words by + Jackson smith +
+
+ +
--}} +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

+

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia.

+
+
+
+
+
+
+ + +@include('partials.homepage.footer') diff --git a/resources/views/homepage/news/index.blade.php b/resources/views/homepage/news/index.blade.php index a8629f4..6a65c57 100644 --- a/resources/views/homepage/news/index.blade.php +++ b/resources/views/homepage/news/index.blade.php @@ -26,7 +26,7 @@