route('admin.dashboard'); }); // ─── Public (no auth) ──────────────────────────────────── Route::middleware('throttle:10,1')->group(function () { Route::get('/r/{publicPage:slug}', [PublicPageController::class, 'show'])->name('public.page'); Route::post('/r/{publicPage:slug}/subscribe', [PublicPageController::class, 'subscribe'])->name('public.subscribe'); }); // ─── Backend (auth required) ───────────────────────────── Route::middleware(['auth', 'verified'])->prefix('admin')->name('admin.')->group(function () { Route::get('/dashboard', DashboardController::class)->name('dashboard'); // Pre-registration pages (CRUD) Route::resource('pages', PageController::class); // Subscribers (nested under pages) — export before index so the path is unambiguous Route::get('pages/{page}/subscribers/export', [SubscriberController::class, 'export'])->name('pages.subscribers.export'); Route::post('pages/{page}/subscribers/queue-mailwizz-sync', [SubscriberController::class, 'queueMailwizzSync'])->name('pages.subscribers.queue-mailwizz-sync'); Route::get('pages/{page}/subscribers', [SubscriberController::class, 'index'])->name('pages.subscribers.index'); // Mailwizz configuration (nested under pages) Route::get('pages/{page}/mailwizz', [MailwizzController::class, 'edit'])->name('pages.mailwizz.edit'); Route::put('pages/{page}/mailwizz', [MailwizzController::class, 'update'])->name('pages.mailwizz.update'); Route::delete('pages/{page}/mailwizz', [MailwizzController::class, 'destroy'])->name('pages.mailwizz.destroy'); // Mailwizz AJAX endpoints Route::post('mailwizz/lists', [MailwizzApiController::class, 'lists'])->name('mailwizz.lists'); Route::post('mailwizz/fields', [MailwizzApiController::class, 'fields'])->name('mailwizz.fields'); // User management (superadmin only) Route::middleware('role:superadmin')->group(function () { Route::resource('users', UserController::class)->except(['show']); }); // Profile (Breeze) Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); }); require __DIR__.'/auth.php';