From efb92ea5b1d8e6ab2feb80a224dde5ae527b56bf Mon Sep 17 00:00:00 2001 From: Al Imran Ahmed Date: Wed, 11 Sep 2024 01:43:35 +0200 Subject: [PATCH] Fixed the issue of not showing menubar in the dashboard --- .../Backend/DashboardController.php | 9 +-- app/Livewire/Backend/Dashboard.php | 24 +++++++ resources/views/backend/dashboard.blade.php | 72 +------------------ .../livewire/backend/dashboard.blade.php | 71 ++++++++++++++++++ .../Backend/DashboardControllerTest.php | 5 +- .../Controllers/HomeControllerTest.php | 5 +- .../Livewire/Backend/DashboardTest.php | 20 ++++++ 7 files changed, 119 insertions(+), 87 deletions(-) create mode 100644 app/Livewire/Backend/Dashboard.php create mode 100644 resources/views/livewire/backend/dashboard.blade.php create mode 100644 tests/Feature/Livewire/Backend/DashboardTest.php diff --git a/app/Http/Controllers/Backend/DashboardController.php b/app/Http/Controllers/Backend/DashboardController.php index f002b1d1..7a009f1f 100644 --- a/app/Http/Controllers/Backend/DashboardController.php +++ b/app/Http/Controllers/Backend/DashboardController.php @@ -3,19 +3,12 @@ namespace App\Http\Controllers\Backend; use App\Http\Controllers\Controller; -use App\Models\Category; -use App\Models\Comment; -use App\Models\Feedback; use Illuminate\Contracts\View\View; class DashboardController extends Controller { public function index(): View { - $categories = Category::query()->withCount('articles')->get()->sortByDesc('articles_count'); - $latestComments = Comment::query()->with('user')->latest()->take(3)->get(); - $latestFeedbacks = Feedback::query()->where('is_closed', 0)->take(3)->get(); - - return view('backend.dashboard', compact('categories', 'latestComments', 'latestFeedbacks')); + return view('backend.dashboard'); } } diff --git a/app/Livewire/Backend/Dashboard.php b/app/Livewire/Backend/Dashboard.php new file mode 100644 index 00000000..f4bbeb02 --- /dev/null +++ b/app/Livewire/Backend/Dashboard.php @@ -0,0 +1,24 @@ +withCount('articles')->get()->sortByDesc('articles_count'); + $latestComments = Comment::query()->with('user')->latest()->take(3)->get(); + $latestFeedbacks = Feedback::query()->where('is_closed', 0)->take(3)->get(); + + return view( + 'livewire.backend.dashboard', + compact('categories', 'latestComments', 'latestFeedbacks') + ); + } +} diff --git a/resources/views/backend/dashboard.blade.php b/resources/views/backend/dashboard.blade.php index 28c648db..91426e00 100644 --- a/resources/views/backend/dashboard.blade.php +++ b/resources/views/backend/dashboard.blade.php @@ -1,73 +1,3 @@ -
-
- - - - Latest Comments - - - - - @forelse($latestComments as $comment) - - - {{$comment->user->name}}
- {{$comment->createdAtHumanDiff}}
- {{$comment->content}} -
- - @empty - @endforelse -
-
-
-
- - - - Latest Feedback - - - - - @forelse($latestFeedbacks as $feedback) - - - {{$feedback->name}}
- {{$feedback->createdAtHumanDiff}}
- {{$feedback->content}} -
- - @empty - No new feedback - @endforelse -
-
-
-
- - - - Articles Categories - - - - - @forelse($categories as $category) - - - {{$category->name}} - - - {{$category->articles_count}}
-
- - @empty - No new feedback - @endforelse -
-
-
-
+
diff --git a/resources/views/livewire/backend/dashboard.blade.php b/resources/views/livewire/backend/dashboard.blade.php new file mode 100644 index 00000000..99abde6f --- /dev/null +++ b/resources/views/livewire/backend/dashboard.blade.php @@ -0,0 +1,71 @@ +
+
+ + + + Latest Comments + + + + + @forelse($latestComments as $comment) + + + {{$comment->user->name}}
+ {{$comment->createdAtHumanDiff}}
+ {{$comment->content}} +
+ + @empty + @endforelse +
+
+
+
+ + + + Latest Feedback + + + + + @forelse($latestFeedbacks as $feedback) + + + {{$feedback->name}}
+ {{$feedback->createdAtHumanDiff}}
+ {{$feedback->content}} +
+ + @empty + No new feedback + @endforelse +
+
+
+
+ + + + Articles Categories + + + + + @forelse($categories as $category) + + + {{$category->name}} + + + {{$category->articles_count}}
+
+ + @empty + No new feedback + @endforelse +
+
+
+
diff --git a/tests/Feature/Controllers/Backend/DashboardControllerTest.php b/tests/Feature/Controllers/Backend/DashboardControllerTest.php index a6f4574a..a9c0a2dd 100644 --- a/tests/Feature/Controllers/Backend/DashboardControllerTest.php +++ b/tests/Feature/Controllers/Backend/DashboardControllerTest.php @@ -23,9 +23,6 @@ public function testIndex() { $this->actingAs($this->user)->get('/admin/dashboard') ->assertStatus(Response::HTTP_OK) - ->assertViewIs('backend.dashboard') - ->assertViewHas('categories') - ->assertViewHas('latestComments') - ->assertViewHas('latestFeedbacks'); + ->assertViewIs('backend.dashboard'); } } diff --git a/tests/Feature/Controllers/HomeControllerTest.php b/tests/Feature/Controllers/HomeControllerTest.php index c6c23d15..8ea17cbd 100644 --- a/tests/Feature/Controllers/HomeControllerTest.php +++ b/tests/Feature/Controllers/HomeControllerTest.php @@ -56,10 +56,7 @@ public function testAdminDashboard() $this->actingAs($user) ->get('/') - ->assertViewIs('backend.dashboard') - ->assertViewHas('categories') - ->assertViewHas('latestComments') - ->assertViewHas('latestFeedbacks'); + ->assertViewIs('backend.dashboard'); } public function testGetMessage() diff --git a/tests/Feature/Livewire/Backend/DashboardTest.php b/tests/Feature/Livewire/Backend/DashboardTest.php new file mode 100644 index 00000000..2d576216 --- /dev/null +++ b/tests/Feature/Livewire/Backend/DashboardTest.php @@ -0,0 +1,20 @@ +assertOk() + ->assertViewIs('livewire.backend.dashboard') + ->assertViewHas('categories') + ->assertViewHas('latestComments') + ->assertViewHas('latestFeedbacks'); + } +}