Files

534 lines
17 KiB
PHP

@extends('admin.layouts.app')
@section('title', 'مدیریت پروازها')
@section('breadcrumb')
<div>
<h1 class="page-title fw-medium fs-18 mb-2">
مدیریت پروازها
</h1>
<nav>
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item">
<a href="{{ route('admin.dashboard.index') }}">
داشبورد
</a>
</li>
<li class="breadcrumb-item active">
مدیریت پروازها
</li>
</ol>
</nav>
</div>
@endsection
@section('content')
<div class="container-fluid pt-4">
{{-- عنوان و عملیات --}}
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-body p-3">
<div class="d-flex align-items-center justify-content-between flex-wrap gap-3">
<div>
<h5 class="mb-1">
مدیریت پروازها
</h5>
<p class="text-muted mb-0 fs-12">
لیست پروازهای ثبت شده در سیستم
</p>
</div>
<div>
@if(auth('admin')->user()?->canManageFlights('create'))
<a href="{{ route('admin.flights.create') }}"
class="btn btn-primary">
<i class="fa fa-plus me-1"></i>
پرواز جدید
</a>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
{{-- جستجو و فیلتر --}}
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-body">
<form
method="GET"
action="{{ route('admin.flights.index') }}"
>
<div class="row g-3 align-items-end">
{{-- جستجو --}}
<div class="col-xl-6 col-lg-5 col-md-6">
<label class="form-label">
جستجوی پرواز
</label>
<input
type="text"
name="q"
class="form-control"
placeholder="شماره پرواز، ایرلاین، مبدأ یا مقصد..."
value="{{ request('q') }}"
>
</div>
{{-- وضعیت --}}
<div class="col-xl-2 col-lg-3 col-md-3">
<label class="form-label">
وضعیت
</label>
<select
name="status"
class="form-select"
>
<option value="">
همه وضعیت‌ها
</option>
<option
value="1"
{{ request('status') === '1' ? 'selected' : '' }}
>
فعال
</option>
<option
value="0"
{{ request('status') === '0' ? 'selected' : '' }}
>
غیرفعال
</option>
</select>
</div>
{{-- جستجو --}}
<div class="col-xl-2 col-lg-2 col-md-3">
<button
type="submit"
class="btn btn-primary w-100"
>
<i class="fa fa-search me-1"></i>
جستجو
</button>
</div>
{{-- پاک کردن --}}
<div class="col-xl-2 col-lg-2 col-md-3">
<a
href="{{ route('admin.flights.index') }}"
class="btn btn-light w-100"
>
<i class="fa fa-refresh me-1"></i>
پاک کردن
</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
{{-- جدول پروازها --}}
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover align-middle text-nowrap mb-0">
<thead>
<tr>
<th>
#
</th>
<th>
شماره پرواز
</th>
<th>
نوع سفر
</th>
<th>
ایرلاین
</th>
<th>
مسیر
</th>
<th>
تاریخ حرکت
</th>
<th>
قیمت
</th>
<th>
وضعیت
</th>
<th>
عملیات
</th>
</tr>
</thead>
<tbody>
@forelse($flights as $flight)
<tr>
{{-- شناسه --}}
<td>
{{ $flight->id }}
</td>
{{-- شماره پرواز --}}
<td>
<span class="fw-semibold">
{{ $flight->flight_number }}
</span>
</td>
{{-- نوع سفر --}}
<td>
@if($flight->travelType)
<span class="badge bg-primary-transparent">
{{ $flight->travelType->title }}
</span>
@else
<span class="text-muted">
—
</span>
@endif
</td>
{{-- ایرلاین --}}
<td>
{{ $flight->airline_name }}
</td>
{{-- مسیر --}}
<td>
<span class="badge bg-primary-transparent">
{{ $flight->origin }}
</span>
<span class="mx-1 text-muted">
←
</span>
<span class="badge bg-info-transparent">
{{ $flight->destination }}
</span>
</td>
{{-- تاریخ حرکت --}}
<td>
@if($flight->departure_date)
<span class="fw-medium">
{{ $flight->departure_date
->toJalali()
->format('Y/m/d') }}
</span>
@else
<span class="text-muted">
—
</span>
@endif
@if($flight->departure_time)
<br>
<small class="text-muted">
{{ $flight->departure_time->format('H:i') }}
</small>
@endif
</td>
{{-- قیمت --}}
<td>
<span class="fw-medium">
{{ number_format($flight->price) }}
</span>
<small class="text-muted">
تومان
</small>
</td>
{{-- وضعیت --}}
<td>
@if((int) $flight->status === 1)
<span class="badge bg-success-transparent">
فعال
</span>
@else
<span class="badge bg-danger-transparent">
غیرفعال
</span>
@endif
</td>
{{-- عملیات --}}
<td>
<div class="d-flex align-items-center gap-2">
{{-- مشاهده --}}
@if(auth('admin')->user()?->canManageFlights('view'))
<a
href="{{ route('admin.flights.show', $flight) }}"
class="btn btn-info-light btn-sm"
>
<i class="fa fa-eye me-1"></i>
مشاهده
</a>
@endif
{{-- ویرایش --}}
@if(auth('admin')->user()?->canManageFlights('update'))
<a
href="{{ route('admin.flights.edit', $flight) }}"
class="btn btn-warning-light btn-sm"
>
<i class="fa fa-edit me-1"></i>
ویرایش
</a>
@endif
{{-- حذف --}}
@if(auth('admin')->user()?->canManageFlights('delete'))
<form
action="{{ route('admin.flights.destroy', $flight) }}"
method="POST"
class="d-inline"
onsubmit="return confirm('آیا از حذف این پرواز مطمئن هستید؟');"
>
@csrf
@method('DELETE')
<button
type="submit"
class="btn btn-danger-light btn-sm"
>
<i class="fa fa-trash me-1"></i>
حذف
</button>
</form>
@endif
</div>
</td>
</tr>
@empty
<tr>
<td
colspan="9"
class="text-center py-5"
>
<div class="text-muted">
<i class="fa fa-plane fs-2 mb-3 d-block"></i>
<div>
پروازی برای نمایش وجود ندارد.
</div>
</div>
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
@if($flights->hasPages())
<div class="card-footer">
<div class="d-flex justify-content-center">
{{ $flights->links() }}
</div>
</div>
@endif
</div>
</div>
</div>
</div>
@endsection