fix: dynamic flight details view and null-safe relations

This commit is contained in:
2026-08-18 14:55:16 +03:30
parent f47a876a87
commit d427d8cf50
5 changed files with 24 additions and 175 deletions
+4 -4
View File
@@ -50,10 +50,10 @@ class FlightController extends Controller
return back()->with('success', 'نظر شما با موفقیت ثبت شد.');
} catch (\Exception $e) {
// return back()
// ->withInput()
// ->with('error', 'ثبت نظر با خطا مواجه شد.');
dd($e->getMessage());
return back()
->withInput()
->with('error', 'ثبت نظر با خطا مواجه شد.');
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

+12 -67
View File
@@ -37,6 +37,7 @@
<div class="start-time-info">
<h6 class="end-time-text">فرود پرواز</h6>
<p class="flight-full-date">{{ Verta::instance($flight->arrival_time)->format('Y/m/d - H:i') }}</p>
<span class="flight-destination">{{$flight->airport->name}}</span>
</div>
</div>
@@ -55,17 +56,7 @@
</div>
</div>
</div>
<div class="col-md-6 col-lg-3">
<div class="listing-feature">
<div class="listing-feature-icon">
<i class="far fa-suitcase"></i>
</div>
<div class="listing-feature-content">
<h6>صندلی و چمدان</h6>
<span>تومان30 شارژ اضافی</span>
</div>
</div>
</div>
<div class="col-md-6 col-lg-3">
<div class="listing-feature">
<div class="listing-feature-icon">
@@ -90,17 +81,7 @@
</div>
</div>
</div>
<div class="listing-item">
<h4 class="mb-3">درباره شرکت هواپیمایی دلتا</h4>
<p>لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون
بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع
با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه
و متخصصان را می طلبد. </p>
<p class="mt-3">لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و
کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده
شناخت فراوان جامعه و متخصصان را می طلبد. </p>
</div>
<div class="listing-item">
<h4 class="mb-3"> ویژگی های هنگام پرواز</h4>
<div class="listing-amenity">
@@ -268,59 +249,23 @@
</div>
</div>
<div class="listing-review">
<h5>نظرات</h5>
<h5>نظرات کاربران</h5>
@forelse ($flight->comments as $comment)
<div class="listing-review-item">
<div class="listing-review-author">
<img src="assets/img/account/01.jpg" alt>
<img src="{{ asset('assets/img/account/DefaultAvatar.jpg') }}" alt="user">
<div class="listing-review-author-info">
<div>
<h6>کانت ایوانز</h6>
<span><i class="far fa-clock"></i> 1 روز پیش</span>
<h6>{{ $comment->guest_name ?? $comment->user?->first_name }}</h6>
<span><i class="far fa-clock"></i> {{ Verta::instance($comment->created_at)->formatDifference() }}</span>
</div>
</div>
</div>
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی
مورد نیاز و هدف بهبود است.
</p>
</div>
<div class="listing-review-item review-reply-item">
<div class="listing-review-author">
<img src="assets/img/account/02.jpg" alt>
<div class="listing-review-author-info">
<div>
<h6>اریش تی گنائو</h6>
<span><i class="far fa-clock"></i> 1 روز پیش</span>
</div>
</div>
</div>
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی
مورد نیاز و هدف بهبود است.
</p>
</div>
<div class="listing-review-item">
<div class="listing-review-author">
<img src="assets/img/account/03.jpg" alt>
<div class="listing-review-author-info">
<div>
<h6>جسی سینکلر</h6>
<span><i class="far fa-clock"></i> 1 روز پیش</span>
</div>
</div>
</div>
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی
مورد نیاز و هدف بهبود است.
</p>
</div>
<div class="text-center my-4">
<a href="#" class="theme-btn"> <span class="far fa-sync-alt"></span>
بارگذاری بیشتر</a>
<p>{{ $comment->content }}</p>
</div>
@empty
<p class="text-muted">هنوز نظری برای این تور ثبت نشده است.</p>
@endforelse
</div>
<div class="listing-review-form">
<h4>نظر بدهید</h4>
@@ -42,72 +42,6 @@
</div>
</div>
</div>
<div class="col-lg-12">
<div class="form-group dropdown static-dropdown passenger-box">
<div class="passenger-class" role="menu" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
<label>مسافر، کلاس</label>
<div class="form-group-icon">
<div class="passenger-total"><span class="passenger-total-amount">2</span>
مسافر
</div>
<i class="fal fa-user-plus"></i>
</div>
<p class="passenger-class-name">کسب و کار</p>
</div>
<div class="dropdown-menu dropdown-menu-end">
<div class="dropdown-item">
<div class="passenger-item">
<div class="passenger-info">
<h6>بزرگسالان</h6>
<p>+12 سال</p>
</div>
<div class="passenger-qty">
<button type="button" class="minus-btn"><i class="far fa-minus"></i></button>
<input type="text" name="adult" class="qty-amount passenger-adult" value="2" readonly>
<button type="button" class="plus-btn"><i class="far fa-plus"></i></button>
</div>
</div>
</div>
<div class="dropdown-item">
<div class="passenger-item">
<div class="passenger-info">
<h6>کودکان</h6>
<p>2 تا 12 سال</p>
</div>
<div class="passenger-qty">
<button type="button" class="minus-btn"><i class="far fa-minus"></i></button>
<input type="text" name="children" class="qty-amount passenger-children" value="0" readonly>
<button type="button" class="plus-btn"><i class="far fa-plus"></i></button>
</div>
</div>
</div>
<div class="dropdown-item">
<h6 class="mb-3 mt-2">کلاس کابین</h6>
<div class="passenger-class-info">
<div class="form-check">
<input class="form-check-input" type="radio" value="Economy" name="cabin-class" id="cabin-class1">
<label class="form-check-label" for="cabin-class1">
اقتصاد
</label>
</div>
<div class="form-check">
<input class="form-check-input" checked type="radio" value="Business" name="cabin-class" id="cabin-class2">
<label class="form-check-label" for="cabin-class2">
تجارت
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" value="First Class" name="cabin-class" id="cabin-class3">
<label class="form-check-label" for="cabin-class3">
فرست کلاس
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="listing-side-btn">
<button type="submit" class="theme-btn"><span class="far fa-shopping-bag"></span>اکنون ثبت کن</button>
@@ -122,34 +56,4 @@
</div>
</div>
</div>
<div class="booking-sidebar listing-side-content mt-4">
<h4 class="booking-title">چرا باید با ما رزرو کنید؟</h4>
<ul class="listing-side-list">
<li><i class="far fa-dollar-sign"></i>تضمین بهترین قیمت</li>
<li><i class="far fa-headset"></i>24/7 مراقبت از مشتری</li>
<li><i class="far fa-globe"></i>تورها و فعالیت‌های دست‌چین شده</li>
<li><i class="far fa-flag"></i>بیمه مسافرتی رایگان</li>
<li><i class="far fa-car"></i>وسیله نقلیه راحت و بهداشتی</li>
</ul>
</div>
<div class="booking-sidebar listing-side-content mt-4">
<h4 class="booking-title">سوالی دریافت کنید؟</h4>
<p>لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.</p>
<ul class="listing-side-list">
<li><i class="far fa-phone"></i><a href="tel:+21234567897">0912345678</a></li>
<li><i class="far fa-envelope"></i><a href="/cdn-cgi/l/email-protection#f39a9d959cb3968b929e839f96dd909c9e"><span class="__cf_email__" data-cfemail="31585f575e715449505c415d541f525e5c">[ایمیل&#160;محفوظ]</span></a></li>
</ul>
</div>
<div class="booking-sidebar listing-side-content mt-4">
<h4 class="booking-title">سازماندهی توسط</h4>
<div class="listing-side-organizer">
<div class="listing-side-organizer-img">
<img src="assets/img/account/01.jpg" alt>
</div>
<div class="listing-side-organizer-info">
<h5 class="listing-side-organizer-name">آژانس مسافرتی رولتاک</h5>
<p>عضو از سال 1390</p>
<a href="#" class="theme-btn"><span class="far fa-paper-plane"></span> فرستادن پیام</a>
</div>
</div>
</div>
+2 -2
View File
@@ -6,10 +6,10 @@
<div class="site-breadcrumb" style="background: url(assets/img/breadcrumb/01.jpg)">
<div class="container">
<h2 class="breadcrumb-title">پرواز تک</h2>
<h2 class="breadcrumb-title">پرواز {{$flight->origin_airport->city->name}} - {{$flight->airport->city->name}} </h2>
<ul class="breadcrumb-menu">
<li><a href="{{route('index')}}">صفحه اصلی</a></li>
<li class="active">پرواز تک</li>
<li class="active">پرواز </li>
</ul>
</div>
</div>