- Created a dedicated UserDashboardController to handle user-related logic. - Added deal listing views and components for users, including action toolbars, broker contact, and stat badges. - Refactored UI components to support new features like toggle buttons and improved input handling. - Updated routes with a new prefix for user-related pathways, ensuring a better structure across dashboards.
46 lines
1.7 KiB
PHP
46 lines
1.7 KiB
PHP
<?php
|
|
|
|
use App\Enums\UserTypes;
|
|
use App\Http\Controllers\AuthenticatedUserController;
|
|
use App\Http\Controllers\Broker\BrokerDashboardController;
|
|
use App\Http\Controllers\Broker\BrokerProfileController;
|
|
use App\Http\Controllers\BrokerDealController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\RegisteredUserController;
|
|
use App\Http\Controllers\User\UserDashboardController;
|
|
use App\Http\Middleware\HasRole;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', HomeController::class)->name('home');
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
Route::resource('/login', AuthenticatedUserController::class)->only(['create', 'store']);
|
|
Route::resource('/register', RegisteredUserController::class)->only(['create', 'store']);
|
|
});
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
Route::delete('/logout', [AuthenticatedUserController::class, 'destroy'])->name('logout');
|
|
|
|
Route::view('/admin/dashboard', 'dashboards.admin.index')
|
|
->middleware(HasRole::class.':'.UserTypes::Admin->value)
|
|
->name('admin.dashboard');
|
|
|
|
Route::prefix('/user')
|
|
->name('user.')
|
|
->middleware(HasRole::class.':'.UserTypes::User->value)
|
|
->group(function () {
|
|
Route::get('dashboard', [UserDashboardController::class, 'index'])->name('dashboard');
|
|
});
|
|
|
|
Route::prefix('/broker')
|
|
->name('broker.')
|
|
->middleware(HasRole::class.':'.UserTypes::Broker->value)
|
|
->group(function () {
|
|
Route::get('dashboard', [BrokerDashboardController::class, 'index'])->name('dashboard');
|
|
|
|
Route::resource('deals', BrokerDealController::class)->except('show');
|
|
|
|
Route::resource('profile', BrokerProfileController::class)->except('index', 'store', 'create');
|
|
});
|
|
});
|