31 lines
1.5 KiB
PHP
31 lines
1.5 KiB
PHP
<?php
|
|
require_once __DIR__ . '/functions.php';
|
|
if (!headers_sent()) {
|
|
header('X-Frame-Options: SAMEORIGIN');
|
|
header('X-Content-Type-Options: nosniff');
|
|
header('Referrer-Policy: no-referrer');
|
|
header('Permissions-Policy: geolocation=(), microphone=(), camera=()');
|
|
}
|
|
$page_title = $page_title ?? 'BastionGuard WebUI';
|
|
$active_page = $active_page ?? basename($_SERVER['SCRIPT_NAME']);
|
|
$bg_lang = bg_lang_attr();
|
|
$bg_theme = bg_theme();
|
|
$bg_bs_theme = $bg_theme === 'dark' ? 'dark' : 'light';
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="<?= bg_e($bg_lang) ?>" data-theme="<?= bg_e($bg_theme) ?>" data-bs-theme="<?= bg_e($bg_bs_theme) ?>">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title><?= bg_e($page_title) ?></title>
|
|
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="assets/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
|
|
<link href="assets/css/style.css?v=20260506-v33-offcanvas-sse-scanpage" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<header class="mobile-topbar">
|
|
<button type="button" class="mobile-menu-btn" id="bgMobileMenuOpen" aria-label="Open navigation" aria-controls="bgSidebar" aria-expanded="false"><i class="bi bi-list"></i></button>
|
|
<div class="mobile-brand"><span class="mobile-brand-mark"><?= bg_logo_html('mobile-brand-logo') ?></span><span>BastionGuard™</span></div>
|
|
</header>
|
|
<div class="sidebar-scrim" id="bgSidebarScrim" hidden></div>
|
|
<div class="app-shell">
|