This commit is contained in:
pbao9
2026-01-30 09:46:12 +07:00
parent 8b4c93e820
commit 891fe5d161
15 changed files with 2458 additions and 1327 deletions
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="900" height="600" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect width="30" height="20" fill="#da251d"/>
<polygon points="15,4 11.47,14.85 20.71,8.15 9.29,8.15 18.53,14.85" fill="#ff0"/>
</svg>
+1
View File
@@ -0,0 +1 @@
import './bootstrap-vite';
+19
View File
@@ -0,0 +1,19 @@
import _ from 'lodash';
window._ = _;
import axios from 'axios';
window.axios = axios;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
import Echo from 'laravel-echo';
import Pusher from 'pusher-js';
window.Pusher = Pusher;
window.Echo = new Echo({
broadcaster: 'pusher',
key: import.meta.env.VITE_PUSHER_APP_KEY,
cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER,
forceTLS: true,
encrypted: true,
});
+19 -474
View File
@@ -1,484 +1,29 @@
@extends('administrator.layout.master')
@push('plugin-styles')
<link href="{{ asset('build/plugins/flatpickr/flatpickr.min.css') }}" rel="stylesheet" />
<!-- Plugin css import here -->
<link href="{{ asset('build/plugins/datatables.net-bs5/dataTables.bootstrap5.min.css') }}" rel="stylesheet" />
@endpush
@section('content')
<div class="d-flex justify-content-between align-items-center flex-wrap grid-margin">
<div>
<h4 class="mb-3 mb-md-0">Welcome to Dashboard</h4>
</div>
<div class="d-flex align-items-center flex-wrap text-nowrap">
<div class="input-group flatpickr w-200px me-2 mb-2 mb-md-0" id="dashboardDate">
<span class="input-group-text input-group-addon bg-transparent border-primary" data-toggle><i
data-lucide="calendar" class="text-primary"></i></span>
<input type="text" class="form-control bg-transparent border-primary" placeholder="Select date" data-input>
</div>
<button type="button" class="btn btn-outline-primary btn-icon-text me-2 mb-2 mb-md-0">
<i class="btn-icon-prepend" data-lucide="printer"></i>
Print
</button>
<button type="button" class="btn btn-primary btn-icon-text mb-2 mb-md-0">
<i class="btn-icon-prepend" data-lucide="download-cloud"></i>
Download Report
</button>
</div>
</div>
<div class="row">
<div class="col-12 col-xl-12 stretch-card">
<div class="row flex-grow-1">
<div class="col-md-4 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline">
<h6 class="card-title mb-0">New Customers</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="row">
<div class="col-6 col-md-12 col-xl-5">
<h3 class="mb-2">3,897</h3>
<div class="d-flex align-items-baseline">
<p class="text-success">
<span>+3.3%</span>
<i data-lucide="arrow-up" class="icon-sm mb-1"></i>
</p>
</div>
</div>
<div class="col-6 col-md-12 col-xl-7">
<div id="customersChart" class="mt-md-3 mt-xl-0"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline">
<h6 class="card-title mb-0">New Orders</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="row">
<div class="col-6 col-md-12 col-xl-5">
<h3 class="mb-2">35,084</h3>
<div class="d-flex align-items-baseline">
<p class="text-danger">
<span>-2.8%</span>
<i data-lucide="arrow-down" class="icon-sm mb-1"></i>
</p>
</div>
</div>
<div class="col-6 col-md-12 col-xl-7">
<div id="ordersChart" class="mt-md-3 mt-xl-0"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline">
<h6 class="card-title mb-0">Growth</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton2" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton2">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="row">
<div class="col-6 col-md-12 col-xl-5">
<h3 class="mb-2">89.87%</h3>
<div class="d-flex align-items-baseline">
<p class="text-success">
<span>+2.8%</span>
<i data-lucide="arrow-up" class="icon-sm mb-1"></i>
</p>
</div>
</div>
<div class="col-6 col-md-12 col-xl-7">
<div id="growthChart" class="mt-md-3 mt-xl-0"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> <!-- row -->
<div class="row">
<div class="col-12 col-xl-12 grid-margin stretch-card">
<div class="card overflow-hidden">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline mb-4 mb-md-3">
<h6 class="card-title mb-0">Revenue</h6>
<div class="dropdown">
<a type="button" id="dropdownMenuButton3" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton3">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="row align-items-start">
<div class="col-md-7">
<p class="text-secondary fs-13px mb-3 mb-md-0">Revenue is the income that a business has from its normal
business activities, usually from the sale of goods and services to customers.</p>
</div>
<div class="col-md-5 d-flex justify-content-md-end">
<div class="btn-group mb-3 mb-md-0" role="group" aria-label="Basic example">
<button type="button" class="btn btn-outline-primary">Today</button>
<button type="button" class="btn btn-outline-primary d-none d-md-block">Week</button>
<button type="button" class="btn btn-primary">Month</button>
<button type="button" class="btn btn-outline-primary">Year</button>
</div>
</div>
</div>
<div id="revenueChart"></div>
</div>
</div>
</div>
</div> <!-- row -->
<div class="row">
<div class="col-lg-7 col-xl-8 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline mb-2">
<h6 class="card-title mb-0">Monthly sales</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton4" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton4">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<p class="text-secondary">Sales are activities related to selling or the number of goods or services sold in a
given time period.</p>
<div id="monthlySalesChart"></div>
</div>
</div>
</div>
<div class="col-lg-5 col-xl-4 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline">
<h6 class="card-title mb-0">Cloud storage</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton5" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton5">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div id="storageChart"></div>
<div class="row mb-3">
<div class="col-6 d-flex justify-content-end">
<div>
<label class="d-flex align-items-center justify-content-end fs-10px text-uppercase fw-bolder">Total
storage <span class="p-1 ms-1 rounded-circle bg-secondary"></span></label>
<h5 class="fw-bolder mb-0 text-end">8TB</h5>
</div>
</div>
<div class="col-6">
<div>
<label class="d-flex align-items-center fs-10px text-uppercase fw-bolder"><span
class="p-1 me-1 rounded-circle bg-primary"></span> Used storage</label>
<h5 class="fw-bolder mb-0">~5TB</h5>
</div>
</div>
</div>
<div class="d-grid">
<button class="btn btn-primary">Upgrade storage</button>
</div>
</div>
</div>
</div>
</div> <!-- row -->
<div class="row">
<div class="col-lg-5 col-xl-4 grid-margin grid-margin-lg-0 stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline mb-2">
<h6 class="card-title mb-0">Inbox</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton6" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton6">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="d-flex flex-column">
<a href="javascript:;" class="d-flex align-items-center border-bottom pb-3">
<div class="me-3">
<img src="{{ url('https://placehold.co/35x35') }}" class="rounded-circle w-35px" alt="user">
</div>
<div class="w-100">
<div class="d-flex justify-content-between">
<h6 class="text-body mb-2">Leonardo Payne</h6>
<p class="text-secondary fs-12px">12.30 PM</p>
</div>
<p class="text-secondary fs-13px">Hey! there I'm available...</p>
</div>
</a>
<a href="javascript:;" class="d-flex align-items-center border-bottom py-3">
<div class="me-3">
<img src="{{ url('https://placehold.co/35x35') }}" class="rounded-circle w-35px" alt="user">
</div>
<div class="w-100">
<div class="d-flex justify-content-between">
<h6 class="text-body mb-2">Carl Henson</h6>
<p class="text-secondary fs-12px">02.14 AM</p>
</div>
<p class="text-secondary fs-13px">I've finished it! See you so..</p>
</div>
</a>
<a href="javascript:;" class="d-flex align-items-center border-bottom py-3">
<div class="me-3">
<img src="{{ url('https://placehold.co/35x35') }}" class="rounded-circle w-35px" alt="user">
</div>
<div class="w-100">
<div class="d-flex justify-content-between">
<h6 class="text-body mb-2">Jensen Combs</h6>
<p class="text-secondary fs-12px">08.22 PM</p>
</div>
<p class="text-secondary fs-13px">This template is awesome!</p>
</div>
</a>
<a href="javascript:;" class="d-flex align-items-center border-bottom py-3">
<div class="me-3">
<img src="{{ url('https://placehold.co/35x35') }}" class="rounded-circle w-35px" alt="user">
</div>
<div class="w-100">
<div class="d-flex justify-content-between">
<h6 class="text-body mb-2">Amiah Burton</h6>
<p class="text-secondary fs-12px">05.49 AM</p>
</div>
<p class="text-secondary fs-13px">Nice to meet you</p>
</div>
</a>
<a href="javascript:;" class="d-flex align-items-center border-bottom py-3">
<div class="me-3">
<img src="{{ url('https://placehold.co/35x35') }}" class="rounded-circle w-35px" alt="user">
</div>
<div class="w-100">
<div class="d-flex justify-content-between">
<h6 class="text-body mb-2">Yaretzi Mayo</h6>
<p class="text-secondary fs-12px">01.19 AM</p>
</div>
<p class="text-secondary fs-13px">Hey! there I'm available...</p>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="col-lg-7 col-xl-8 stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-baseline mb-2">
<h6 class="card-title mb-0">Projects</h6>
<div class="dropdown mb-2">
<a type="button" id="dropdownMenuButton7" data-bs-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="icon-lg text-secondary pb-3px" data-lucide="more-horizontal"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton7">
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="eye"
class="icon-sm me-2"></i> <span class="">View</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="edit-2"
class="icon-sm me-2"></i> <span class="">Edit</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="trash"
class="icon-sm me-2"></i> <span class="">Delete</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="printer"
class="icon-sm me-2"></i> <span class="">Print</span></a>
<a class="dropdown-item d-flex align-items-center" href="javascript:;"><i data-lucide="download"
class="icon-sm me-2"></i> <span class="">Download</span></a>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-hover mb-0">
<thead>
<tr>
<th class="pt-0">#</th>
<th class="pt-0">Project Name</th>
<th class="pt-0">Start Date</th>
<th class="pt-0">Due Date</th>
<th class="pt-0">Status</th>
<th class="pt-0">Assign</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>NobleUI jQuery</td>
<td>01/01/2025</td>
<td>26/04/2025</td>
<td><span class="badge bg-danger">Released</span></td>
<td>Leonardo Payne</td>
</tr>
<tr>
<td>2</td>
<td>NobleUI Angular</td>
<td>01/01/2025</td>
<td>26/04/2025</td>
<td><span class="badge bg-success">Review</span></td>
<td>Carl Henson</td>
</tr>
<tr>
<td>3</td>
<td>NobleUI ReactJs</td>
<td>01/05/2025</td>
<td>10/09/2025</td>
<td><span class="badge bg-info">Pending</span></td>
<td>Jensen Combs</td>
</tr>
<tr>
<td>4</td>
<td>NobleUI VueJs</td>
<td>01/01/2025</td>
<td>31/11/2025</td>
<td><span class="badge bg-warning">Work in Progress</span>
</td>
<td>Amiah Burton</td>
</tr>
<tr>
<td>5</td>
<td>NobleUI Laravel</td>
<td>01/01/2025</td>
<td>31/12/2025</td>
<td><span class="badge bg-danger">Coming soon</span></td>
<td>Yaretzi Mayo</td>
</tr>
<tr>
<td>6</td>
<td>NobleUI NodeJs</td>
<td>01/01/2025</td>
<td>31/12/2025</td>
<td><span class="badge bg-primary">Coming soon</span></td>
<td>Carl Henson</td>
</tr>
<tr>
<td class="border-bottom">3</td>
<td class="border-bottom">NobleUI EmberJs</td>
<td class="border-bottom">01/05/2025</td>
<td class="border-bottom">10/11/2025</td>
<td class="border-bottom"><span class="badge bg-info">Pending</span></td>
<td class="border-bottom">Jensen Combs</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div> <!-- row -->
<!-- Page content here -->
<x-datatable id="usersTable" ajax="{{ route('admin.users.datatable') }}" :columns="[
['key' => 'id', 'label' => 'ID'],
['key' => 'firstname', 'label' => 'First Name'],
['key' => 'lastname', 'label' => 'Last Name'],
['key' => 'email', 'label' => 'Email'],
['key' => 'created_at', 'label' => 'Created'],
// ['key' => 'actions', 'label' => 'Actions', 'orderable' => false, 'searchable' => false],
]" />
@endsection
@push('plugin-scripts')
<script src="{{ asset('build/plugins/flatpickr/flatpickr.min.js') }}"></script>
<script src="{{ asset('build/plugins/apexcharts/apexcharts.min.js') }}"></script>
@endpush
@push('plugin-scripts')
<!-- Plugin js import here -->
<script src="{{ asset('build/plugins/jquery/jquery.min.js') }}"></script>
<script src="{{ asset('build/plugins/datatables.net/dataTables.min.js') }}"></script>
<script src="{{ asset('build/plugins/datatables.net-bs5/dataTables.bootstrap5.min.js') }}"></script>
@endpush
@push('custom-scripts')
@vite(['resources/js/pages/dashboard.js'])
<!-- Custom js here -->
@vite(['resources/js/pages/data-table.js'])
@endpush
@@ -65,7 +65,7 @@
</div>
<!-- base js -->
@vite(['resources/js/app.js'])
@vite(['resources/js/app-vite.js'])
<script src="{{ asset('build/plugins/bootstrap/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('build/plugins/lucide/lucide.min.js') }}"></script>
<script src="{{ asset('build/plugins/perfect-scrollbar/perfect-scrollbar.min.js') }}"></script>
@@ -30,15 +30,15 @@
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle d-flex" href="#" id="languageDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{ url('build/images/flags/us.svg') }}" class="w-20px" title="us" alt="flag">
<span class="ms-2 d-none d-md-inline-block">English</span>
</a>
<div class="dropdown-menu" aria-labelledby="languageDropdown">
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/us.svg') }}" class="w-20px" title="us" alt="us"> <span class="ms-2"> English </span></a>
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/fr.svg') }}" class="w-20px" title="fr" alt="fr"> <span class="ms-2"> French </span></a>
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/de.svg') }}" class="w-20px" title="de" alt="de"> <span class="ms-2"> German </span></a>
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/pt.svg') }}" class="w-20px" title="pt" alt="pt"> <span class="ms-2"> Portuguese </span></a>
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/es.svg') }}" class="w-20px" title="es" alt="es"> <span class="ms-2"> Spanish </span></a>
<img src="{{ url('build/images/flags/' . (app()->getLocale() == 'vi' ? 'vn' : 'us') . '.svg') }}" class="w-20px"
title="us" alt="flag">
<span class="ms-2 d-none d-md-inline-block">{{ app()->getLocale() == 'vi' ? 'Viet Nam' : 'English' }}</span>
</a>
<div class="dropdown-menu" aria-labelledby="languageDropdown">
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/vn.svg') }}"
class="w-20px" title="us" alt="us"> <span class="ms-2"> Viet Nam </span></a>
<a href="javascript:;" class="dropdown-item py-2 d-flex"><img src="{{ url('build/images/flags/us.svg') }}"
class="w-20px" title="fr" alt="fr"> <span class="ms-2"> English </span></a>
</div>
</li>
<li class="nav-item dropdown">
@@ -0,0 +1,35 @@
@php
$dtColumns = collect($columns)->map(function ($c) {
return [
'data' => $c['key'],
'name' => $c['key'],
'orderable' => $c['orderable'] ?? true,
'searchable' => $c['searchable'] ?? true,
];
})->values();
@endphp
<div class="table-responsive">
<table id="{{ $id }}" class="table table-striped w-100">
<thead>
<tr>
@foreach($columns as $col)
<th>{{ $col['label'] }}</th>
@endforeach
</tr>
</thead>
</table>
</div>
@push('custom-scripts')
<script>
document.addEventListener('DOMContentLoaded', function () {
$('#{{ $id }}').DataTable({
processing: true,
serverSide: true,
ajax: '{{ $ajax }}',
columns: @json($dtColumns),
});
});
</script>
@endpush