dd/resources/views/components/layouts/nasa/app.blade.php
2026-06-14 15:46:45 +08:00

159 lines
6.6 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ $title ?? 'NASA' }}</title>
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
<div class="mac-app-wrapper pc-menu-open" id="sAppWrapper">
<header class="mac-statusbar" id="sMacStatusbar">
<div class="mac-sb-section">
<div class="mac-global-trigger" id="sGlobalMenuBtn" title="切换菜单侧边栏"></div>
<span class="mac-sb-divider"></span>
<span class="mac-sb-pill"><span class="status-dot secure"></span> Engine Running</span>
<span class="mac-sb-text">Env: <strong>Prod</strong></span>
<span class="mac-sb-divider"></span>
<span class="mac-sb-text">Laravel <strong>v11.36.1</strong></span>
</div>
<div class="mac-sb-section justify-center"></div>
<div class="mac-sb-section justify-end">
<a class="text-muted" href="/nasa/auth/out"><span class="mac-sb-text">退出</span></a>
<!--
<span class="mac-sb-text">Nginx vhost: <span style="font-family:'SF Mono'">active</span></span>
<span class="mac-sb-divider"></span>
<span class="mac-sb-text">DB: <strong class="text-success">Connected</strong></span>
<span class="mac-sb-divider"></span>
<span class="mac-sb-text" style="font-variant-numeric: tabular-nums;">UTC+8 18:35</span>
-->
</div>
</header>
<div class="mac-main-body">
<aside class="mac-sidebar" id="sMacSidebar">
<div class="mac-sidebar-top">
@foreach($aNavInfo["aTopMenus"] as $sGroup => $aTopMenus)
@if (!empty($sGroup))
<div class="mac-meta-title">{{ __('menu.'.$sGroup) }}</div>
@endif
@foreach($aTopMenus as $aTopMenu)
<a href="{{ $aTopMenu['sUrl'] }}">
<div class="mac-item {{ $aTopMenu['sPermissionSlug'] == $aNavInfo['aMenuPath']['TOP_BAR']['sPermissionSlug'] ? 'active-no-sub' : '' }}">
{{ $aTopMenu["sName"] }}
</div>
</a>
@endforeach
@endforeach
</div>
<!--
<div class="mac-sidebar-bottom">
<div class="mac-item"><span>⚙️</span> 设置</div>
</div>
-->
</aside>
@if(isset($aNavInfo['aMenuPath']['SIDEBAR_MENU']))
<aside class="mac-sidebar-second" id="sMacSidebarSecond">
<div class="mac-sidebar-top">
@foreach($aNavInfo["aSubMenus"] as $sGroup => $sSubMenus)
@if (!empty($sGroup))
<div class="mac-meta-title">{{ __('menu.'.$sGroup) }}</div>
@endif
@foreach($sSubMenus as $aSubMenu)
<a href="{{ $aSubMenu['sUrl'] }}">
<div class="mac-item {{ $aSubMenu['sPermissionSlug'] == $aNavInfo['aMenuPath']['SIDEBAR_MENU']['sPermissionSlug'] ? 'active' : '' }}">
{{ $aSubMenu["sName"] }}
</div>
</a>
@endforeach
@endforeach
</div>
</aside>
@endif
<main class="mac-stage">
@if (!empty($aNavInfo["aTabMenus"]) && count($aNavInfo["aTabMenus"]) >= 1)
<div class="mac-sub-navbar">
@foreach ($aNavInfo["aTabMenus"] as $aTabMenu)
<a href="{{ $aTabMenu['sUrl'] }}">
<div class="mac-sub-nav-item {{ isset($aNavInfo['aMenuPath']['INNER_PAGE_TAB']) && $aTabMenu['sPermissionSlug'] == $aNavInfo['aMenuPath']['INNER_PAGE_TAB']['sPermissionSlug'] ? 'active' : '' }}">
{{ $aTabMenu['sName'] }}
</div>
</a>
@endforeach
</div>
@endif
<div class="mac-stage-container">
{{ $slot }}
</div>
</main>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const oMenuBtn = document.getElementById('sGlobalMenuBtn');
const oAppWrapper = document.getElementById('sAppWrapper');
if (oMenuBtn && oAppWrapper) {
oMenuBtn.addEventListener('click', function (e) {
e.stopPropagation();
if (window.innerWidth < 768) {
oAppWrapper.classList.toggle('mobile-menu-open');
oAppWrapper.classList.remove('pc-menu-open');
} else {
oAppWrapper.classList.toggle('pc-menu-open');
oAppWrapper.classList.remove('mobile-menu-open');
}
});
const oStage = document.querySelector('.mac-stage');
if (oStage) {
oStage.addEventListener('click', function () {
if (oAppWrapper.classList.contains('mobile-menu-open')) {
oAppWrapper.classList.remove('mobile-menu-open');
}
});
}
}
});
</script>
</body>
</html>
<button hidden class="js-tom-alert-global js-tom-alert-trigger"
tom-alert-msg=""
tom-alert-confirm="false"
tom-alert-icon-visible="false"
tom-alert-border-variant="false"
></button>
<button hidden class="js-tom-alert-success-simple js-tom-alert-trigger"
tom-alert-type="success"
tom-alert-msg=""
tom-alert-confirm="false"
tom-alert-icon-visible="false"
tom-alert-border-variant="false"
></button>
<div class="tom-alert" tabindex="-1" hidden>
<div class="tom-alert-inner">
<div class="tom-alert-header" hidden>
<a class="text-muted js-tom-alert-close"></a>
</div>
<div class="tom-alert-body flex-align-center">
<div class="tom-alert-icon"></div>
<div class="tom-alert-msg"></div>
</div>
<div class="tom-alert-footer">
<button class="mac-btn-secondary js-tom-alert-cancel">取消</button>
<button class="mac-btn-primary js-tom-alert-submit">确定</button>
</div>
</div>
</div>