classify admin

This commit is contained in:
Husanjonazamov
2026-02-24 12:52:01 +05:00
commit e0f1989655
769 changed files with 1263008 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<!----- THIS FORM USE FOR DELETE ---->
<footer class="footer mt-3">
<div class="container-fluid">
<div class="foot_text text-end">
©
<script>
document.write(new Date().getFullYear())
</script>
|{{ config('app.name') }}
</div>
</div>
</footer>

View File

@@ -0,0 +1,316 @@
<script type="text/javascript" src="{{ asset('assets/js/apexcharts.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/jquery.min.js')}}"></script>
<script type="text/javascript" src="{{ asset('assets/js/popper.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/bootstrap.min.js')}}"></script>
<script type="text/javascript" src="{{ asset('assets/js/app.js') }}"></script>
{{-- Firebasejs 8.10.0--}}
{{--<script type="text/javascript" src="{{ asset('assets/js/firebase-app.js')}}"></script>--}}
{{--<script type="text/javascript" src="{{ asset('assets/js/firebase-messaging.js')}}"></script>--}}
{{--Sweet Alert --}}
<script type="text/javascript" src="{{ asset('assets/extensions/sweetalert2/sweetalert2.min.js') }}"></script>
{{--Tiny MCE--}}
<script type="text/javascript" src="{{ asset('assets/extensions/tinymce/tinymce.min.js') }}"></script>
{{--Jquery Vector Map--}}
<script type="text/javascript" src="{{ asset('assets/extensions/jquery-vector-map/jquery-jvectormap-2.0.5.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/jquery-vector-map/jquery-jvectormap-asia-merc.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/jquery-vector-map/jquery-jvectormap-world-mill-en.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/jquery-vector-map/jquery-jvectormap-world-mill.js') }}"></script>
{{--Toastify--}}
<script type="text/javascript" src="{{ asset('assets/extensions/toastify-js/toastify.js') }}"></script>
{{--Parsley--}}
<script type="text/javascript" src="{{ asset('assets/js/parsley.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/pages/parsley.js') }}"></script>
{{--Magnific Popup--}}
<script type="text/javascript" src="{{ asset('assets/extensions/magnific-popup/jquery.magnific-popup.min.js') }}"></script>
{{--Select2--}}
<script type="text/javascript" src="{{ asset('assets/extensions/select2/select2.min.js') }}"></script>
{{--Tagify--}}
<script type="text/javascript" src="{{ asset('assets/extensions/tagify/tagify.js') }}"></script>
{{--Jquery UI--}}
<script type="text/javascript" src="{{ asset('assets/extensions/jquery-ui/jquery-ui.min.js') }}"></script>
{{--Clipboard JS--}}
<script type="text/javascript" src="{{ asset('assets/js/clipboard.min.js') }}"></script>
{{--Filepond--}}
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond.jquery.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond-plugin-image-preview.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond-plugin-pdf-preview.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond-plugin-file-validate-size.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond-plugin-file-validate-type.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/filepond/filepond-plugin-image-validate-size.min.js') }}"></script>
{{--JS Tree--}}
<script src="{{asset("assets/extensions/jstree/jstree.min.js")}}"></script>
{{-- Custom JS --}}
<script type="text/javascript" src="{{ asset('assets/js/custom/common.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/custom/custom.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/custom/function.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/custom/bootstrap-table/formatter.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/custom/bootstrap-table/queryParams.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/custom/bootstrap-table/actionEvents.js') }}"></script>
{{--Bootstrap Table--}}
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/bootstrap-table.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/fixed-columns/bootstrap-table-fixed-columns.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/mobile/bootstrap-table-mobile.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/jquery.tablednd.min.js')}}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/bootstrap-table.min.js')}}"></script>
<script type="text/javascript" src="{{ asset('assets/extensions/bootstrap-table/bootstrap-table-reorder-rows.min.js')}}"></script>
<script type="text/javascript" src="{{asset('assets/extensions/bootstrap-table/export/bootstrap-table-export.min.js')}}"></script>
<script type="text/javascript" src="{{asset('assets/extensions/bootstrap-table/export/tableExport.min.js')}}"></script>
<script type="text/javascript" src="{{asset('assets/extensions/bootstrap-table/export/jspdf.umd.min.js')}}"></script>
<script type="text/javascript" src="{{asset('assets/extensions/bootstrap-table/mobile/bootstrap-table-mobile.min.js')}}"></script>
<script type="text/javascript" src="{{asset('assets/extensions/bootstrap-table/filter/bootstrap-table-filter-control.min.js')}}"></script>
{{--Language Translation--}}
<script src="{{route('common.language.read')}}"></script>
<script src="{{ asset('assets/js/leaflet.js') }}"></script>
<script src="{{ asset('assets/js/map.js') }}"></script>
<script src="{{ asset('assets/js/bundle.min.js') }}"></script>
{{-- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> --}}
{{--<script src="https://harvesthq.github.io/chosen/chosen.jquery.js"></script>--}}
{{--<script src="https://bevacqua.github.io/dragula/dist/dragula.js"></script>--}}
<script type="text/javascript">
window.baseurl = "{{ URL::to('/') }}/";
@if (Session::has('success'))
showSuccessToast("{{ Session::get('success') }}")
@endif
{{-- @if (Session::has('errors'))--}}
{{-- @if(is_array(Session::get('errors')))--}}
{{-- @foreach ($errors->all() as $error)--}}
{{-- showErrorToast("{{ $error }}")--}}
{{-- @endforeach--}}
{{-- @else--}}
{{-- @dd(Session::get('errors'))--}}
{{-- console.log("{{ Session::get('errors') }}")--}}
{{-- showErrorToast("{{ Session::get('errors')->message }}")--}}
{{-- @endif--}}
{{-- @endif--}}
@if ($errors->any())
@foreach ($errors->all() as $error)
showErrorToast("{!! $error !!}");
@endforeach
@endif
@if (Session::has('error'))
showErrorToast('{!! Session::get('error') !!}')
@endif
</script>
<script>
// Dynamic translation loading function
function loadTableTranslations() {
@php
$tableKeys = [
"Search...",
"Refresh",
"Toggle",
"Columns",
"Detail",
"Detail Formatter",
"Previous",
"Next",
"First",
"Last",
"Showing {ctx.start} to {ctx.end} of {ctx.total} entries",
"Export Data",
"Toggle Columns",
"No description",
"No image",
"No date",
"No price",
"Active",
"Inactive",
"Pending",
"Approved",
"Rejected",
"Published",
"Draft",
"No matching records found",
"rows per page" // Add this new key
];
// Get current language from session or default
$currentLang = session('locale', config('app.locale', 'en'));
// Load translations for current language
$translations = [];
foreach ($tableKeys as $key) {
$translations[$key] = __($key);
}
@endphp
window.tableTranslations = @json($translations);
// Force update all translatable tables
$('.translatable-table').each(function() {
const $table = $(this);
const tableId = $table.attr('id');
// Update table attributes with new translations
$table.attr({
'data-search-placeholder': window.trans('Search...'),
'data-refresh-text': window.trans('Refresh'),
'data-toggle-text': window.trans('Toggle'),
'data-columns-text': window.trans('Columns'),
'data-detail-view-text': window.trans('Detail'),
'data-detail-formatter-text': window.trans('Detail Formatter'),
'data-pagination-pre-text': window.trans('Previous'),
'data-pagination-next-text': window.trans('Next'),
'data-pagination-first-text': window.trans('First'),
'data-pagination-last-text': window.trans('Last'),
'data-pagination-info-text': window.trans('Showing {ctx.start} to {ctx.end} of {ctx.total} entries'),
'data-pagination-info-formatted': window.trans('Showing {ctx.start} to {ctx.end} of {ctx.total} entries')
});
// Force complete table refresh
if ($table.hasClass('bootstrap-table')) {
// Get current table options
const tableOptions = $table.bootstrapTable('getOptions');
// Destroy the table
$table.bootstrapTable('destroy');
// Re-initialize with new translations
$table.bootstrapTable(tableOptions);
}
});
// Manually update search placeholder, pagination text, and no records message
setTimeout(function() {
updateSearchAndPagination();
updateNoRecordsMessage();
updateRowsPerPageText(); // Add this new function call
}, 500);
}
// Function to manually update search and pagination
function updateSearchAndPagination() {
// Update search placeholder
$('.search-input').attr('placeholder', window.trans('Search...'));
// Update pagination info text
$('.pagination-info').each(function() {
const $info = $(this);
const currentText = $info.text();
// Extract numbers from current text (e.g., "Showing 1 to 4 of 4 rows")
const match = currentText.match(/Showing (\d+) to (\d+) of (\d+) rows/);
if (match) {
const start = match[1];
const end = match[2];
const total = match[3];
// Replace with translated text
const translatedText = window.trans('Showing {ctx.start} to {ctx.end} of {ctx.total} entries')
.replace('{ctx.start}', start)
.replace('{ctx.end}', end)
.replace('{ctx.total}', total);
$info.text(translatedText);
}
});
// Update refresh button title
$('button[name="refresh"]').attr('title', window.trans('Refresh'));
// Update columns button title
$('button[aria-label="Columns"]').attr('title', window.trans('Columns'));
// Update export button title
$('button[aria-label="Export data"]').attr('title', window.trans('Export Data'));
}
// Function to update "No matching records found" message
function updateNoRecordsMessage() {
$('.no-records-found td').each(function() {
const $cell = $(this);
const currentText = $cell.text();
if (currentText === 'No matching records found') {
$cell.text(window.trans('No matching records found'));
}
});
}
// Add this new function to handle "rows per page" text
// function updateRowsPerPageText() {
// $('.page-list').each(function() {
// const $pageList = $(this);
// const currentText = $pageList.text();
// if (currentText.includes('rows per page')) {
// const translatedText = currentText.replace('rows per page', window.trans('rows per page'));
// $pageList.text(translatedText);
// }
// });
// }
function updateRowsPerPageText() {
$('.page-list').each(function() {
const $pageList = $(this);
// Use a more specific selector to find the text after the dropdown
const $dropdown = $pageList.find('.btn-group');
if ($dropdown.length) {
// Get all text nodes after the dropdown
let found = false;
$pageList.contents().each(function() {
if (this.nodeType === 3 && !found) { // Text node
const text = this.textContent.trim();
if (text === 'rows per page') {
this.textContent = window.trans('rows per page');
found = true;
}
}
});
}
});
}
// Translation helper
window.trans = function(key) {
return window.tableTranslations && window.tableTranslations[key] ? window.tableTranslations[key] : key;
};
// Load translations on page load
loadTableTranslations();
// Also update when table is refreshed
$(document).on('post-body.bs.table', function() {
setTimeout(function() {
updateSearchAndPagination();
updateNoRecordsMessage();
updateRowsPerPageText(); // Add this new function call
}, 100);
});
// Also update when table data is loaded
$(document).on('load-success.bs.table', function() {
setTimeout(function() {
updateSearchAndPagination();
updateNoRecordsMessage();
updateRowsPerPageText(); // Add this new function call
}, 100);
});
</script>
<script src="{{ asset('assets/js/custom/table-translations.js') }}"></script>

