chore: finalize project updates

This commit is contained in:
2026-08-22 11:42:16 +03:30
parent 7719d750e9
commit 691290c340
55 changed files with 1923 additions and 6498 deletions
+193 -99
View File
@@ -4,13 +4,13 @@
use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\Admin\AirportController;
use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\CityController;
use App\Http\Controllers\Admin\CommentController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\FavoriteController;
use App\Http\Controllers\Admin\FlightController;
use App\Http\Controllers\Admin\PaymentController;
use App\Http\Controllers\Admin\ProvinceController;
use App\Http\Controllers\Admin\SettingController;
use App\Http\Controllers\Admin\SliderController;
use App\Http\Controllers\Admin\TourController;
use App\Http\Controllers\Admin\TravelTypeController;
use App\Http\Controllers\Admin\UserController;
@@ -18,11 +18,13 @@ use Illuminate\Support\Facades\Route;
Route::prefix('admin')->name('admin.')->group(function () {
// صفحه اصلی پنل ادمین
Route::get('/', function () {
return redirect()->route('admin.dashboard.index');
})->name('index');
// ------------------------------ احراز هویت ادمین ------------------------------
Route::prefix('auth')->name('auth.')->controller(AuthController::class)->group(function () {
Route::prefix('login')->name('login.')->middleware('guest:admin')->group(function () {
@@ -30,137 +32,229 @@ Route::prefix('admin')->name('admin.')->group(function () {
Route::post('/', 'loginPost')->name('post');
});
Route::get('logout', 'logout')->middleware('auth:admin')->name('logout');
Route::get('logout', 'logout')
->middleware('auth:admin')
->name('logout');
});
// ------------------------------ بخش‌های محافظت‌شده ------------------------------
Route::middleware('auth:admin')->group(function () {
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index');
// ---------- dashboard ----------
Route::get('dashboard', [DashboardController::class, 'index'])
->name('dashboard.index');
Route::get('dashboard/export', [DashboardController::class, 'exportExcel'])
->name('dashboard.export');
// گزارش خروجی اکسل
Route::get('dashboard/export', [DashboardController::class, 'exportExcel'])->name('dashboard.export');
// ---------- users ----------
Route::prefix('users')->name('users.')->group(function () {
Route::get('/', [UserController::class, 'index'])->name('index');
Route::get('{user}/edit', [UserController::class, 'edit'])->name('edit');
Route::put('{user}', [UserController::class, 'update'])->name('update');
Route::delete('{user}', [UserController::class, 'destroy'])->name('destroy');
// تغییر رمز (دو روت مجزا برای فرم و ذخیره)
Route::get('{user}/change-password', [UserController::class, 'changePassword'])->name('change-password');
Route::put('{user}/change-password', [UserController::class, 'updatePassword'])->name('update-password');
Route::prefix('users')->name('users.')->group(function () {
Route::get('/', [UserController::class, 'index'])
->name('index');
Route::get('{user}/edit', [UserController::class, 'edit'])
->name('edit');
Route::put('{user}', [UserController::class, 'update'])
->name('update');
Route::delete('{user}', [UserController::class, 'destroy'])
->name('destroy');
Route::get('{user}/change-password', [UserController::class, 'changePassword'])
->name('change-password');
Route::put('{user}/change-password', [UserController::class, 'updatePassword'])
->name('update-password');
});
// ---------- admins ----------
Route::prefix('admins')->name('admins.')->controller(AdminController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{admin}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
Route::prefix('admins')
->name('admins.')
->controller(AdminController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{admin}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
});
// ---------- tours ----------
Route::prefix('tours')->name('tours.')->controller(TourController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{tour}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
// حذف تصویر تور
Route::delete('images/{image}', 'removeImage')->name('removeImage');
});
});
// ---------- travel types (نوع سفر) ----------
Route::prefix('travel-types')->name('travelTypes.')->controller(TravelTypeController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{travelType}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
Route::prefix('tours')
->name('tours.')
->controller(TourController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{tour}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
Route::delete('images/{image}', 'removeImage')
->name('removeImage');
});
});
});
// ---------- travel types ----------
Route::prefix('travel-types')
->name('travelTypes.')
->controller(TravelTypeController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{travelType}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
// ---------- flights ----------
Route::prefix('flights')->name('flights.')->controller(FlightController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{flight}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
Route::prefix('flights')
->name('flights.')
->controller(FlightController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{flight}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
});
// ---------- airports ----------
Route::prefix('airports')->name('airports.')->controller(AirportController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{airport}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
Route::prefix('airports')
->name('airports.')
->controller(AirportController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{airport}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
// ---------- provinces and cities ----------
Route::prefix('locations')->name('locations.')->group(function () {
// مدیریت استان‌ها
Route::prefix('provinces')
->name('provinces.')
->controller(ProvinceController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{province}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
// مدیریت شهرها
Route::prefix('cities')
->name('cities.')
->controller(CityController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('{city}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
});
// ---------- comments ----------
Route::prefix('comments')->name('comments.')->controller(CommentController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::prefix('{comment}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::patch('update', 'update')->name('update'); // تأیید/رد نظر
Route::delete('destroy', 'destroy')->name('destroy');
Route::prefix('comments')
->name('comments.')
->controller(CommentController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::prefix('{comment}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::patch('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
});
// ---------- favorites ----------
Route::prefix('favorites')->name('favorites.')->controller(FavoriteController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('{favorite}', 'show')->name('show');
Route::delete('{favorite}/destroy', 'destroy')->name('destroy');
});
// ---------- payments ----------
Route::prefix('payments')->name('payments.')->controller(PaymentController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('{payment}', 'show')->name('show');
});
Route::prefix('favorites')
->name('favorites.')
->controller(FavoriteController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('{favorite}', 'show')->name('show');
Route::delete('{favorite}/destroy', 'destroy')->name('destroy');
});
// ---------- sliders ----------
// Route::prefix('sliders')->name('sliders.')->controller(SliderController::class)->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('create', 'create')->name('create');
// Route::post('store', 'store')->name('store');
// Route::prefix('{slider}')->group(function () {
// Route::get('show', 'show')->name('show');
// Route::get('edit', 'edit')->name('edit');
// Route::put('update', 'update')->name('update');
// Route::delete('destroy', 'destroy')->name('destroy');
// });
// });
// ---------- settings ----------
Route::prefix('settings')->name('settings.')->controller(SettingController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::put('update', 'update')->name('update');
});
Route::prefix('settings')
->name('settings.')
->controller(SettingController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::put('update', 'update')->name('update');
});
});
});
+2 -73
View File
@@ -8,12 +8,7 @@ use Illuminate\Support\Facades\Route;
Route::prefix('auth')->name('auth.')->group(function () {
/*
|--------------------------------------------------------------------------
| Guest
|--------------------------------------------------------------------------
*/
//Guest
Route::middleware('guest:web')->group(function () {
// Register
@@ -45,75 +40,9 @@ Route::prefix('auth')->name('auth.')->group(function () {
});
/*
|--------------------------------------------------------------------------
| Logout
|--------------------------------------------------------------------------
*/
// Logout
Route::get('logout', [LogoutController::class, 'index'])
->middleware('auth:web')
->name('logout');
});
//
//
//use App\Http\Controllers\Auth\LoginController;
//use App\Http\Controllers\Auth\LogoutController;
//use App\Http\Controllers\Auth\RegisterController;
//use Illuminate\Support\Facades\Route;
//
//Route::prefix('auth')->name('auth.')->group(function () {
//
// Route::middleware('guest:web')->group(function () {
//
// Route::controller(RegisterController::class)
// ->prefix('register')
// ->name('register.')
// ->group(function () {
//
// Route::get('/', 'index')->name('index');
//
// Route::post('/', 'post')->name('post');
//
// Route::get('cities/{province}', 'cities')
// ->name('cities');
// });
//
//
// Route::controller(LoginController::class)
// ->prefix('login')
// ->name('login.')
// ->group(function () {
//
// Route::get('/', 'index')->name('index');
//
// Route::post('/', 'post')->name('post');
// });
// });
//
//
// Route::get('logout', [LogoutController::class, 'index'])
// ->middleware('auth:web')
// ->name('logout');
//});
//
////Route::prefix('auth')->name('auth.')->group(function () {
////
//// Route::middleware('guest:web')->group(function () {
////
//// Route::controller(RegisterController::class)
//// ->prefix('register')->name('register.')->group(function () {
//// Route::get('/', 'index')->name('index');
//// Route::post('/', 'post')->name('post');
//// });
////
//// Route::controller(LoginController::class)
//// ->prefix('login')->name('login.')->group(function () {
//// Route::get('/', 'index')->name('index');
//// Route::post('/', 'post')->name('post');
//// });
//// });
////
//// Route::get('logout', [LogoutController::class, 'index'])
//// ->middleware('auth:web')->name('logout');
////});
+45 -333
View File
@@ -1,377 +1,89 @@
<?php
use App\Http\Controllers\Account\BookingController;
use App\Http\Controllers\Account\CommentController as AccountCommentController;
use App\Http\Controllers\Account\EditProfileController;
use App\Http\Controllers\Account\FavoriteController;
use App\Http\Controllers\Account\FavoriteController as AccountFavoriteController;
use App\Http\Controllers\BookingController as SiteBookingController;
use App\Http\Controllers\CommentController;
use App\Http\Controllers\FavoriteController;
use App\Http\Controllers\FlightController;
use App\Http\Controllers\IndexController;
use App\Http\Controllers\PageController;
use App\Http\Controllers\TourController;
use Illuminate\Support\Facades\Route;
// ------------------------------ index ------------------------------
// ------------------------------ صفحه اصلی ------------------------------
Route::get('/', [IndexController::class, 'index'])->name('index');
// ------------------------------ tours (مثل products) ------------------------------
Route::prefix('tours')->name('tours.')->controller(TourController::class)
// ------------------------------ تورها ------------------------------
Route::prefix('tours')
->name('tours.')
->controller(TourController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('remove-filters', 'removeFilters')->name('remove-filters');
Route::get('search/suggestion', 'searchSuggestion')->name('searchSuggestion'); // قبل از {tour}
Route::get('search/suggestion', 'searchSuggestion')->name('searchSuggestion');
Route::get('{tour}', 'show')->name('show');
});
// ------------------------------ flights ------------------------------
Route::prefix('flights')->name('flights.')->controller(FlightController::class)
// ------------------------------ پروازها ------------------------------
Route::prefix('flights')
->name('flights.')
->controller(FlightController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('search', 'search')->name('search');
Route::get('{flight}', 'show')->name('show');
});
// ------------------------------ علاقه‌مندی‌ها ------------------------------
Route::prefix('favorites')->name('favorites.')
->middleware('auth')->controller(FavoriteController::class)
// ------------------------------ نظرات (پلی‌مورفیک) ------------------------------
Route::prefix('comments')
->name('comments.')
->middleware('auth')
->controller(AccountCommentController::class) // اصلاح شد: استفاده از کنترلر صحیح
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('toggle', 'toggle')->name('toggle'); // افزودن/حذف با ajax
Route::get('clear', 'clear')->name('clear');
Route::post('tour/{tour}', 'storeTour')->name('tour.store');
Route::post('flight/{flight}', 'storeFlight')->name('flight.store');
});
// ------------------------------ رزرو (مرحله اول: بدون پرداخت) ------------------------------
// ------------------------------ علاقه‌مندی‌ها (عمومی) ------------------------------
Route::prefix('favorites')->name('favorites.')->middleware('auth')->controller(FavoriteController::class)->group(function () {
Route::post('toggle', 'toggle')->name('toggle');
});
// ------------------------------ رزرو ------------------------------
Route::prefix('booking')
->name('booking.')
->middleware('auth')
->controller(SiteBookingController::class)
->group(function () {
Route::get('/', 'index')->name('index'); // صفحه رزرو
Route::post('tours/{tour}', 'store')->name('store'); // رزرو تور
Route::get('flights/{flight}', 'flight')->name('flight'); // فرم رزرو پرواز
Route::post('flights/{flight}', 'storeFlight')->name('flight.store'); // ثبت نهایی پرواز
Route::get('/', 'index')->name('index');
Route::post('tours/{tour}', 'store')->name('store');
Route::get('flights/{flight}', 'flight')->name('flight');
Route::post('flights/{flight}', 'storeFlight')->name('flight.store');
});
// ------------------------------ پنل شخصی کاربر ------------------------------
Route::prefix('account')->name('account.')
// ------------------------------ پنل کاربری ------------------------------
Route::prefix('account')
->name('account.')
->middleware('auth')
->group(function () {
// 🔥 تغییر اینجا: به‌جای HomeController از IndexController
Route::get('/', [IndexController::class, 'index'])->name('index'); // داشبورد
Route::get('/', [IndexController::class, 'index'])->name('index');
Route::controller(BookingController::class)->group(function () {
Route::get('bookings', 'index')->name('bookings'); // رزروها
});
// علاقه‌مندی‌ها
Route::get('favorites', [AccountFavoriteController::class, 'index'])->name('favorites');
Route::controller(FavoriteController::class)->group(function () {
Route::get('favorites', 'index')->name('favorites');
});
// نظرات
Route::get('comments', [AccountCommentController::class, 'myComments'])->name('comments');
Route::prefix('edit-profile')->name('edit-profile.')
->controller(EditProfileController::class)->group(function () {
// پروفایل
Route::prefix('edit-profile')
->name('edit-profile.')
->controller(EditProfileController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/', 'post')->name('post');
});
});
// ------------------------------ صفحات ثابت ------------------------------
Route::get('/about', [PageController::class, 'about'])->name('about');
Route::get('/contact', [PageController::class, 'contact'])->name('contact');
Route::get('/faq', [PageController::class, 'faq'])->name('faq');
//
//use App\Http\Controllers\Account\BookingController;
//use App\Http\Controllers\Account\EditProfileController;
//use App\Http\Controllers\Account\FavoriteController;
//use App\Http\Controllers\Account\HomeController;
//use App\Http\Controllers\BookingController as SiteBookingController;
////use App\Http\Controllers\CommentController;
//use App\Http\Controllers\FlightController;
//use App\Http\Controllers\IndexController;
//use App\Http\Controllers\PageController;
//use App\Http\Controllers\TourController;
//
//use Illuminate\Support\Facades\Route;
////use App\Http\Controllers\BookingController;
////use App\Http\Controllers\CommentController;
////use App\Http\Controllers\EditProfileController;
////use App\Http\Controllers\FavoriteController;
////use App\Http\Controllers\HomeController;
////use App\Http\Controllers\BookingController as SiteBookingController;
////use App\Http\Controllers\FlightController;
////use App\Http\Controllers\IndexController;
////use App\Http\Controllers\PageController;
////use App\Http\Controllers\TourController;
////use Illuminate\Support\Facades\Route;
//
//// ------------------------------ index ------------------------------
//Route::get('/', [IndexController::class, 'index'])->name('index');
//
//// ------------------------------ tours (مثل products) ------------------------------
//Route::prefix('tours')->name('tours.')->controller(TourController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('remove-filters', 'removeFilters')->name('remove-filters');
// Route::get('search/suggestion', 'searchSuggestion')->name('searchSuggestion'); // قبل از {tour}
// Route::get('{tour}', 'show')->name('show');
// });
//
//// ------------------------------ flights ------------------------------
//Route::prefix('flights')->name('flights.')->controller(FlightController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('search', 'search')->name('search');
// Route::get('{flight}', 'show')->name('show');
// });
//
//// ------------------------------ نظرات (مهمان یا عضو) ------------------------------
////Route::post('tours/{tour}/comments', [CommentController::class, 'store'])
//// ->middleware('auth')->name('comments.store');
//
//// ------------------------------ علاقه‌مندی‌ها ------------------------------
//Route::prefix('favorites')->name('favorites.')
// ->middleware('auth')->controller(FavoriteController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('toggle', 'toggle')->name('toggle'); // افزودن/حذف با ajax
// Route::get('clear', 'clear')->name('clear');
// });
//
//// ------------------------------ رزرو (مرحله اول: بدون پرداخت) ------------------------------
//
//Route::prefix('booking')
// ->name('booking.')
// ->middleware('auth')
// ->controller(SiteBookingController::class)
// ->group(function () {
//
// // صفحه رزرو
// Route::get('/', 'index')->name('index');
//
// // رزرو تور
// Route::post('tours/{tour}', 'store')
// ->name('store');
//
// // صفحه فرم رزرو پرواز
// Route::get('flights/{flight}', 'flight')
// ->name('flight');
//
// // ثبت نهایی رزرو پرواز
// Route::post('flights/{flight}', 'storeFlight')
// ->name('flight.store');
//
// });
//
//// ------------------------------ پنل شخصی کاربر ------------------------------
//Route::prefix('account')->name('account.')
// ->middleware('auth')
// ->group(function () {
//
// Route::get('/', [HomeController::class, 'index'])->name('index'); // داشبورد
//
// Route::controller(BookingController::class)->group(function () {
// Route::get('bookings', 'index')->name('bookings'); // رزروها
// });
//
// Route::controller(FavoriteController::class)->group(function () {
// Route::get('favorites', 'index')->name('favorites');
// });
//
//// Route::controller(CommentController::class)->group(function () {
//// Route::get('comments', 'index')->name('comments');
//// });
//
// Route::prefix('edit-profile')->name('edit-profile.')
// ->controller(EditProfileController::class)->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('/', 'post')->name('post');
// });
// });
//
//// ------------------------------ صفحات ثابت ------------------------------
//Route::get('/about', [PageController::class, 'about'])->name('about');
//Route::get('/contact', [PageController::class, 'contact'])->name('contact');
//Route::get('/faq', [PageController::class, 'faq'])->name('faq');
//
//
//use App\Http\Controllers\Account\BookingController as AccountBookingController;
//use App\Http\Controllers\Account\EditProfileController;
//use App\Http\Controllers\Account\FavoriteController as AccountFavoriteController;
//use App\Http\Controllers\Account\HomeController;
//use App\Http\Controllers\Account\CommentController as AccountCommentController;
//use App\Http\Controllers\BookingController as SiteBookingController;
//use App\Http\Controllers\CommentController;
//use App\Http\Controllers\FavoriteController as SiteFavoriteController;
//use App\Http\Controllers\FlightController;
//use App\Http\Controllers\IndexController;
//use App\Http\Controllers\PageController;
//use App\Http\Controllers\TourController;
//use Illuminate\Support\Facades\Route;
//
//// ------------------------------ index ------------------------------
//Route::get('/', [IndexController::class, 'index'])->name('index');
//
//// ------------------------------ json-suggestion-search (جستجوی پیشنهادی تورها) ------------------------------
//// قبل از گروه tours تعریف شد تا با روت {tour} تداخل پیدا نکند
//Route::get('tours/search/suggestion', [TourController::class, 'searchSuggestion'])
// ->name('tours.searchSuggestion');
//
//// ------------------------------ tours ------------------------------
//Route::prefix('tours')
// ->name('tours.')
// ->controller(TourController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('remove-filters', 'removeFilters')->name('remove-filters');
// Route::get('{tour}', 'show')->name('show');
// });
//
//// ------------------------------ flights ------------------------------
//Route::prefix('flights')
// ->name('flights.')
// ->controller(FlightController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('search', 'search')->name('search');
// Route::get('{flight}', 'show')->name('show');
// });
//
//// ------------------------------ نظرات (فقط کاربر واردشده) ------------------------------
//Route::post('tours/{tour}/comments', [CommentController::class, 'store'])
// ->middleware('auth')
// ->name('comments.store');
//
//// ------------------------------ علاقهمندیها ------------------------------
//Route::prefix('favorites')
// ->name('favorites.')
// ->middleware('auth')
// ->controller(SiteFavoriteController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('toggle', 'toggle')->name('toggle'); // افزودن/حذف با ajax
// Route::get('clear', 'clear')->name('clear');
// });
//
//// ------------------------------ رزرو (بدون پرداخت) ------------------------------
//Route::prefix('booking')
// ->name('booking.')
// ->middleware('auth')
// ->controller(SiteBookingController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index'); // فرم رزرو تور
// Route::post('tours/{tour}', 'store')->name('store'); // ثبت رزرو
// });
//
//// ------------------------------ پنل شخصی کاربر ------------------------------
//Route::prefix('account')
// ->name('account.')
// ->middleware('auth')
// ->group(function () {
//
// Route::get('/', [HomeController::class, 'index'])->name('index'); // داشبورد
//
// Route::get('bookings', [AccountBookingController::class, 'index'])->name('bookings');
// Route::get('favorites', [AccountFavoriteController::class, 'index'])->name('favorites');
// Route::get('comments', [AccountCommentController::class, 'index'])->name('comments');
//
// Route::prefix('edit-profile')
// ->name('edit-profile.')
// ->controller(EditProfileController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('/', 'post')->name('post');
// });
// });
//
//// ------------------------------ صفحات ثابت ------------------------------
//Route::get('/about', [PageController::class, 'about'])->name('about');
//Route::get('/contact', [PageController::class, 'contact'])->name('contact');
//Route::get('/faq', [PageController::class, 'faq'])->name('faq');
//
//
////use App\Http\Controllers\Account\EditProfileController;
////use App\Http\Controllers\Account\BookingController;
////use App\Http\Controllers\Account\FavoriteController;
////use App\Http\Controllers\BookingController as SiteBookingController;
////use App\Http\Controllers\CommentController;
////use App\Http\Controllers\FavoriteController as SiteFavoriteController;
////use App\Http\Controllers\FlightController;
//use App\Http\Controllers\IndexController;
////use App\Http\Controllers\PageController;
////use App\Http\Controllers\PaymentController;
//use App\Http\Controllers\TourController;
//use Illuminate\Support\Facades\Route;
//
//// ------------------------------ index ------------------------------
//Route::get('/', [IndexController::class, 'index'])->name('index');
//
//// ------------------------------ tours (مثل products) ------------------------------
//Route::prefix('tours')->name('tours.')->controller(TourController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('remove-filters', 'removeFilters')->name('remove-filters');
// Route::get('{tour}', 'show')->name('show');
// });
//
//// json-suggestion-search (جستجوی پیشنهادی تورها)
//Route::get('tours/search/suggestion', [TourController::class, 'searchSuggestion'])
// ->name('tours.searchSuggestion');
//
//// ------------------------------ flights ------------------------------
//Route::prefix('flights')->name('flights.')->controller(FlightController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::get('search', 'search')->name('search');
// Route::get('{flight}', 'show')->name('show');
// });
//
//// ------------------------------ نظرات (مهمان یا عضو) ------------------------------
//Route::post('tours/{tour}/comments', [CommentController::class, 'store'])
// ->middleware('auth')->name('comments.store');
//
//// ------------------------------ علاقه‌مندی‌ها ------------------------------
//Route::prefix('favorites')->name('favorites.')
// ->middleware('auth')->controller(SiteFavoriteController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('toggle', 'toggle')->name('toggle'); // افزودن/حذف با ajax
// Route::get('clear', 'clear')->name('clear');
// });
//
//// ------------------------------ رزرو و پرداخت ------------------------------
//Route::prefix('booking')->name('booking.')
// ->middleware('auth')->controller(SiteBookingController::class)
// ->group(function () {
// Route::get('/', 'index')->name('index'); // فرم رزرو تور
// Route::post('tours/{tour}', 'store')->name('store'); // ثبت رزرو
// });
//
//Route::get('payment/{booking}/pay', [PaymentController::class, 'pay'])
// ->middleware('auth')->name('payment.pay');
//
//// ------------------------------ پنل شخصی کاربر ------------------------------
//Route::prefix('account')->name('account.')->middleware('auth')->group(function () {
//
// Route::get('/', [HomeController::class, 'index'])->name('index'); // داشبورد
// Route::get('bookings', [BookingController::class, 'index'])->name('bookings'); // رزروها
// Route::get('favorites', [FavoriteController::class, 'index'])->name('favorites');
// Route::get('comments', [CommentController::class, 'index'])->name('comments');
//
// Route::prefix('edit-profile')->name('edit-profile.')
// ->controller(EditProfileController::class)->group(function () {
// Route::get('/', 'index')->name('index');
// Route::post('/', 'post')->name('post');
// });
//});
//
//// ------------------------------ صفحات ثابت ------------------------------
//Route::get('/about', [PageController::class, 'about'])->name('about');
//Route::get('/contact', [PageController::class, 'contact'])->name('contact');
//Route::get('/faq', [PageController::class, 'faq'])->name('faq');