172 lines
6.0 KiB
PHP
172 lines
6.0 KiB
PHP
<html lang="en" class="light-style layout-navbar-fixed layout-menu-fixed layout-compact" dir="ltr"
|
|
data-theme="theme-default" data-assets-path="{{ asset('assets') }}/" data-template="vertical-menu-template-starter"
|
|
data-style="light">
|
|
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport"
|
|
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
|
|
|
|
|
|
<title>卡菲姬後台管理</title>
|
|
|
|
<meta name="description" content="" />
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/x-icon" href="{{ asset('assets/img/favicon/cafeg.ico') }}" />
|
|
|
|
<!-- 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=Inter:wght@300;400;500;600;700&display=swap"
|
|
rel="stylesheet" />
|
|
|
|
<link rel="stylesheet" href="{{ asset('assets/vendor/fonts/remixicon/remixicon.css') }}" />
|
|
|
|
|
|
<!-- Menu waves for no-customizer fix -->
|
|
<link rel="stylesheet" href="{{ asset('assets/vendor/libs/node-waves/node-waves.css') }}" />
|
|
|
|
<!-- Core CSS -->
|
|
<link rel="stylesheet" href="{{ asset('assets/vendor/css/rtl/core.css') }}" class="template-customizer-core-css" />
|
|
<link rel="stylesheet" href="{{ asset('assets/vendor/css/rtl/theme-default.css') }}"
|
|
class="template-customizer-theme-css" />
|
|
<link rel="stylesheet" href="{{ asset('assets/css/demo.css') }}" />
|
|
|
|
<!-- Vendors CSS -->
|
|
<link rel="stylesheet" href="{{ asset('assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}" />
|
|
|
|
<!-- Page CSS -->
|
|
|
|
<!-- Helpers -->
|
|
<script src="{{ asset('assets/vendor/js/helpers.js') }}"></script>
|
|
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
|
|
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
|
|
<script src="{{ asset('assets/vendor/js/template-customizer.js') }}"></script>
|
|
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
|
|
<script src="{{ asset('assets/js/config.js') }}"></script>
|
|
<!-- 在<head>中引入SweetAlert2 CDN -->
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
|
|
@yield('header')
|
|
</head>
|
|
|
|
<body>
|
|
<!-- Layout wrapper -->
|
|
<div class="layout-wrapper layout-content-navbar">
|
|
<div class="layout-container">
|
|
<!-- Menu -->
|
|
|
|
@include('layouts.admin_aside')
|
|
<!-- / Menu -->
|
|
|
|
<!-- Layout container -->
|
|
<div class="layout-page">
|
|
<!-- Navbar -->
|
|
|
|
@include('layouts.admin_navbar')
|
|
|
|
<!-- / Navbar -->
|
|
|
|
<!-- Content wrapper -->
|
|
<div class="content-wrapper">
|
|
<!-- Content -->
|
|
|
|
<div class="container-xxl flex-grow-1 container-p-y" >
|
|
@yield('content')
|
|
<div class="card mb-6"id ="spinner-div">
|
|
<div id="global-spinner" class="spinner-border spinner-border-lg text-secondary"
|
|
role="status">
|
|
<span class="visually-hidden">Loading...</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- / Content -->
|
|
|
|
@include('layouts.admin_footer')
|
|
|
|
|
|
|
|
<div class="content-backdrop fade"></div>
|
|
</div>
|
|
<!-- Content wrapper -->
|
|
</div>
|
|
<!-- / Layout page -->
|
|
</div>
|
|
|
|
<!-- Overlay -->
|
|
<div class="layout-overlay layout-menu-toggle"></div>
|
|
|
|
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
|
<div class="drag-target"></div>
|
|
</div>
|
|
<!-- / Layout wrapper -->
|
|
|
|
<!-- Core JS -->
|
|
<!-- build:js assets/vendor/js/core.js -->
|
|
<script src="{{ asset('assets/vendor/libs/jquery/jquery.js') }}"></script>
|
|
<script src="{{ asset('assets/vendor/libs/popper/popper.js') }}"></script>
|
|
<script src="{{ asset('assets/vendor/js/bootstrap.js') }}"></script>
|
|
<script src="{{ asset('assets/vendor/libs/node-waves/node-waves.js') }}"></script>
|
|
<script src="{{ asset('assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
|
|
<script src="{{ asset('assets/vendor/libs/hammer/hammer.js') }}"></script>
|
|
|
|
<script src="{{ asset('assets/vendor/js/menu.js') }}"></script>
|
|
|
|
<!-- endbuild -->
|
|
|
|
<!-- Vendors JS -->
|
|
|
|
<!-- Main JS -->
|
|
<script src="{{ asset('assets/js/main.js') }}"></script>
|
|
|
|
<!-- Page JS -->
|
|
@yield('scripts')
|
|
|
|
<script>
|
|
// 全局 Spinner 控制
|
|
$(document).ready(function () {
|
|
console.log("Document ready");
|
|
|
|
// 顯示 Spinner
|
|
function showSpinner() {
|
|
console.log("spinner 显示");
|
|
$("#spinner-div").show();
|
|
$("#global-spinner").fadeIn();
|
|
}
|
|
|
|
// 隱藏 Spinner
|
|
function hideSpinner() {
|
|
console.log("spinner 隐藏");
|
|
$("#global-spinner").fadeOut();
|
|
$("#spinner-div").hide();
|
|
}
|
|
|
|
// 初始化時顯示 Spinner
|
|
showSpinner();
|
|
|
|
// AJAX 請求期間的 Spinner 控制
|
|
$(document).ajaxStart(function () {
|
|
console.log("AJAX 开始");
|
|
showSpinner();
|
|
}).ajaxStop(function () {
|
|
console.log("AJAX 停止");
|
|
hideSpinner();
|
|
});
|
|
|
|
// 當所有資源加載完成後,隱藏 Spinner
|
|
$(window).on("load", function () {
|
|
console.log("Window loaded");
|
|
hideSpinner();
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
<script></script>
|