114 lines
3.9 KiB
PHP
114 lines
3.9 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
<meta name="description"
|
|
content="Thế Giới Số cung cấp dịch vụ thiết kế website, phát triển ứng dụng, phân tích dữ liệu, triển khai & quản lý server, VPS, dedicated, email hosting và hệ thống portal quản lý dịch vụ cho doanh nghiệp.">
|
|
|
|
<meta name="author" content="Thế Giới Số">
|
|
|
|
<meta name="keywords"
|
|
content="thế giới số, thiết kế website, phát triển ứng dụng, phân tích dữ liệu, vps, hosting, dedicated server, email hosting, quản trị server, portal dịch vụ, laravel, nextjs, cloud, hạ tầng CNTT">
|
|
|
|
<title>Thế Giới Số Admin | Service Management Portal</title>
|
|
|
|
<!-- color-modes:js -->
|
|
@vite(['resources/js/pages/color-modes.js'])
|
|
|
|
<script>
|
|
(function () {
|
|
const theme = localStorage.getItem('theme') || (window.matchMedia('(prefers-color-scheme: dark)').matches ?
|
|
'dark' : 'light');
|
|
document.documentElement.setAttribute('data-bs-theme', theme);
|
|
})();
|
|
</script>
|
|
|
|
<!-- Fonts -->
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap" rel="stylesheet">
|
|
<!-- End fonts -->
|
|
|
|
<!-- CSRF Token -->
|
|
<meta name="_token" content="{{ csrf_token() }}">
|
|
|
|
<link rel="shortcut icon" href="{{ asset('/favicon.ico') }}">
|
|
|
|
<!-- plugin css -->
|
|
<link href="{{ asset('build/plugins/perfect-scrollbar/perfect-scrollbar.css') }}" rel="stylesheet" />
|
|
|
|
@stack('plugin-styles')
|
|
|
|
<!-- CSS for LTR layout-->
|
|
@vite(['resources/sass/app.scss'])
|
|
|
|
<!-- Global Modal CSS -->
|
|
@vite(['resources/css/components/micromodal.css'])
|
|
|
|
<!-- CSS for RTL layout-->
|
|
|
|
@stack('style')
|
|
</head>
|
|
|
|
<body data-base-url="{{ url('/') }}">
|
|
<div class="main-wrapper" id="app">
|
|
@include('administrator.layout.partials.sidebar')
|
|
<div class="page-wrapper">
|
|
@include('administrator.layout.partials.header')
|
|
<div class="page-content">
|
|
@yield('breadcrumb')
|
|
@yield('content')
|
|
<div id="fui-toast"></div>
|
|
</div>
|
|
@include('administrator.layout.partials.footer')
|
|
</div>
|
|
</div>
|
|
|
|
<!-- base 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>
|
|
<!-- end base js -->
|
|
|
|
<!-- plugin js -->
|
|
@stack('plugin-scripts')
|
|
<!-- end plugin js -->
|
|
|
|
<!-- common js -->
|
|
@vite(['resources/js/pages/template.js'])
|
|
|
|
<!-- Global Modal JS -->
|
|
@vite(['resources/js/components/micromodal.js'])
|
|
<!-- end common js -->
|
|
|
|
<!-- Global Select2 initialization -->
|
|
<script>
|
|
window.initSelect2 = function() {
|
|
$(".select2.single__select").select2({
|
|
allowClear: true,
|
|
width: "100%",
|
|
height: "100%",
|
|
});
|
|
};
|
|
|
|
// Global ModalManager initialization
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
if (typeof ModalManager !== 'undefined') {
|
|
ModalManager.init();
|
|
console.log('ModalManager initialized globally');
|
|
} else {
|
|
console.warn('ModalManager not loaded');
|
|
}
|
|
});
|
|
</script>
|
|
|
|
@include('administrator.layout.partials.toast')
|
|
|
|
@stack('custom-scripts')
|
|
</body>
|
|
|
|
</html> |