Auth: convert auth views and verification email to Nova layout

This commit is contained in:
2026-02-21 07:37:08 +01:00
parent 93b009d42a
commit 795c7a835f
117 changed files with 5385 additions and 1291 deletions

View File

@@ -9,7 +9,7 @@ use App\Http\Controllers\Dashboard\ArtworkController as DashboardArtworkControll
use App\Http\Controllers\Web\HomeController;
use App\Http\Controllers\Web\ArtController;
use App\Http\Controllers\Misc\AvatarController as LegacyAvatarController;
use App\Http\Controllers\Community\ForumController;
use App\Http\Controllers\Forum\ForumController;
use App\Http\Controllers\Community\NewsController;
use App\Http\Controllers\Web\CategoryController;
use App\Http\Controllers\Web\FeaturedArtworksController;
@@ -42,8 +42,39 @@ Route::match(['get','post'], '/art/{id}/comment', [ArtController::class, 'show']
Route::get('/avatar/{id}/{name?}', [LegacyAvatarController::class, 'show'])->where('id', '\\d+')->name('legacy.avatar');
Route::get('/forum', [ForumController::class, 'index'])->name('legacy.forum.index');
Route::get('/forum/{topic_id}/{slug?}', [ForumController::class, 'topic'])->where('topic_id', '\\d+')->name('legacy.forum.topic');
Route::middleware('ensure.onboarding.complete')->prefix('forum')->name('forum.')->group(function () {
Route::get('/', [ForumController::class, 'index'])->name('index');
Route::get('/thread/{thread}-{slug?}', [ForumController::class, 'showThread'])->name('thread.show');
Route::get('/{category:slug}', [ForumController::class, 'showCategory'])->name('category.show');
Route::middleware('auth')->group(function () {
Route::get('/{category:slug}/new', [ForumController::class, 'createThreadForm'])->name('thread.create');
Route::post('/{category:slug}/new', [ForumController::class, 'storeThread'])->name('thread.store');
Route::post('/thread/{thread}/reply', [ForumController::class, 'reply'])->name('thread.reply');
Route::post('/post/{post}/report', [ForumController::class, 'reportPost'])->name('post.report');
Route::get('/post/{post}/edit', [ForumController::class, 'editPostForm'])->name('post.edit');
Route::put('/post/{post}', [ForumController::class, 'updatePost'])->name('post.update');
});
Route::middleware(['auth', 'can:moderate-forum'])->group(function () {
Route::post('/thread/{thread}/lock', [ForumController::class, 'lockThread'])->name('thread.lock');
Route::post('/thread/{thread}/unlock', [ForumController::class, 'unlockThread'])->name('thread.unlock');
Route::post('/thread/{thread}/pin', [ForumController::class, 'pinThread'])->name('thread.pin');
Route::post('/thread/{thread}/unpin', [ForumController::class, 'unpinThread'])->name('thread.unpin');
});
});
Route::middleware('ensure.onboarding.complete')->get('/forum.php', function (\Illuminate\Http\Request $request) {
$threadId = (int) ($request->query('topic') ?? $request->query('tid') ?? 0);
if ($threadId < 1) {
return redirect()->route('forum.index', [], 301);
}
$thread = \App\Models\ForumThread::query()->find($threadId);
$slug = $thread?->slug ?: ('thread-' . $threadId);
return redirect()->route('forum.thread.show', ['thread' => $threadId, 'slug' => $slug], 301);
})->name('forum.legacy.redirect');
Route::get('/news/{id}/{slug?}', [NewsController::class, 'show'])->where('id', '\\d+')->name('legacy.news.show');
@@ -59,11 +90,21 @@ Route::post('/chat_post', [ChatController::class, 'post'])->name('legacy.chat.po
Route::get('/browse-categories', [BrowseCategoriesController::class, 'index'])->name('browse.categories');
Route::get('/profile/{id}/{username?}', [ProfileController::class, 'show'])
Route::get('/@{username}', [ProfileController::class, 'showByUsername'])
->where('username', '[A-Za-z0-9_-]{3,20}')
->name('profile.show');
Route::get('/user/{username}', [ProfileController::class, 'legacyByUsername'])
->where('username', '[A-Za-z0-9_-]{3,20}')
->name('legacy.user.profile');
Route::get('/profile/{id}/{username?}', [ProfileController::class, 'legacyById'])
->where('id', '\\d+')
->name('legacy.profile.id');
Route::get('/profile/{username?}', [ProfileController::class, 'show'])->name('legacy.profile');
Route::get('/profile/{username}', [ProfileController::class, 'legacyByUsername'])
->where('username', '[A-Za-z0-9_-]{3,20}')
->name('legacy.profile');
Route::get('/top-favourites', [TopFavouritesController::class, 'index'])->name('legacy.top_favourites');
Route::get('/top-authors', [TopAuthorsController::class, 'index'])->name('legacy.top_authors');
@@ -78,7 +119,7 @@ Route::middleware('auth')->get('/buddies', [\App\Http\Controllers\User\BuddiesCo
Route::get('/favourites/{id?}/{username?}', [FavouritesController::class, 'index'])->name('legacy.favourites');
Route::post('/favourites/{userId}/delete/{artworkId}', [FavouritesController::class, 'destroy'])->name('legacy.favourites.delete');
Route::get('/gallery/{id}/{username?}', [GalleryController::class, 'show'])->name('legacy.gallery');
Route::middleware('ensure.onboarding.complete')->get('/gallery/{id}/{username?}', [GalleryController::class, 'show'])->name('legacy.gallery');
Route::middleware('auth')->get('/recieved-comments', [ReceivedCommentsController::class, 'index'])->name('legacy.received_comments');
@@ -108,7 +149,7 @@ Route::middleware(['auth'])->prefix('dashboard')->name('dashboard.')->group(func
Route::delete('/artworks/{id}', [DashboardArtworkController::class, 'destroy'])->whereNumber('id')->name('artworks.destroy');
});
Route::middleware('auth')->group(function () {
Route::middleware(['auth', 'normalize.username', 'ensure.onboarding.complete'])->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
// Backwards-compatible settings path used by some layouts/links
Route::get('/settings', [ProfileController::class, 'edit'])->name('settings');
@@ -120,7 +161,7 @@ Route::middleware('auth')->group(function () {
Route::post('/avatar/upload', [AvatarController::class, 'upload'])->middleware('throttle:20,1')->name('avatar.upload');
});
Route::middleware(['auth'])->group(function () {
Route::middleware(['auth', 'ensure.onboarding.complete'])->group(function () {
Route::get('/upload', function () {
$contentTypes = ContentType::with(['rootCategories.children'])->get()->map(function ($ct) {
return [
@@ -227,5 +268,9 @@ Route::middleware(['auth'])->prefix('admin')->name('admin.')->group(function ()
return Inertia::render('Admin/UploadQueue');
})->middleware('admin.moderation')->name('uploads.moderation');
Route::get('usernames/moderation', function () {
return Inertia::render('Admin/UsernameQueue');
})->middleware('admin.moderation')->name('usernames.moderation');
Route::resource('artworks', \App\Http\Controllers\Admin\ArtworkController::class)->except(['show']);
});