feat: implement assets and blades layouts
This commit is contained in:
@@ -1,42 +1,158 @@
|
||||
```blade
|
||||
@extends('admin.layouts.app')
|
||||
|
||||
@section('breadcrumb')
|
||||
<div><h1 class="page-title fw-medium fs-18 mb-1">داشبورد مدیریت</h1><span class="text-muted fs-12">نمای کلی سامانه هواپیمایی و تور</span></div>
|
||||
<div>
|
||||
<p class="fw-medium fs-18 mb-0">
|
||||
سلام،
|
||||
{{ auth('admin')->user()->first_name }}
|
||||
عزیز
|
||||
</p>
|
||||
|
||||
<p class="fs-13 text-muted mb-0">
|
||||
به داشبورد خوش آمدید
|
||||
</p>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid pt-4">
|
||||
<div class="row g-3">
|
||||
@php($cards = [
|
||||
['title'=>'کاربران ثبتنامشده','value'=>$usersCount ?? 0,'icon'=>'ri-group-line','class'=>'primary'],
|
||||
['title'=>'پروازهای فعال','value'=>$flightsCount ?? 0,'icon'=>'ri-flight-takeoff-line','class'=>'success'],
|
||||
['title'=>'تورهای فعال','value'=>$toursCount ?? 0,'icon'=>'ri-map-2-line','class'=>'warning'],
|
||||
['title'=>'رزروهای در انتظار','value'=>$pendingBookings ?? 0,'icon'=>'ri-calendar-check-line','class'=>'danger'],
|
||||
])
|
||||
@foreach($cards as $card)
|
||||
<div class="col-xl-3 col-lg-6 col-md-6"><div class="card custom-card h-100"><div class="card-body"><div class="d-flex align-items-center gap-3"><div class="avatar avatar-md bg-{{ $card['class'] }} svg-white"><i class="{{ $card['icon'] }} fs-24"></i></div><div><div class="fw-medium fs-13 text-dark">{{ $card['title'] }}</div><div class="fs-22 fw-semibold text-primary mt-1">{{ number_format($card['value']) }}</div></div></div></div></div></div>
|
||||
@endforeach
|
||||
|
||||
<div class="main-content app-content">
|
||||
|
||||
<div class="container-fluid pt-4">
|
||||
|
||||
<div class="row">
|
||||
|
||||
{{-- تعداد پروازها --}}
|
||||
<div class="col-xl-4 col-lg-4 col-md-6 col-sm-12">
|
||||
|
||||
<div class="card custom-card overflow-hidden">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="d-flex gap-3">
|
||||
|
||||
<div class="avatar avatar-md bg-primary svg-white">
|
||||
|
||||
<i class="ri-flight-takeoff-line fs-24"></i>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex-fill">
|
||||
|
||||
<div class="fw-medium fs-13 mb-1 text-dark">
|
||||
تعداد پروازها
|
||||
</div>
|
||||
|
||||
<div class="fs-22 fw-semibold mb-1 text-primary">
|
||||
{{ $flightsCount }}
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center fs-11">
|
||||
<span class="text-default op-6">
|
||||
کل پروازها
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{-- تعداد کاربران --}}
|
||||
<div class="col-xl-4 col-lg-4 col-md-6 col-sm-12">
|
||||
|
||||
<div class="card custom-card overflow-hidden">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="d-flex gap-3">
|
||||
|
||||
<div class="avatar avatar-md bg-success svg-white">
|
||||
|
||||
<i class="ri-user-line fs-24"></i>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex-fill">
|
||||
|
||||
<div class="fw-medium fs-13 mb-1 text-dark">
|
||||
تعداد کاربران
|
||||
</div>
|
||||
|
||||
<div class="fs-22 fw-semibold mb-1 text-success">
|
||||
{{ $usersCount }}
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center fs-11">
|
||||
<span class="text-default op-6">
|
||||
کل کاربران
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{-- تعداد رزروها --}}
|
||||
<div class="col-xl-4 col-lg-4 col-md-6 col-sm-12">
|
||||
|
||||
<div class="card custom-card overflow-hidden">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="d-flex gap-3">
|
||||
|
||||
<div class="avatar avatar-md bg-secondary svg-white">
|
||||
|
||||
<i class="ri-bookmark-line fs-24"></i>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex-fill">
|
||||
|
||||
<div class="fw-medium fs-13 mb-1 text-dark">
|
||||
تعداد رزروها
|
||||
</div>
|
||||
|
||||
<div class="fs-22 fw-semibold mb-1 text-secondary">
|
||||
{{ $bookingsCount }}
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center fs-11">
|
||||
<span class="text-default op-6">
|
||||
کل رزروها
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row g-3 mt-1">
|
||||
<div class="col-xl-8"><div class="card custom-card"><div class="card-header"><div class="card-title">تعداد بازدید سایت در ۱۰ روز اخیر</div></div><div class="card-body"><div id="visits-chart" style="min-height:320px"></div></div></div></div>
|
||||
<div class="col-xl-4"><div class="card custom-card h-100"><div class="card-header"><div class="card-title">آخرین فعالیتها</div></div><div class="card-body"><div class="list-group list-group-flush">
|
||||
@forelse(($latestLogs ?? []) as $log)
|
||||
<div class="list-group-item px-0"><div class="d-flex justify-content-between"><span class="fw-semibold">{{ $log->action ?? 'تغییر اطلاعات' }}</span><small class="text-muted">{{ isset($log->created_at) ? $log->created_at->toJalali()->format('Y/m/d H:i') : '-' }}</small></div><div class="text-muted fs-12 mt-1">{{ $log->description ?? '' }}</div></div>
|
||||
@empty
|
||||
<div class="text-muted text-center py-5">فعالیتی برای نمایش وجود ندارد.</div>
|
||||
@endforelse
|
||||
</div></div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script src="{{ asset('assets/admin/plugins/apexcharts/apexcharts.min.js') }}"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function(){
|
||||
const el=document.querySelector('#visits-chart'); if(!el || !window.ApexCharts) return;
|
||||
new ApexCharts(el,{chart:{type:'area',height:320,toolbar:{show:false}},series:[{name:'بازدید',data:@json($visitData ?? [])}],xaxis:{categories:@json($visitLabels ?? [])},stroke:{curve:'smooth',width:3},dataLabels:{enabled:false},grid:{borderColor:'#eee'}}).render();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user