View File

@@ -0,0 +1,115 @@
@php
// $lang = Session::get('language');
// dd($lang);
@endphp
@if (empty($lang) || !$lang->rtl)
{{-- NON RTL CSS --}}
<link rel="stylesheet" href="{{ asset('assets/css/main/app.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/pages/otherpages.css') }}" />
<link rel="stylesheet" href="{{ asset('assets/css/custom.css') }}" />
@else
{{-- RTL CSS --}}
<link rel="stylesheet" href="{{ asset('assets/css/main/rtl.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/pages/otherpages_rtl.css') }}" />
<link rel="stylesheet" href="{{ asset('assets/css/custom.css') }}" />
@endif
{{-- Bootstrap Switch --}}
<link rel="stylesheet" href="{{ asset('assets/css/bootstrap-switch-button.min.css') }}">
{{-- Toastify --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/toastify-js/toastify.css') }}">
{{-- Bootstrap Table --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/bootstrap-table/bootstrap-table.min.css') }}"
type="text/css" />
<link rel="stylesheet"
href="{{ asset('assets/extensions/bootstrap-table/fixed-columns/bootstrap-table-fixed-columns.min.css') }}"
type="text/css" />
<link rel="stylesheet" href="{{ asset('assets/extensions/bootstrap-table/bootstrap-table-reorder-rows.css') }}">
{{-- Font Awesome --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/@fortawesome/fontawesome-free/css/all.min.css') }}"
type="text/css" />
{{-- Magnific Popup --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/magnific-popup/magnific-popup.css') }}">
{{-- Select2 --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/select2/select2.min.css') }}" />
<link rel="stylesheet" href="{{ asset('assets/extensions/select2/select2-bootstrap-5-theme.min.css') }}" />
{{-- Tagify --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/tagify/tagify.css') }}" type="text/css" />
{{-- Sweet Alert --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/sweetalert2/sweetalert2.min.css') }}" />
{{-- Filepond --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/filepond/filepond.min.css') }}" type="text/css" />
<link rel="stylesheet" href="{{ asset('assets/extensions/filepond/filepond-plugin-image-preview.min.css') }}"
type="text/css" />
<link rel="stylesheet" href="{{ asset('assets/extensions/filepond/filepond-plugin-pdf-preview.min.css') }}"
type="text/css" />
{{-- Jquery Vectormap --}}
<link rel="stylesheet" href="{{ asset('assets/css/pages/jquery-jvectormap-2.0.5.css') }}" type="text/css" />
{{-- JS Tree --}}
<link rel="stylesheet" href="{{ asset('assets/extensions/jstree/jstree.min.css') }}" />
{{-- <link href="https://cdn.datatables.net/1.13.2/css/dataTables.bootstrap5.min.css" rel="stylesheet"/> --}}
{{-- <link rel="stylesheet" href="{{ url('assets/extensions/chosen.css') }}"/> --}}
<link rel="stylesheet" href="{{ asset('assets/css/leaflet.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/map.css') }}">
@yield('css')
<script>
// Function to handle image errors
function handleImageError(image) {
image.classList.contains('custom-default-image')
if (image.getAttribute('data-custom-image') != null) {
image.src = image.getAttribute('data-custom-image');
} else {
image.src = "{{ asset('/assets/images/no_image_available.png') }}";
}
// console.log('Image failed to load: ' + image.src);
}
// Create a MutationObserver to watch for DOM changes
const observer = new MutationObserver((mutationsList) => {
mutationsList.forEach((mutation) => {
if (mutation.addedNodes) {
mutation.addedNodes.forEach((node) => {
// Check if the added node is an image element
if (node instanceof HTMLImageElement) {
node.addEventListener('error', () => {
handleImageError(node);
});
}
});
}
});
});
// Start observing changes in the DOM
observer.observe(document, {
childList: true,
subtree: true
});
const onErrorImage = (e) => {
if (!e.target.src.includes('no_image_available.png')) {
e.target.src = "{{ asset('/assets/images/no_image_available.png') }}";
}
};
{{-- const onErrorImageSidebarHorizontalLogo = (e) => { --}}
{{-- if (!e.target.src.includes('no_image_available.jpg')) { --}}
{{-- e.target.src = "{{asset('/assets/vertical-logo.svg')}}"; --}}
{{-- } --}}
{{-- }; --}}
</script>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="{{ $favicon ?? url('assets/images/logo/favicon.png') }}" type="image/x-icon">
<title>@yield('title') || {{ config('app.name') }}</title>
<meta name="csrf-token" content="{{ csrf_token() }}"/>
@include('layouts.include')
@yield('css')
</head>
<body>
<div id="app">
@include('layouts.sidebar')
<div id="main" class='layout-navbar'>
@include('layouts.topbar')
<div id="main-content">
<div class="page-heading">
@yield('page-title')
</div>
@yield('content')
</div>
</div>
<div class="wrapper mt-5">
<div class="content">
@include('layouts.footer')
</div>
</div>
</div>
@include('layouts.footer_script')
@yield('js')
@yield('script')
</body>
</html>

View File

@@ -0,0 +1,341 @@
<div id="sidebar" class="active">
<div class="sidebar-wrapper active">
<div class="sidebar-header position-relative">
<div class="d-block">
<div class="logo text-center">
<a href="{{ url('home') }}">
<img src="{{ $company_logo ?? '' }}"
data-custom-image="{{ url('assets/images/logo/sidebar_logo.png') }}" alt="Logo"
srcset="">
</a>
</div>
</div>
</div>
<div class="sidebar-menu">
<ul class="menu">
<li class="sidebar-item">
<a href="{{ url('home') }}" class='sidebar-link'>
<i class="bi bi-house"></i>
<span class="menu-item">{{ __('Dashboard') }}</span>
</a>
</li>
@canany(['category-list', 'category-create', 'category-update', 'category-delete', 'custom-field-list',
'custom-field-create', 'custom-field-update', 'custom-field-delete'])
<div class="sidebar-new-title">{{ __('Ads Listing') }}</div>
@canany(['category-list', 'category-create', 'category-update', 'category-delete'])
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('category.index') }}" class='sidebar-link'>
<i class="bi bi-list-task"></i>
<span class="menu-item">{{ __('Categories') }}</span>
</a>
</li>
@endcanany
@canany(['custom-field-list', 'custom-field-create', 'custom-field-update', 'custom-field-delete'])
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('custom-fields.index') }} " class='sidebar-link'>
<i class="bi bi-columns-gap"></i>
<span class="menu-item">{{ __('Custom Fields') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['item-list', 'item-create', 'item-update', 'item-delete', 'tip-list', 'tip-create',
'tip-update', 'tip-delete'])
<div class="sidebar-new-title">{{ __('Advertisement Management') }}</div>
@canany(['item-list', 'item-create', 'item-update', 'item-delete'])
<li class="sidebar-item">
<a href="{{ route('advertisement.index') }}" class='sidebar-link'>
<i class="bi bi-ui-radios-grid"></i>
<span class="menu-item">{{ __('Advertisement') }}</span>
</a>
</li>
@endcanany
@canany(['tip-list', 'tip-create', 'tip-update', 'tip-delete'])
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('tips.index') }}" class='sidebar-link'>
<i class="bi bi-info-circle"></i>
<span class="menu-item">{{ __('Tips') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['advertisement-listing-package-list', 'advertisement-listing-package-create',
'advertisement-listing-package-update', 'advertisement-listing-package-delete',
'featured-advertisement-package-list', 'featured-advertisement-package-create',
'featured-advertisement-package-update', 'featured-advertisement-package-delete', 'user-package-list',
'payment-transactions-list'])
<div class="sidebar-new-title">{{ __('Package Management') }}</div>
@canany(['advertisement-listing-package-list', 'advertisement-listing-package-create',
'advertisement-listing-package-update', 'advertisement-listing-package-delete',
'featured-advertisement-package-list', 'featured-advertisement-package-create',
'featured-advertisement-package-update', 'featured-advertisement-package-delete'])
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('package.index') }}" class='sidebar-link'>
<i class="bi bi-box-seam"></i>
<span class="menu-item">{{ __('Subscription Packages') }}</span>
</a>
</li>
@endcanany
@can('user-package-list')
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('package.users.index') }}" class='sidebar-link'>
<i class="bi bi-person-badge-fill"></i>
<span class="menu-item">{{ __('User Packages') }}</span>
</a>
</li>
@endcan
@can('payment-transactions-list')
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('package.payment-transactions.index') }}" class='sidebar-link'>
<i class="bi bi-cash-coin"></i>
<span class="menu-item">{{ __('Payment Transactions') }}</span>
</a>
</li>
@endcan
@can('payment-transactions-list')
<li class="sidebar-item sidebar-submenus">
<a href="{{ route('package.bank-transfer.index') }}" class='sidebar-link'>
<i class="bi bi-bank"></i>
<span class="menu-item">{{ __('Bank Transfer') }}</span>
</a>
</li>
@endcan
@endcanany
@canany(['seller-verification-field-list', 'seller-verification-field-create',
'seller-verification-field-update', 'seller-verification-field-delete',
'seller-verification-request-list', 'seller-verification-request-create',
'seller-verification-request-update', 'seller-verification-request-delete', 'seller-review-list',
'seller-review-update', 'seller-review-delete'])
<div class="sidebar-new-title">{{ __('Seller Management') }}</div>
@canany(['seller-verification-field-list', 'seller-verification-field-create',
'seller-verification-field-update', 'seller-verification-field-delete'])
<li class="sidebar-item">
<a href="{{ route('seller-verification.verification-field') }}" class='sidebar-link'>
<i class="bi bi-grid-1x2"></i>
<span class="menu-item">{{ __('Verification Fields') }}</span>
</a>
</li>
@endcanany
@canany(['seller-verification-request-list', 'seller-verification-request-create',
'seller-verification-request-update', 'seller-verification-request-delete'])
<li class="sidebar-item">
<a href="{{ route('seller-verification.index') }}" class='sidebar-link'>
<i class="bi bi-person-check"></i>
<span class="menu-item">{{ __('Seller Verification') }}</span>
</a>
</li>
@endcanany
@canany(['seller-review-list', 'seller-review-update', 'seller-review-delete'])
<li class="sidebar-item">
<a href="{{ route('seller-review.index') }}" class='sidebar-link'>
<i class="bi bi-star-half"></i>
<span class="menu-item">{{ __('Seller Review') }}</span>
</a>
</li>
@endcanany
@canany(['seller-review-list', 'seller-review-update', 'seller-review-delete'])
<li class="sidebar-item">
<a href="{{ route('seller-review.create') }}" class='sidebar-link'>
<i class="bi bi-list-stars"></i>
<span class="menu-item">{{ __('Seller Review Report') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['slider-list', 'slider-create', 'slider-update', 'slider-delete', 'feature-section-list',
'feature-section-create', 'feature-section-update', 'feature-section-delete'])
<div class="sidebar-new-title">{{ __('Home Screen Management') }}</div>
@canany(['slider-list', 'slider-create', 'slider-update', 'slider-delete'])
<li class="sidebar-item">
<a href="{{ url('slider') }}" class='sidebar-link'>
<i class="bi bi-sliders2"></i>
<span class="menu-item">{{ __('Slider') }}</span>
</a>
</li>
@endcanany
@canany(['feature-section-list', 'feature-section-create', 'feature-section-update',
'feature-section-delete'])
<li class="sidebar-item">
<a href="{{ route('feature-section.index') }}" class='sidebar-link'>
<i class="bi bi-grid-1x2"></i>
<span class="menu-item">{{ __('Feature Section') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['currency-list', 'currency-create', 'currency-update', 'currency-delete', 'country-list',
'country-create', 'country-update', 'country-delete', 'state-list', 'state-create', 'state-update',
'state-delete', 'city-list', 'city-create', 'city-update', 'city-delete'])
<div class="sidebar-new-title">{{ __('Place/Location Management') }}</div>
@canany(['currency-list', 'currency-create', 'currency-update', 'currency-delete'])
<li class="sidebar-item">
<a href="{{ route('currency.index') }}" class='sidebar-link'>
<i class="bi bi-cash-stack"></i>
<span class="menu-item">{{ __('Currencies') }}</span>
</a>
</li>
@endcanany
@canany(['country-list', 'country-create', 'country-update', 'country-delete'])
<li class="sidebar-item">
<a href="{{ route('countries.index') }}" class='sidebar-link'>
<i class="bi bi-globe"></i>
<span class="menu-item">{{ __('Countries') }}</span>
</a>
</li>
@endcanany
@canany(['state-list', 'state-create', 'state-update', 'state-delete'])
<li class="sidebar-item">
<a href="{{ route('states.index') }}" class='sidebar-link'>
<i class="fa fa-map-marked-alt"></i>
<span class="menu-item">{{ __('States') }}</span>
</a>
</li>
@endcanany
@canany(['city-list', 'city-create', 'city-update', 'city-delete'])
<li class="sidebar-item">
<a href="{{ route('cities.index') }}" class='sidebar-link'>
<i class="fa fa-map-marker-alt"></i>
<span class="menu-item">{{ __('Cities') }}</span>
</a>
</li>
@endcanany
@canany(['area-list', 'area-create', 'area-update', 'area-delete'])
<li class="sidebar-item">
<a href="{{ route('area.index') }}" class='sidebar-link'>
<i class="fa fa-map-marker"></i>
<span class="menu-item">{{ __('Areas') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['report-reason-list', 'report-reason-create', 'report-reason-update', 'report-reason-delete',
'user-reports-list'])
<div class="sidebar-new-title">{{ __('Reports Management') }}</div>
@canany(['report-reason-list', 'report-reason-create', 'report-reason-update', 'report-reason-delete'])
<li class="sidebar-item">
<a href="{{ route('report-reasons.index') }}" class='sidebar-link'>
<i class="bi bi-flag"></i>
<span class="menu-item">{{ __('Report Reasons') }}</span>
</a>
</li>
@endcanany
@canany(['user-reports-list'])
<li class="sidebar-item">
<a href="{{ route('report-reasons.user-reports.index') }}" class='sidebar-link'>
<i class="bi bi-person"></i>
<span class="menu-item">{{ __('User Reports') }}</span>
</a>
</li>
@endcanany
@endcanany
<div class="sidebar-new-title">{{ __('Promotional Management') }}</div>
@canany(['notification-list', 'notification-create', 'notification-update', 'notification-delete'])
<li class="sidebar-item">
<a href="{{ url('notification') }}" class='sidebar-link'>
<i class="bi bi-bell"></i>
<span class="menu-item">{{ __('Send Notification') }}</span>
</a>
</li>
@endcanany
@canany(['customer-list', 'customer-create', 'customer-update', 'customer-delete'])
<div class="sidebar-new-title">{{ __('Customers') }}</div>
<li class="sidebar-item">
<a href="{{ url('customer') }}" class='sidebar-link'>
<i class="bi bi-people"></i>
<span class="menu-item">{{ __('Customers') }}</span>
</a>
</li>
@endcanany
@canany(['role-list', 'role-create', 'role-update', 'role-delete', 'staff-list', 'staff-create',
'staff-update', 'staff-delete'])
<div class="sidebar-new-title">{{ __('Staff Management') }}</div>
@canany(['role-list', 'role-create', 'role-update', 'role-delete'])
<li class="sidebar-item">
<a href="{{ route('roles.index') }}" class='sidebar-link'>
<i class="bi bi-person-bounding-box"></i>
<span class="menu-item">{{ __('Role') }}</span>
</a>
</li>
@endcanany
@canany(['staff-list', 'staff-create', 'staff-update', 'staff-delete'])
<li class="sidebar-item">
<a href="{{ route('staff.index') }}" class='sidebar-link'>
<i class="bi bi-person-badge"></i>
<span class="menu-item">{{ __('Staff Management') }}</span>
</a>
</li>
@endcanany
@endcanany
@canany(['blog-ist', 'blog-create', 'blog-update', 'blog-delete'])
<div class="sidebar-new-title">{{ __('Blog Management') }}</div>
<li class="sidebar-item">
<a href="{{ route('blog.index') }}" class='sidebar-link'>
<i class="bi bi-pencil"></i>
<span class="menu-item">{{ __('Blogs') }}</span>
</a>
</li>
@endcanany
@canany(['faq-create', 'faq-list', 'faq-update', 'faq-delete'])
<div class="sidebar-new-title">{{ __('FAQ') }}</div>
<li class="sidebar-item">
<a href="{{ route('faq.index') }}" class='sidebar-link'>
<i class="bi bi-question-square-fill"></i>
<span class="menu-item">{{ __('FAQs') }}</span>
</a>
</li>
@endcanany
@canany(['user-queries-list'])
<div class="sidebar-new-title">{{ __('Web') }}</div>
<li class="sidebar-item">
<a href="{{ route('contact-us.index') }}" class='sidebar-link'>
<i class="bi bi-person-bounding-box"></i>
<span class="menu-item">{{ __('User Queries') }}</span>
</a>
</li>
@endcanany
@canany(['settings-update'])
<div class="sidebar-new-title">{{ __('System Settings') }}</div>
@can('settings-update')
<li class="sidebar-item">
<a href="{{ route('settings.index') }}" class='sidebar-link'>
<i class="bi bi-gear"></i>
<span class="menu-item">{{ __('Settings') }}</span>
</a>
</li>
@endcan
@if (\Illuminate\Support\Facades\Auth::user()->hasRole('Super Admin'))
<li class="sidebar-item">
<a href="{{ route('system-update.index') }}" class='sidebar-link'>
<i class="bi bi-laptop"></i>
<span class="menu-item">{{ __('System Update') }}</span>
</a>
</li>
@endif
@endcanany
</ul>
</div>
</div>
</div>

View File

@@ -0,0 +1,109 @@
<header>
<nav class="navbar navbar-expand navbar-light" style="background-color: white;">
<div class="container-fluid">
<div class="col-6 row d-flex align-items-center">
<div class="col-1 me-3 me-md-2">
<a href="#" class="burger-btn d-block">
<i class="bi bi-justify fs-3"></i>
</a>
</div>
@if (config('app.demo_mode'))
<div class="col-2">
<span class="badge alert-info primary-background-color">Demo Mode</span>
</div>
@endif
</div>
<div class="col-6 justify-content-end d-flex">
<div class="collapse navbar-collapse">
<div class="dropdown me-3">
<a href="#" class="user-dropdown d-flex align-items-center dropdown-toggle"
data-bs-toggle="dropdown">
<button class="dropdown-btn">
<img src="{{ $currentLanguage?->image }}" class="flag">
<span>{{ strtoupper($currentLanguage?->code) }}</span>
<span class="arrow">&#9662;</span>
</button>
</a>
{{-- {{ print_r($currentLanguage) }} --}}
<ul class="dropdown-menu dropdown-menu-end">
@foreach ($languages as $language)
<li class="d-flex justify-content-between align-items-center px-2 py-1">
<a class="dropdown-item d-flex align-items-center flex-grow-1"
href="{{ route('language.set-current', $language->code) }}">
<img src="{{ $language->image }}" class="flag me-2">
{{ $language->name }}
</a>
<form action="{{ route('settings.set-default-language') }}" method="POST"
class="ms-2">
@csrf
<input type="hidden" name="default_language" value="{{ $language->code }}">
<button type="submit" class="btn btn-sm btn-primary py-0 px-2"
@if ($defaultLanguage && $defaultLanguage->code == $language->code) disabled @endif>
{{ $defaultLanguage && $defaultLanguage->code == $language->code ? __('Default') : __('Set Default') }}
</button>
</form>
</li>
@endforeach
</ul>
</div>
<div class="dropdown">
<a href="#" id="profileDropdown"
class="user-dropdown d-flex align-items-center dropend dropdown-toggle"
data-bs-toggle="dropdown" aria-expanded="false">
<div class="avatar avatar-md2 flex-shrink-0">
<img
src="{{ Auth::user()->profile == '' ? url('assets/images/faces/2.jpg') : Auth::user()->profile }}"
alt="Profile"
class="img-fluid rounded-circle">
</div>
<!-- Admin name visible on all screens -->
<div class="text ms-2">
<h6 class="user-dropdown-name mb-0 text-truncate" style="max-width:120px;">
{{ Auth::user()->name }}
</h6>
</div>
</a>
<ul class="dropdown-menu dropdown-menu-end topbarUserDropdown"
aria-labelledby="topbarUserDropdown">
<li><a class="dropdown-item" href="{{ route('change-password.index') }}"><i
class="icon-mid bi bi-gear me-2"></i>{{ __('Change Password') }}</a></li>
<li><a class="dropdown-item" href="{{ route('change-profile.index') }}"><i
class="icon-mid bi bi-person me-2"></i>{{ __('Change Profile') }}</a></li>
<li><a class="dropdown-item" href="{{ route('logout') }} "
onclick="event.preventDefault(); document.getElementById('logout-form').submit();"><i
class="icon-mid bi bi-box-arrow-left me-2"></i> {{ __('Logout') }}</a></li>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
{{ csrf_field() }}
</form>
</ul>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</div>
</div>
</div>
</nav>
{{-- {{ print_r($currentLanguage) }} --}}
</header>