fix:change wishlist

This commit is contained in:
2026-08-22 11:15:56 +03:30
parent 4599b5b52c
commit b76e979826
3 changed files with 158 additions and 42 deletions
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Account;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Favorite; use App\Models\Favorite;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class WishlistController extends Controller class WishlistController extends Controller
@@ -23,4 +24,6 @@ class WishlistController extends Controller
return view('account.wishlist', compact('favorites')); return view('account.wishlist', compact('favorites'));
} }
} }
+128 -31
View File
@@ -23,14 +23,14 @@
@endif @endif
<form action="{{ route('account.edit-profile.post') }}" <form action="{{ route('account.edit-profile.post') }}"
method="POST"> method="POST"
enctype="multipart/form-data">
@csrf @csrf
@method('PUT') @method('PUT')
<div class="row"> <div class="row">
{{-- نام --}}
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>نام</label> <label>نام</label>
@@ -50,9 +50,6 @@
@enderror @enderror
</div> </div>
</div> </div>
{{-- نام خانوادگی --}}
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>نام خانوادگی</label> <label>نام خانوادگی</label>
@@ -73,8 +70,6 @@
</div> </div>
</div> </div>
{{-- ایمیل --}}
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>ایمیل</label> <label>ایمیل</label>
@@ -95,8 +90,6 @@
</div> </div>
</div> </div>
{{-- موبایل --}}
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>موبایل</label> <label>موبایل</label>
@@ -117,44 +110,50 @@
</div> </div>
</div> </div>
{{-- استان و شهر فعلاً همان قبلی --}}
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>استان</label> <label>استان</label>
<input <select
type="text" name="province_id"
name="user_province" id="province_id"
class="form-control" class="form-control"
value="{{ old('user_province', $user->user_province) }}"
placeholder="استان"
> >
</div> <option value="">استان خود را انتخاب کنید</option>
</div> </select>
@error('province_id')
<span class="text-danger">
{{ $message }}
</span>
@enderror
</div>
</div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>شهر</label> <label>شهر</label>
<input <select
type="text" name="city_id"
name="user_city" id="city_id"
class="form-control" class="form-control"
value="{{ old('user_city', $user->user_city) }}"
placeholder="شهر"
> >
<option value="">ابتدا استان را انتخاب کنید</option>
</select>
@error('city_id')
<span class="text-danger">
{{ $message }}
</span>
@enderror
</div> </div>
</div> </div>
</div> </div>
{{-- تغییر رمز --}}
<h4 class="user-profile-card-title mt-4"> <h4 class="user-profile-card-title mt-4">
عوض کردن رمز عبور عوض کردن رمز عبور و پروفایل
</h4> </h4>
@@ -175,7 +174,6 @@
@enderror @enderror
</div> </div>
<div class="form-group"> <div class="form-group">
<label>رمز عبور جدید</label> <label>رمز عبور جدید</label>
@@ -185,7 +183,6 @@
class="form-control" class="form-control"
placeholder="رمز عبور جدید" placeholder="رمز عبور جدید"
> >
@error('new_password') @error('new_password')
<span class="text-danger"> <span class="text-danger">
{{ $message }} {{ $message }}
@@ -193,7 +190,6 @@
@enderror @enderror
</div> </div>
<div class="form-group"> <div class="form-group">
<label>تکرار رمز عبور جدید</label> <label>تکرار رمز عبور جدید</label>
@@ -204,13 +200,27 @@
placeholder="تکرار رمز عبور جدید" placeholder="تکرار رمز عبور جدید"
> >
</div> </div>
<div class="col-md-12">
<div class="form-group">
<label>عکس پروفایل</label>
<input
type="file"
name="image"
class="form-control"
accept="image/*"
>
@error('image')
<span class="text-danger">
{{ $message }}</span>
@enderror
</div>
</div>
<button type="submit" class="theme-btn mt-4"> <button type="submit" class="theme-btn mt-4">
آپدیت مشخصات پروفایل آپدیت مشخصات پروفایل
<i class="far fa-user"></i> <i class="far fa-user"></i>
</button> </button>
</form> </form>
</div> </div>
@@ -221,3 +231,90 @@
</div> </div>
@endsection @endsection
@push('scripts')
<script>
document.addEventListener('DOMContentLoaded', function () {
const provinceSelect = document.getElementById('province_id');
const citySelect = document.getElementById('city_id');
const selectedProvinceId = "{{ old('province_id', $user->province_id) }}";
const selectedCityId = "{{ old('city_id', $user->city_id) }}";
fetch('{{ asset('assets/data/iran-cities.json') }}')
.then(response => response.json())
.then(data => {
const provinces = [];
data.forEach(item => {
const exists = provinces.some(
province => province.id === item.provinceId
);
if (!exists) {
provinces.push({
id: item.provinceId,
name: item.provinceName
});
}
});
// نمایش استان‌ها
provinces.forEach(province => {
provinceSelect.innerHTML += `
<option value="${province.id}"
${String(province.id) === String(selectedProvinceId) ? 'selected' : ''}>
${province.name}
</option>
`;
});
// تابع نمایش شهرها
function loadCities(provinceId, selectedCity = null) {
citySelect.innerHTML = `
<option value="">شهر خود را انتخاب کنید</option>
`;
if (!provinceId) {
return;
}
const cities = data.filter(
item => String(item.provinceId) === String(provinceId)
);
cities.forEach(city => {
citySelect.innerHTML += `
<option value="${city.cityId}"
${String(city.cityId) === String(selectedCity) ? 'selected' : ''}>
${city.cityName}
</option>
`;
});
}
if (selectedProvinceId) {
loadCities(selectedProvinceId, selectedCityId);
}
provinceSelect.addEventListener('change', function () {
loadCities(this.value);
});
})
.catch(error => {
console.error('Error loading cities:', error);
});
});
</script>
@endpush
+21 -5
View File
@@ -17,6 +17,8 @@
<div class="row mt-30"> <div class="row mt-30">
@forelse($favorites as $favorite) @forelse($favorites as $favorite)
{{-- ==================== FLIGHT ==================== --}}
@if($favorite->flight) @if($favorite->flight)
@php @php
@@ -29,10 +31,17 @@
<div class="flight-img"> <div class="flight-img">
@if($flight->file)
<img
src="{{ asset('storage/' . $flight->file->path) }}"
alt="{{ $flight->title }}"
>
@else
<img <img
src="{{ asset('assets/img/flight/01.jpg') }}" src="{{ asset('assets/img/flight/01.jpg') }}"
alt="" alt="{{ $flight->title }}"
> >
@endif
</div> </div>
@@ -108,6 +117,8 @@
</div> </div>
{{-- ==================== TOUR ==================== --}}
@elseif($favorite->tour) @elseif($favorite->tour)
@php @php
@@ -120,10 +131,17 @@
<div class="flight-img"> <div class="flight-img">
@if($tour->file)
<img
src="{{ asset('storage/' . $tour->file->path) }}"
alt="{{ $tour->title }}"
>
@else
<img <img
src="{{ asset('assets/img/flight/01.jpg') }}" src="{{ asset('assets/img/flight/01.jpg') }}"
alt="" alt="{{ $tour->title }}"
> >
@endif
</div> </div>
@@ -186,14 +204,12 @@
از از
<span> <span>
{{ number_format($tour->price) }} {{ number_format($tour->price) }}
تومان تومان
</span> </span>
</div> </div>
<div class="flight-text-btn"> <div class="flight-text-btn">
<a href="{{ route('tours.show', $tour->id) }}"> <a href="{{ route('tours.show', $tour->id) }}">