Add admin user management and improve UX

Features:
- Add user management for admins (CRUD operations)
- Add is_admin column to users table
- Add AdminMiddleware for authorization
- Add admin routes and views
- Add artisan command: user:set-admin

Improvements:
- Fix Quick Switcher: add x-data for Alpine.js dispatch
- Fix Quick Switcher: close on outside click
- Redirect non-admin users to front page after login
- Add Knowledge Base link in dashboard navigation
- Change app logo from Laravel to book icon
This commit is contained in:
2025-11-29 11:08:17 +09:00
parent 6e7f8566ef
commit c11c05b3ea
15 changed files with 543 additions and 12 deletions

View File

@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\Admin\UserController as AdminUserController;
use App\Livewire\DocumentViewer;
use App\Livewire\DocumentEditor;
use App\Models\Document;
@@ -26,6 +27,11 @@
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});
// Admin routes
Route::middleware(['auth', 'admin'])->prefix('admin')->name('admin.')->group(function () {
Route::resource('users', AdminUserController::class)->except(['show']);
});
Route::prefix('documents')->name('documents.')->group(function () {
// 認証が必要なルート(より具体的なルートを先に定義)
Route::middleware('auth')->group(function () {