99 lines
2.5 KiB
PHP
99 lines
2.5 KiB
PHP
<?php
|
|
|
|
use App\Models\Article;
|
|
use App\Http\Controllers\RegisteredUserController;
|
|
use App\Http\Controllers\SessionController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', function() {
|
|
return view('index', [
|
|
'greeting' => 'Hello',
|
|
'self' => 'My name is Dym Sohin, im a web-developer',
|
|
'articles' => Article::all(),
|
|
]);
|
|
});
|
|
Route::view('/about', 'about');
|
|
|
|
Route::view('/graphics', 'graphics');
|
|
Route::view('/photos', 'photos');
|
|
Route::view('/comics', 'comics');
|
|
Route::view('/code', 'code');
|
|
Route::view('/notes', 'notes');
|
|
|
|
|
|
Route::get('/new', function () {
|
|
return view('new');
|
|
});
|
|
Route::post('/new', function (string $title = '', string $slug = '', string $body = '') {
|
|
$article = Article::create(
|
|
[ 'title' => $title
|
|
, 'slug' => $slug
|
|
, 'body' => $body
|
|
]);
|
|
|
|
return view('edit',
|
|
[ 'article' => $article
|
|
, 'title' => $article['title']
|
|
, 'slug' => $article['slug']
|
|
, 'body' => $article['body']
|
|
]);
|
|
|
|
});
|
|
|
|
Route::get('/edit/{slug}', function (string $slug) {
|
|
$article = Article::find($slug);
|
|
|
|
return view('edit',
|
|
[ 'article' => $article
|
|
, 'title' => $article['title']
|
|
, 'slug' => $article['slug']
|
|
, 'body' => $article['body']
|
|
]);
|
|
})->where('slug', '[A-Za-z0-9-]+');
|
|
|
|
Route::post('/edit/{id}', function (string $id) {
|
|
$article = Article::findById($id);
|
|
|
|
return view('edit',
|
|
[ 'article' => $article
|
|
, 'title' => $article['title']
|
|
, 'slug' => $article['slug']
|
|
, 'body' => $article['body']
|
|
]);
|
|
})->where('id', '[0-9-]+');
|
|
|
|
|
|
|
|
Route::get('/articles', function () {
|
|
return view('articles', [
|
|
'articles' => Article::all(),
|
|
]);
|
|
});
|
|
|
|
|
|
Route::get('/register', [RegisteredUserController::class, 'create']);
|
|
Route::post('/register', [RegisteredUserController::class, 'store']);
|
|
|
|
Route::get('/login', [SessionController::class, 'create']);
|
|
Route::post('/login', [SessionController::class, 'store']);
|
|
Route::post('/logout', [SessionController::class, 'destroy']);
|
|
|
|
Route::get('/search/{search}', function (string $search) {
|
|
return view('list',
|
|
[ 'search' => $search ]
|
|
);
|
|
})->where('search', '.*');
|
|
|
|
|
|
Route::get('/{slug}', function (string $slug) {
|
|
$article = Article::find($slug);
|
|
|
|
return view('article',
|
|
[ 'article' => $article
|
|
, 'title' => $article['title']
|
|
, 'slug' => $article['slug']
|
|
, 'body' => $article['body']
|
|
]);
|
|
})->where('slug', '[A-Za-z0-9-]+');
|
|
|