2026-04-02 23:00:12 +03:00
|
|
|
<?php
|
|
|
|
|
|
2026-04-03 20:41:35 +03:00
|
|
|
use App\Http\Controllers\Admin\DashboardController;
|
2026-05-01 02:36:25 +03:00
|
|
|
use App\Http\Controllers\ProfileController;
|
2026-05-01 02:58:06 +03:00
|
|
|
use App\Http\Controllers\Web\BookmarkController;
|
2026-04-03 01:04:19 +03:00
|
|
|
use App\Http\Controllers\Web\HomeController;
|
|
|
|
|
use App\Http\Controllers\Web\JobController;
|
2026-04-04 18:19:34 +03:00
|
|
|
use App\Http\Controllers\Web\PageController;
|
2026-04-04 02:14:57 +03:00
|
|
|
use App\Http\Controllers\Web\SitemapController;
|
2026-04-02 23:00:12 +03:00
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
2026-04-03 01:04:19 +03:00
|
|
|
// Homepage
|
|
|
|
|
Route::get('/', [HomeController::class, 'index'])->name('home');
|
|
|
|
|
|
2026-04-04 18:19:34 +03:00
|
|
|
// Static pages
|
|
|
|
|
Route::get('/about', [PageController::class, 'about'])->name('about');
|
|
|
|
|
Route::get('/contact', [PageController::class, 'contact'])->name('contact');
|
|
|
|
|
Route::get('/privacy', [PageController::class, 'privacy'])->name('privacy');
|
|
|
|
|
Route::get('/terms', [PageController::class, 'terms'])->name('terms');
|
|
|
|
|
|
2026-04-03 01:04:19 +03:00
|
|
|
// Job routes
|
|
|
|
|
Route::prefix('jobs')->group(function () {
|
|
|
|
|
Route::get('/', [JobController::class, 'index'])->name('jobs.index');
|
|
|
|
|
Route::get('/remote', [JobController::class, 'remote'])->name('jobs.remote');
|
|
|
|
|
Route::get('/category/{slug}', [JobController::class, 'category'])->name('jobs.category');
|
2026-04-04 18:19:34 +03:00
|
|
|
Route::get('/{job:slug}', [JobController::class, 'show'])->name('jobs.show');
|
2026-04-02 23:00:12 +03:00
|
|
|
});
|
2026-04-03 20:41:35 +03:00
|
|
|
|
2026-04-04 02:14:57 +03:00
|
|
|
// Sitemap routes
|
|
|
|
|
Route::get('/sitemap.xml', [SitemapController::class, 'index'])->name('sitemap');
|
|
|
|
|
Route::get('/sitemap-index.xml', [SitemapController::class, 'sitemapIndex'])->name('sitemap.index');
|
|
|
|
|
Route::get('/sitemap-main.xml', [SitemapController::class, 'mainSitemap'])->name('sitemap.main');
|
|
|
|
|
Route::get('/sitemap-jobs.xml', [SitemapController::class, 'jobsSitemap'])->name('sitemap.jobs');
|
|
|
|
|
|
2026-05-01 02:58:06 +03:00
|
|
|
// Authenticated user routes
|
2026-05-01 02:36:25 +03:00
|
|
|
Route::middleware('auth')->group(function () {
|
|
|
|
|
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
|
|
|
|
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
|
|
|
|
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
2026-05-01 02:58:06 +03:00
|
|
|
|
|
|
|
|
Route::get('/bookmarks', [BookmarkController::class, 'index'])->name('bookmarks');
|
|
|
|
|
Route::post('/jobs/{job}/bookmark', [BookmarkController::class, 'toggle'])->name('jobs.bookmark');
|
2026-05-01 02:36:25 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Admin routes
|
|
|
|
|
Route::prefix('admin')->name('admin.')->middleware('auth')->group(function () {
|
2026-04-03 20:41:35 +03:00
|
|
|
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
|
|
|
|
|
Route::get('/logs/api', [DashboardController::class, 'apiLogs'])->name('logs.api');
|
|
|
|
|
Route::get('/logs/fetch', [DashboardController::class, 'fetchLogs'])->name('logs.fetch');
|
|
|
|
|
});
|
2026-05-01 02:36:25 +03:00
|
|
|
|
|
|
|
|
require __DIR__.'/auth.php';
|