latest()->limit(10)->get(); return view('guest.home', ['articles' => $articles]); }); Route::get('/test-insert', function () { return view('test-insert'); })->name('test-insert'); Route::get('/recent-articles', function () { $all_articles = Article::where('published_at', '<', now())->limit(10)->get(); return view('guest.all-articles', ['all_articles' => $all_articles]); })->name('recent-articles'); Route::get('/post/{article_slug}', function ($article_slug) { $active_article = Article::with('author') ->where('published_at', '<', now()) ->where('slug', $article_slug) ->first(); if(empty($active_article)) { return abort(404); } return view('guest.article', ['article' => $active_article]); })->name('article'); Route::get('/writer/login', function () { return view('writer.login'); })->name('login'); Route::post('/writer/authenticate', [WriterController::class, 'authenticate'])->name('authenticate'); Route::middleware('auth')->group(function () { Route::get('/writer', [WriterController::class, 'dashboard'])->name('dashboard'); Route::post('/logout', [WriterController::class, 'logout'])->name('logout'); Route::get('writer/new-article', [WriterController::class, 'newArticle'])->name('new_article'); Route::post('writer/live-preview', [WriterController::class, 'livePreview'])->name('live_preview'); });