messages implemented
This commit is contained in:
@@ -32,8 +32,40 @@ use App\Http\Controllers\User\ReceivedCommentsController;
|
||||
use App\Http\Controllers\Web\BrowseCategoriesController;
|
||||
use App\Http\Controllers\Web\GalleryController;
|
||||
use App\Http\Controllers\Web\BrowseGalleryController;
|
||||
use App\Http\Controllers\Web\DiscoverController;
|
||||
use Inertia\Inertia;
|
||||
|
||||
// ── DISCOVER routes (/discover/*) ─────────────────────────────────────────────
|
||||
Route::prefix('discover')->name('discover.')->group(function () {
|
||||
Route::get('/trending', [DiscoverController::class, 'trending'])->name('trending');
|
||||
Route::get('/fresh', [DiscoverController::class, 'fresh'])->name('fresh');
|
||||
Route::get('/top-rated', [DiscoverController::class, 'topRated'])->name('top-rated');
|
||||
Route::get('/most-downloaded', [DiscoverController::class, 'mostDownloaded'])->name('most-downloaded');
|
||||
Route::get('/on-this-day', [DiscoverController::class, 'onThisDay'])->name('on-this-day');
|
||||
|
||||
// Artworks from people you follow (auth required)
|
||||
Route::middleware('auth')->get('/following', [DiscoverController::class, 'following'])->name('following');
|
||||
});
|
||||
|
||||
// ── CREATORS routes (/creators/*) ─────────────────────────────────────────────
|
||||
Route::prefix('creators')->name('creators.')->group(function () {
|
||||
// Top Creators → reuse existing top-authors controller
|
||||
Route::get('/top', [\App\Http\Controllers\User\TopAuthorsController::class, 'index'])->name('top');
|
||||
// Rising Creators → newest creators with recent uploads
|
||||
Route::get('/rising', [\App\Http\Controllers\Web\DiscoverController::class, 'risingCreators'])->name('rising');
|
||||
});
|
||||
|
||||
// Creator Stories → canonical rename of /interviews
|
||||
Route::get('/stories', [\App\Http\Controllers\Community\InterviewController::class, 'index'])->name('stories');
|
||||
|
||||
// Tags listing page
|
||||
Route::get('/tags', [\App\Http\Controllers\Web\TagController::class, 'index'])->name('tags.index');
|
||||
|
||||
// Following redirect (convenience shortcut for authenticated users)
|
||||
Route::middleware('auth')->get('/following', function () {
|
||||
return redirect()->route('dashboard.following');
|
||||
})->name('following.redirect');
|
||||
|
||||
// Legacy route set migrated from routes/legacy.php into this file.
|
||||
Route::get('/', [HomeController::class, 'index'])->name('legacy.home');
|
||||
Route::get('/home', [HomeController::class, 'index']);
|
||||
@@ -77,6 +109,11 @@ Route::middleware('ensure.onboarding.complete')->get('/forum.php', function (\Il
|
||||
return redirect()->route('forum.thread.show', ['thread' => $threadId, 'slug' => $slug], 301);
|
||||
})->name('forum.legacy.redirect');
|
||||
|
||||
// News/Announcements listing — redirect to forum index until a dedicated page exists
|
||||
Route::get('/news', function () {
|
||||
return redirect()->route('forum.index', [], 301);
|
||||
})->name('news.index');
|
||||
|
||||
Route::get('/news/{id}/{slug?}', [NewsController::class, 'show'])->where('id', '\\d+')->name('legacy.news.show');
|
||||
|
||||
Route::get('/categories', [CategoryController::class, 'index'])->name('legacy.categories');
|
||||
@@ -127,7 +164,10 @@ Route::get('/profile/{username}', [ProfileController::class, 'legacyByUsername']
|
||||
->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');
|
||||
// /top-authors → 301 redirect to canonical /creators/top
|
||||
Route::get('/top-authors', function () {
|
||||
return redirect('/creators/top', 301);
|
||||
})->name('legacy.top_authors');
|
||||
|
||||
Route::middleware('auth')->get('/mybuddies.php', [\App\Http\Controllers\User\MyBuddiesController::class, 'index'])->name('legacy.mybuddies.php');
|
||||
Route::middleware('auth')->get('/mybuddies', [\App\Http\Controllers\User\MyBuddiesController::class, 'index'])->name('legacy.mybuddies');
|
||||
@@ -160,7 +200,12 @@ Route::get('/monthly-commentators', [MonthlyCommentatorsController::class, 'inde
|
||||
Route::get('/members', [MembersController::class, 'index'])->name('legacy.members');
|
||||
Route::get('/latest', [LatestController::class, 'index'])->name('legacy.latest');
|
||||
Route::get('/latest-comments', [LatestCommentsController::class, 'index'])->name('legacy.latest_comments');
|
||||
Route::get('/interviews', [InterviewController::class, 'index'])->name('legacy.interviews');
|
||||
// /interviews → 301 redirect to canonical /stories
|
||||
Route::get('/interviews', function () {
|
||||
return redirect('/stories', 301);
|
||||
})->name('legacy.interviews');
|
||||
|
||||
Route::get('/authors/top', [\App\Http\Controllers\User\TopAuthorsController::class, 'index'])->name('authors.top');
|
||||
|
||||
Route::middleware(['auth'])->group(function () {
|
||||
Route::get('/statistics', [StatisticsController::class, 'index'])->name('legacy.statistics');
|
||||
@@ -184,6 +229,8 @@ Route::middleware(['auth', \App\Http\Middleware\NoIndexDashboard::class])->prefi
|
||||
Route::get('/comments', [\App\Http\Controllers\Dashboard\CommentController::class, 'index'])->name('comments');
|
||||
// Gallery (user uploads)
|
||||
Route::get('/gallery', [\App\Http\Controllers\Dashboard\DashboardGalleryController::class, 'index'])->name('gallery');
|
||||
// Awards received on the user's own artworks
|
||||
Route::get('/awards', [\App\Http\Controllers\Dashboard\DashboardAwardsController::class, 'index'])->name('awards');
|
||||
});
|
||||
|
||||
Route::middleware(['auth', 'normalize.username', 'ensure.onboarding.complete'])->group(function () {
|
||||
@@ -316,4 +363,18 @@ Route::middleware(['auth'])->prefix('admin')->name('admin.')->group(function ()
|
||||
})->middleware('admin.moderation')->name('usernames.moderation');
|
||||
|
||||
Route::resource('artworks', \App\Http\Controllers\Admin\ArtworkController::class)->except(['show']);
|
||||
Route::get('reports', function () {
|
||||
return view('admin.reports.queue');
|
||||
})->middleware('admin.moderation')->name('reports.queue');
|
||||
});
|
||||
|
||||
Route::middleware(['auth', 'ensure.onboarding.complete'])
|
||||
->get('/messages/attachments/{id}', [\App\Http\Controllers\Api\Messaging\AttachmentController::class, 'show'])
|
||||
->whereNumber('id')
|
||||
->name('messages.attachments.show');
|
||||
|
||||
// ── Messages ──────────────────────────────────────────────────────────────────
|
||||
Route::middleware(['auth', 'ensure.onboarding.complete'])->prefix('messages')->name('messages.')->group(function () {
|
||||
Route::get('/', [\App\Http\Controllers\Messaging\MessagesPageController::class, 'index'])->name('index');
|
||||
Route::get('/{id}', [\App\Http\Controllers\Messaging\MessagesPageController::class, 'show'])->whereNumber('id')->name('show');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user