group(function () { // Route::redirect('settings', '/settings/profile'); // Removed to allow /settings for public profile config Route::get('settings/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('settings/profile', [ProfileController::class, 'update'])->middleware('throttle:20,1')->name('profile.update'); // KYC pages & APIs Route::get('settings/kyc', [\App\Http\Controllers\Settings\KycController::class, 'index'])->name('settings.kyc'); Route::post('settings/kyc', [\App\Http\Controllers\Settings\KycController::class, 'store'])->middleware('throttle:10,1')->name('settings.kyc.store'); Route::delete('settings/kyc/{doc}', [\App\Http\Controllers\Settings\KycController::class, 'destroy'])->middleware('throttle:20,1')->name('settings.kyc.destroy'); Route::get('settings/kyc/{doc}/download', [\App\Http\Controllers\Settings\KycController::class, 'download'])->name('settings.kyc.download'); // Security pages & APIs Route::get('settings/security', [\App\Http\Controllers\Settings\SecurityController::class, 'index'])->name('settings.security'); Route::get('settings/security/sessions', [\App\Http\Controllers\Settings\SecurityController::class, 'sessions'])->name('settings.security.sessions'); Route::delete('settings/security/sessions/{id}', [\App\Http\Controllers\Settings\SecurityController::class, 'revoke'])->middleware('throttle:20,1')->name('settings.security.sessions.revoke'); }); Route::middleware(['auth', 'verified'])->group(function () { Route::delete('settings/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); Route::get('settings/password', [PasswordController::class, 'edit'])->name('user-password.edit'); Route::put('settings/password', [PasswordController::class, 'update']) ->middleware('throttle:6,1') ->name('user-password.update'); Route::get('settings/appearance', function () { return Inertia::render('settings/Appearance'); })->name('appearance.edit'); Route::get('settings/two-factor', [TwoFactorAuthenticationController::class, 'show']) ->name('two-factor.show'); });