redirect()->route('dashboard')); // Role-aware dashboard redirect Route::middleware(['auth','verified'])->get('/dashboard', function () { return auth()->user()->isAdmin() ? redirect()->route('admin.dashboard') : app(\App\Http\Controllers\Child\DashboardController::class)->index(); })->name('dashboard'); // ── ADMIN ────────────────────────────────────────────────── Route::middleware(['auth','admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/', [Admin\DashboardController::class, 'index'])->name('dashboard'); Route::resource('users', Admin\UserController::class); Route::post('users/{user}/reset', [Admin\UserController::class, 'reset'])->name('users.reset'); Route::get ('questions/export', [Admin\QuestionController::class,'export'])->name('questions.export'); Route::post('questions/import', [Admin\QuestionController::class,'import'])->name('questions.import'); Route::resource('questions',Admin\QuestionController::class); Route::resource('rewards', Admin\RewardController::class)->except('show'); Route::resource('reference', Admin\ReferenceController::class)->except('show'); Route::get ('quizzes/{quiz}/export', [Admin\QuizController::class,'export'])->name('quizzes.export'); Route::post('quizzes/import', [Admin\QuizController::class,'import'])->name('quizzes.import'); Route::resource('quizzes', Admin\QuizController::class); Route::get ('quizzes/{quiz}/questions/create',[Admin\QuizQuestionController::class,'create'])->name('quizzes.questions.create'); Route::post('quizzes/{quiz}/questions', [Admin\QuizQuestionController::class,'store']) ->name('quizzes.questions.store'); Route::get ('quiz-questions/{question}/edit', [Admin\QuizQuestionController::class,'edit']) ->name('quiz-questions.edit'); Route::put ('quiz-questions/{question}', [Admin\QuizQuestionController::class,'update']) ->name('quiz-questions.update'); Route::delete('quiz-questions/{question}', [Admin\QuizQuestionController::class,'destroy'])->name('quiz-questions.destroy'); Route::get ('redemptions', [Admin\RedemptionController::class,'index']) ->name('redemptions.index'); Route::patch ('redemptions/{redemption}/approve', [Admin\RedemptionController::class,'approve'])->name('redemptions.approve'); Route::patch ('redemptions/{redemption}/reject', [Admin\RedemptionController::class,'reject']) ->name('redemptions.reject'); }); // ── CHILD ────────────────────────────────────────────────── Route::middleware(['auth','child'])->group(function () { Route::get ('lernen', [\App\Http\Controllers\Child\LearnController::class,'subjects'])->name('learn.subjects'); Route::get ('lernen/{subject:slug}', [\App\Http\Controllers\Child\LearnController::class,'quiz']) ->name('learn.quiz'); Route::post('lernen/{subject:slug}/antwort', [\App\Http\Controllers\Child\LearnController::class,'answer']) ->name('learn.answer'); Route::get ('belohnungen', [\App\Http\Controllers\Child\RewardController::class,'index']) ->name('rewards.index'); Route::post('belohnungen/{reward}/einloesen', [\App\Http\Controllers\Child\RewardController::class,'redeem']) ->name('rewards.redeem'); Route::get ('quiz', [\App\Http\Controllers\Child\QuizController::class,'index']) ->name('quiz.index'); Route::get ('quiz/versuch/{attempt}', [\App\Http\Controllers\Child\QuizController::class,'question'])->name('quiz.question'); Route::post('quiz/versuch/{attempt}/antwort', [\App\Http\Controllers\Child\QuizController::class,'answer']) ->name('quiz.answer'); Route::get ('quiz/ergebnis/{attempt}', [\App\Http\Controllers\Child\QuizController::class,'result']) ->name('quiz.result'); Route::post('quiz/{quiz}/start', [\App\Http\Controllers\Child\QuizController::class,'start']) ->name('quiz.start'); Route::get ('erinnerung', [\App\Http\Controllers\Child\ReferenceController::class,'index'])->name('reference.index'); Route::get ('erinnerung/{reference:slug}', [\App\Http\Controllers\Child\ReferenceController::class,'show']) ->name('reference.show'); }); require __DIR__.'/auth.php';