Files
zemailnator/routes/web.php
2025-05-02 17:20:55 +05:30

63 lines
2.2 KiB
PHP

<?php
use App\Http\Controllers\AppController;
use App\Http\Middleware\CheckPageSlug;
use App\Livewire\Blog;
use App\Livewire\Dashboard\Dashboard;
use App\Livewire\Frontend\Mailbox;
use App\Livewire\Home;
use App\Livewire\ListBlog;
use App\Livewire\Page;
use App\Livewire\Settings\Appearance;
use App\Livewire\Settings\Password;
use App\Livewire\Settings\Profile;
use App\Models\Email;
use Illuminate\Support\Facades\Route;
Route::get('/', Home::class)->name('home');
Route::get('/mailbox', Mailbox::class)->name('mailbox');
Route::get('/mailbox/{email?}', [AppController::class, 'mailbox'])->name('mailboxFromURL');
Route::get('/switch/{email}', [AppController::class, 'switch'])->name('switch');
Route::get('/delete/{email?}', [AppController::class, 'delete'])->name('delete');
Route::get('locale/{locale}', [AppController::class, 'locale'])->name('locale');
Route::get('/blog', ListBlog::class)->name('list-blog');
Route::get('/blog/{slug}', Blog::class)->name('blog');
Route::post('/sync', function (Request $request) {
try {
if (config('app.auto_fetch_mail')) {
Email::fetchProcessStoreEmail();
}
} catch (\Exception $e) {
\Log::error($e->getMessage());
}
return response()->noContent();
});
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('dashboard', Dashboard::class)->name('dashboard');
Route::get('dashboard/generate-premium-email', Dashboard::class)->name('dashboard.premium');
Route::get('dashboard/generate-10minute-email', Dashboard::class)->name('dashboard.10minute');
Route::get('dashboard/bulk-email-generator', Dashboard::class)->name('dashboard.bulk');
Route::get('dashboard/compose-email', Dashboard::class)->name('dashboard.compose');
});
Route::middleware(['auth'])->group(function () {
Route::redirect('settings', 'settings/profile');
Route::get('settings/profile', Profile::class)->name('settings.profile');
Route::get('settings/password', Password::class)->name('settings.password');
Route::get('settings/appearance', Appearance::class)->name('settings.appearance');
});
require __DIR__.'/auth.php';
Route::get('{slug}', Page::class)->where('slug', '.*')->name('page')->middleware(CheckPageSlug::class);