File: /var/www/hobbyistgarage/routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Middleware\AccessAuth;
use App\Http\Controllers\BlogController;
use App\Http\Controllers\ContactController;
use App\Http\Controllers\ShopController;
use App\Http\Controllers\Tag;
use App\Http\Controllers\VideoController;
use App\Http\Controllers\Search;
use App\Http\Controllers\Category;
use App\Http\Controllers\Admin\CategoryController;
use App\Http\Controllers\Admin\ArticleController;
use App\Http\Controllers\Admin\MediaController;
use App\Models\Article;
use App\Http\Controllers\ShowAuthor;
use App\Http\Controllers\SubscribeNewsletter;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
$articles = Article::where('published',true)->where('published', true)->paginate(10);
return view('index')->with(array("articles" => $articles));
});
Route::get('/privacy', function () {
return view('privacy');
});
Route::prefix('newsletter')->group(function () {
Route::post('/subscribe', SubscribeNewsletter::class)->name('subscribe');
});
Route::get('/term{contact?}', function () {
return view('terms');
})->where('contact', '(s|ofuse|sofuse)')->name('contact');
Route::get('/demo', function () {
$articles = Article::where('published', true)->withCount('comments')->paginate(20);
return view('index')->with(array("articles" => $articles));
});
Route::middleware(['auth:sanctum', 'verified'])->prefix('admin')->group(function () {
Route::group(['prefix' => 'category', 'as' => 'category.'], function () {
Route::get('/', [CategoryController::class, 'index'])->name('index');
Route::get('/create', [CategoryController::class, 'create'])->name('create');
Route::post('/store', [CategoryController::class, 'store'])->name('store');
Route::get('/{id}/edit', [CategoryController::class, 'edit'])->name('edit');
Route::post('{id}/delete', [CategoryController::class, 'delete'])->name('delete');
Route::post('/{id}/update', [CategoryController::class, 'update'])->name('update');
Route::get('/{id}/show',[CategoryController::class, 'show'])->name('categories');
});
Route::group(['prefix' => 'article', 'as' => 'article.'], function () {
Route::get('/', [ArticleController::class, 'index'])->name('index');
Route::get('/create', [ArticleController::class, 'create'])->name('create');
Route::post('/store', [ArticleController::class, 'store'])->name('store');
Route::get('/{id}/edit', [ArticleController::class, 'edit'])->name('edit');
Route::post('{id}/delete', [ArticleController::class, 'delete'])->name('delete');
Route::post('/{id}/update', [ArticleController::class, 'update'])->name('update');
Route::get('/{id}/show',[ArticleController::class, 'show'])->name('articles');
});
Route::group(['prefix' => 'media', 'as' => 'media.'], function () {
Route::get('/', [MediaController::class, 'index'])->name('index');
Route::get('/create', [MediaController::class, 'create'])->name('index');
Route::post('/store', [MediaController::class, 'store'])->name('store');
Route::post('{id}/delete', [MediaController::class, 'delete'])->name('delete');
Route::get('/{id}/show',[MediaController::class, 'show'])->name('articles');
});
});
Route::prefix('tag')->group(function () {
Route::get('/', [ArticleController::class, 'index']);
Route::get('/{tag}', Tag::class);
});
Route::prefix('author')->group(function () {
Route::get('/', [ArticleController::class, 'index']);
Route::get('/{author}', ShowAuthor::class);
});
Route::get('/newsandreviews', [BlogController::class, 'index']);
Route::get('/article/{id}', [BlogController::class, 'show']);
Route::get('/videos', [VideoController::class, 'index']);
Route::get('search', Search::class);
Route::prefix('category')->group(function () {
Route::get('/', Category::class);
Route::get('/{category}', Category::class);
});
Route::prefix('shop')->group(function () {
Route::get('/', [ShopController::class, 'index']);
});
Route::post('/contact/submit', [ContactController::class, 'store'])->where('contact', '(s|_us|us)')->name('contact.store');
Route::get('/contact{contact?}', [ContactController::class, 'index'])->where('contact', '(s|_us|us)')->name('contact');
Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
return view('admin.dashboard');
})->name('dashboard');