From e7664de711a77aeb8281cd9e2269f3f6a486f3c6 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 25 Aug 2026 19:37:00 +0700 Subject: [PATCH] feat: implement feedback management system with controller, service, and frontend components --- .../Controllers/{ => Admin}/FeedbackController.php | 13 +++++++------ app/Http/Requests/{ => Admin}/FeedbackRequest.php | 2 +- app/Services/{ => Admin}/FeedbackService.php | 2 +- resources/js/components/app-sidebar.tsx | 2 +- resources/js/pages/{ => admin}/feedback/columns.tsx | 0 resources/js/pages/{ => admin}/feedback/index.tsx | 2 +- routes/admin.php | 5 +++++ routes/web.php | 3 --- 8 files changed, 16 insertions(+), 13 deletions(-) rename app/Http/Controllers/{ => Admin}/FeedbackController.php (82%) rename app/Http/Requests/{ => Admin}/FeedbackRequest.php (93%) rename app/Services/{ => Admin}/FeedbackService.php (98%) rename resources/js/pages/{ => admin}/feedback/columns.tsx (100%) rename resources/js/pages/{ => admin}/feedback/index.tsx (99%) diff --git a/app/Http/Controllers/FeedbackController.php b/app/Http/Controllers/Admin/FeedbackController.php similarity index 82% rename from app/Http/Controllers/FeedbackController.php rename to app/Http/Controllers/Admin/FeedbackController.php index e8df599..a91fc42 100644 --- a/app/Http/Controllers/FeedbackController.php +++ b/app/Http/Controllers/Admin/FeedbackController.php @@ -1,12 +1,13 @@ $this->service->paginated($request->user(), ...$request->validatedWithDefaults()), 'types' => FeedbackType::options(), ]); @@ -30,7 +31,7 @@ public function store(FeedbackRequest $request): RedirectResponse Inertia::flash('toast', ['type' => 'success', 'message' => 'Masukan berhasil dikirim.']); - return to_route('feedback.index'); + return to_route('admin.feedback.index'); } public function update(FeedbackRequest $request, Feedback $feedback): RedirectResponse @@ -41,7 +42,7 @@ public function update(FeedbackRequest $request, Feedback $feedback): RedirectRe Inertia::flash('toast', ['type' => 'success', 'message' => 'Masukan berhasil diperbarui.']); - return to_route('feedback.index'); + return to_route('admin.feedback.index'); } public function destroy(Request $request, Feedback $feedback): RedirectResponse diff --git a/app/Http/Requests/FeedbackRequest.php b/app/Http/Requests/Admin/FeedbackRequest.php similarity index 93% rename from app/Http/Requests/FeedbackRequest.php rename to app/Http/Requests/Admin/FeedbackRequest.php index 487999f..31b04a0 100644 --- a/app/Http/Requests/FeedbackRequest.php +++ b/app/Http/Requests/Admin/FeedbackRequest.php @@ -1,6 +1,6 @@ name('appearance.edit'); }); + Route::resource('admin/feedback', FeedbackController::class) + ->except(['create', 'edit', 'show']) + ->names('admin.feedback'); + Route::prefix('admin/users')->name('admin.users.')->group(function () { Route::resource('lecturers', LecturerController::class)->except(['show'])->parameters(['lecturers' => 'user']); Route::patch('lecturers/{user}/reset-password', [LecturerController::class, 'resetPassword'])->name('lecturers.reset_password'); diff --git a/routes/web.php b/routes/web.php index 96f748b..66c7f97 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,5 @@ name('read'); Route::delete('{notification}', [NotificationController::class, 'destroy'])->name('destroy'); }); - - Route::resource('feedback', FeedbackController::class)->except(['create', 'edit', 'show']); }); Route::get('.well-known/passkey-endpoints', function () { -- 2.45.2