name('storefront.home'); Route::get('/plugins', [StorefrontController::class, 'packages'])->defaults('type', 'plugin')->name('storefront.plugins'); Route::get('/themes', [StorefrontController::class, 'packages'])->defaults('type', 'theme')->name('storefront.themes'); Route::get('/plugin/{slug}', [StorefrontController::class, 'showPlugin'])->name('storefront.plugin.show'); Route::get('/theme/{slug}', [StorefrontController::class, 'showTheme'])->name('storefront.theme.show'); Route::get('/packages/{type}/{slug}', function (string $type, string $slug) { abort_unless(in_array($type, ['plugin', 'theme'], true), 404); return redirect()->route( $type === 'plugin' ? 'storefront.plugin.show' : 'storefront.theme.show', ['slug' => $slug], 301 ); })->name('storefront.show.legacy'); Route::get('/admin/login', [AuthController::class, 'showLogin'])->name('webadmin.login'); Route::post('/admin/login', [AuthController::class, 'login'])->name('webadmin.login.submit'); Route::middleware('store.webadmin')->group(function () { Route::get('/admin', [DashboardController::class, 'home'])->name('webadmin.home'); Route::post('/admin/logout', [AuthController::class, 'logout'])->name('webadmin.logout'); Route::get('/admin/account', [AuthController::class, 'showAccount'])->name('webadmin.account'); Route::put('/admin/account/profile', [AuthController::class, 'updateProfile'])->name('webadmin.account.profile'); Route::put('/admin/account/password', [AuthController::class, 'updatePassword'])->name('webadmin.account.password'); Route::get('/admin/settings', [SettingsController::class, 'show'])->name('webadmin.settings'); Route::put('/admin/settings', [SettingsController::class, 'update'])->name('webadmin.settings.update'); Route::get('/admin/clients', [DashboardController::class, 'clients'])->name('webadmin.clients'); Route::get('/admin/packages', [DashboardController::class, 'packages'])->name('webadmin.packages'); Route::post('/admin/packages', [DashboardController::class, 'storePackage'])->name('webadmin.packages.store'); Route::put('/admin/packages/{type}/{slug}', [DashboardController::class, 'updatePackage'])->name('webadmin.packages.update'); Route::patch('/admin/packages/{type}/{slug}/status', [DashboardController::class, 'updatePackageStatus'])->name('webadmin.packages.status'); Route::delete('/admin/packages/{type}/{slug}', [DashboardController::class, 'destroyPackage'])->name('webadmin.packages.destroy'); Route::get('/admin/packages/{type}/{slug}', [DashboardController::class, 'showPackage'])->name('webadmin.packages.show'); Route::post('/admin/packages/{type}/{slug}/screenshots', [DashboardController::class, 'storeScreenshot'])->name('webadmin.packages.screenshots.store'); Route::delete('/admin/packages/{type}/{slug}/screenshots/{id}', [DashboardController::class, 'destroyScreenshot'])->name('webadmin.packages.screenshots.destroy'); Route::post('/admin/packages/{type}/{slug}/versions', [DashboardController::class, 'storeVersion'])->name('webadmin.packages.versions.store'); Route::post('/admin/packages/{type}/{slug}/publish', [DashboardController::class, 'publishVersion'])->name('webadmin.packages.publish'); Route::delete('/admin/packages/{type}/{slug}/versions/{id}', [DashboardController::class, 'destroyVersion'])->name('webadmin.packages.versions.destroy'); Route::get('/admin/categories', [DashboardController::class, 'categories'])->name('webadmin.categories'); Route::post('/admin/categories', [DashboardController::class, 'storeCategory'])->name('webadmin.categories.store'); Route::put('/admin/categories/{id}', [DashboardController::class, 'updateCategory'])->name('webadmin.categories.update'); Route::delete('/admin/categories/{id}', [DashboardController::class, 'destroyCategory'])->name('webadmin.categories.destroy'); });