feat: add flight details page and comment system for users and guests

This commit is contained in:
2026-08-18 12:55:17 +03:30
parent 7cdfcdbef2
commit f47a876a87
10 changed files with 770 additions and 30 deletions
@@ -0,0 +1,420 @@
<div class="listing-content">
<div class="listing-slider owl-carousel owl-theme" dir="ltr">
@if ($flight->images && $flight->images->count() > 0)
@if ($flight->images->count() > 1)
@foreach ($flight->images as $image)
<img src="{{ asset($image->path) }}" alt="{{ $flight->flight_number }}">
@endforeach
@else
<img src="{{ asset($flight->images->first()->path) }}" alt="{{ $flight->flight_number }}">
@endif
@else
<img src="{{ asset('assets/img/flight/single-1.jpg') }}" alt="{{ $flight->flight_number }}">
@endif
</div>
<div class="listing-header">
<div class="listing-header-info">
<h4 class="listing-title">{{$flight->origin_airport->city->name}} - {{$flight->airport->city->name}}</h4>
<p class="listing-stop"> سفر {{ $flight->trip_type?->label() }}</p>
</div>
</div>
<div class="listing-item listing-flight">
<div class="flight-booking-time">
<div class="start-time">
<div class="start-time-icon">
<i class="fal fa-plane-departure"></i>
</div>
<div class="start-time-info">
<h6 class="start-time-text">پرواز برخاست</h6>
<p class="flight-full-date">{{ Verta::instance($flight->departure_time)->format('Y/m/d - H:i') }}</p>
<span class="flight-destination">{{$flight->origin_airport->name}}</span>
</div>
</div>
<div class="end-time">
<div class="start-time-icon">
<i class="fal fa-plane-arrival"></i>
</div>
<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>
</div>
</div>
</div>
</div>
<div class="listing-item pt-5">
<div class="row">
<div class="col-md-6 col-lg-3">
<div class="listing-feature">
<div class="listing-feature-icon">
<i class="far fa-user-tie"></i>
</div>
<div class="listing-feature-content">
<h6>نوع پرواز</h6>
<span>اقتصاد</span>
</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">
<i class="far fa-cog"></i>
</div>
<div class="listing-feature-content">
<h6>ویژگی های حین پرواز</h6>
<span>در دسترس</span>
</div>
</div>
</div>
<div class="col-md-6 col-lg-3">
<div class="listing-feature">
<div class="listing-feature-icon">
<i class="far fa-percent"></i>
</div>
<div class="listing-feature-content">
<h6>مالیات و کارمزد</h6>
<span>تومان40</span>
</div>
</div>
</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">
<div class="row">
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-wifi"></i> وای فای</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-tv"></i> تلویزیون</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-music"></i> سرگرمی</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-cup-togo"></i> قهوه</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-air-conditioner"></i> تهویه مطبوع</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="fa-regular fa-salad"></i> غذا</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-gamepad-modern"></i> بازی ها</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-wine-bottle"></i> شربت ها</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-couch"></i> راحتی</h6>
</div>
</div>
<div class="col-lg-4">
<div class="listing-amenity-item">
<h6><i class="far fa-image"></i> مجلات</h6>
</div>
</div>
</div>
</div>
</div>
<div class="listing-item">
<h4 class="mb-3">بررسی ها</h4>
<div class="listing-rating-box">
<div class="listing-review-rating">
<div class="listing-rating-count">
<h2>4.5</h2>
<div class="listing-rating-star">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
</div>
<p>بر اساس 15 هزار بازخورد</p>
</div>
<div class="listing-rating-range">
<div class="listing-rating-range-item">
<div class="listing-rating-range-star">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
<div class="listing-rating-range-bar">
<div class="listing-progress">
<div class="listing-progress-width" style="width: 90%">
</div>
</div>
</div>
<div class="listing-rating-range-percentage">
<span>90%</span>
</div>
</div>
<div class="listing-rating-range-item">
<div class="listing-rating-range-star">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
</div>
<div class="listing-rating-range-bar">
<div class="listing-progress">
<div class="listing-progress-width" style="width: 80%">
</div>
</div>
</div>
<div class="listing-rating-range-percentage">
<span>80%</span>
</div>
</div>
<div class="listing-rating-range-item">
<div class="listing-rating-range-star">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
</div>
<div class="listing-rating-range-bar">
<div class="listing-progress">
<div class="listing-progress-width" style="width: 59%">
</div>
</div>
</div>
<div class="listing-rating-range-percentage">
<span>59%</span>
</div>
</div>
<div class="listing-rating-range-item">
<div class="listing-rating-range-star">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
</div>
<div class="listing-rating-range-bar">
<div class="listing-progress">
<div class="listing-progress-width" style="width: 70%">
</div>
</div>
</div>
<div class="listing-rating-range-percentage">
<span>70%</span>
</div>
</div>
<div class="listing-rating-range-item">
<div class="listing-rating-range-star">
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
<i class="far fa-star"></i>
</div>
<div class="listing-rating-range-bar">
<div class="listing-progress">
<div class="listing-progress-width" style="width: 49%">
</div>
</div>
</div>
<div class="listing-rating-range-percentage">
<span>49%</span>
</div>
</div>
</div>
</div>
<div class="listing-review">
<h5>نظرات</h5>
<div class="listing-review-item">
<div class="listing-review-author">
<img src="assets/img/account/01.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 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>
</div>
</div>
<div class="listing-review-form">
<h4>نظر بدهید</h4>
<div class="listing-review-form">
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if (session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<h4>نظر بدهید</h4>
@if ($errors->any())
<div class="alert alert-danger">
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action="{{ route('flights.comments.store', $flight) }}" method="POST">
@csrf
<input type="hidden" name="parent_id" value="">
@auth
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<input type="text"
class="form-control"
value="{{ auth()->user()->first_name }}"
disabled>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input type="email"
class="form-control"
value="{{ auth()->user()->email }}"
disabled>
</div>
</div>
</div>
@else
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<input type="text"
name="guest_name"
class="form-control"
placeholder="اسم شما*"
value="{{ old('guest_name') }}">
@error('guest_name')
<span style="color: red">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input type="email"
name="guest_email"
class="form-control"
placeholder="ایمیل شما*"
value="{{ old('guest_email') }}">
@error('guest_email')
<span style="color: red">{{$message}}</span>
@enderror
</div>
</div>
</div>
@endauth
<div class="form-group">
<textarea name="content"
class="form-control"
cols="30"
rows="5"
placeholder="نظر خود را بنویسید*">{{ old('content') }}</textarea>
@error('content')
<span style="color: red">{{$message}}</span>
@enderror
</div>
<button class="theme-btn" type="submit">نظر بدهید</button>
</form>
</div>
</div>
</div>
</div>
</div>