253 lines
No EOL
15 KiB
Text
253 lines
No EOL
15 KiB
Text
<header class="navbar navbar-expand-md d-print-none">
|
|
|
|
<script>
|
|
|
|
var themeStorageKey = "tablerTheme";
|
|
var defaultTheme = "light";
|
|
var selectedTheme;
|
|
|
|
(function (factory) {
|
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
factory();
|
|
})((function () {
|
|
'use strict';
|
|
|
|
var params = new Proxy(new URLSearchParams(window.location.search), {
|
|
get: function get(searchParams, prop) {
|
|
return searchParams.get(prop);
|
|
}
|
|
});
|
|
if (!!params.theme) {
|
|
localStorage.setItem(themeStorageKey, params.theme);
|
|
selectedTheme = params.theme;
|
|
} else {
|
|
var storedTheme = localStorage.getItem(themeStorageKey);
|
|
selectedTheme = storedTheme ? storedTheme : defaultTheme;
|
|
}
|
|
if (selectedTheme === 'dark') {
|
|
document.body.setAttribute("data-bs-theme", selectedTheme);
|
|
} else {
|
|
document.body.removeAttribute("data-bs-theme");
|
|
}
|
|
|
|
}));
|
|
|
|
|
|
function toggleTheme(button) {
|
|
if (button.value == 'dark-theme') {
|
|
document.body.setAttribute("data-bs-theme", 'dark');
|
|
localStorage.setItem(themeStorageKey, 'dark');
|
|
}
|
|
else if (button.value == 'light-theme') {
|
|
document.body.removeAttribute("data-bs-theme");
|
|
localStorage.setItem(themeStorageKey, 'light');
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
<div class="container-xl">
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu"
|
|
aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<h1 class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
|
|
<a href="#">
|
|
<img src="./static/logo.svg" width="110" height="32" alt="Tabler" class="navbar-brand-image">
|
|
</a>
|
|
</h1>
|
|
<div class="navbar-nav flex-row order-md-last">
|
|
<div class="nav-item d-none d-md-flex me-3">
|
|
<div class="btn-list">
|
|
<a href="#" class="btn text-black">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/lock -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6z"></path> <path d="M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0"></path> <path d="M8 11v-4a4 4 0 1 1 8 0v4"></path> </svg>
|
|
VPN
|
|
</a>
|
|
<a href="#" class="btn text-green">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/shield -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-shield" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 3a12 12 0 0 0 8.5 3a12 12 0 0 1 -8.5 15a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3"></path> </svg>
|
|
Firewall
|
|
</a>
|
|
<a href="#" class="btn text-black">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/shield -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-screen-share" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M21 12v3a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1v-10a1 1 0 0 1 1 -1h9"></path> <path d="M7 20l10 0"></path> <path d="M9 16l0 4"></path> <path d="M15 16l0 4"></path> <path d="M17 4h4v4"></path> <path d="M16 9l5 -5"></path> </svg>
|
|
VNC
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="d-none d-md-flex">
|
|
|
|
<button class="nav-link px-0 hide-theme-dark" title="Enable dark mode" data-bs-toggle="tooltip"
|
|
data-bs-placement="bottom" value="dark-theme" onclick="toggleTheme(this)">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/moon -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> </svg>
|
|
</button>
|
|
|
|
<button class="nav-link px-0 hide-theme-light" title="Enable light mode" data-bs-toggle="tooltip"
|
|
data-bs-placement="bottom" value="light-theme" onclick="toggleTheme(this)">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/sun -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" /> <path d="M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7" /> </svg>
|
|
</button>
|
|
|
|
<div class="nav-item dropdown d-none d-md-flex me-3">
|
|
<a href="#" class="nav-link px-0" data-bs-toggle="dropdown" tabindex="-1" aria-label="Show notifications">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/bell -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" /> <path d="M9 17v1a3 3 0 0 0 6 0v-1" /> </svg>
|
|
<!-- <span class="badge bg-red"></span> -->
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">Alerts</h3>
|
|
</div>
|
|
<div class="list-group list-group-flush list-group-hoverable">
|
|
<div class="list-group-item">
|
|
<div class="row align-items-center">
|
|
<div class="col-auto"><span class="status-dot status-dot-animated bg-green d-block"></span></div>
|
|
<div class="col text-truncate">
|
|
<a href="#" class="text-body d-block">App Installed</a>
|
|
<div class="d-block text-muted text-truncate mt-n1">
|
|
Just an example of an app install notification.
|
|
</div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a href="#" class="list-group-item-actions">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/star -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-muted" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" /> </svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="list-group-item">
|
|
<div class="row align-items-center">
|
|
<div class="col-auto"><span class="status-dot status-dot-animated bg-red d-block"></span></div>
|
|
<div class="col text-truncate">
|
|
<a href="#" class="text-body d-block">App Uninstalled</a>
|
|
<div class="d-block text-muted text-truncate mt-n1">
|
|
Just an example of an app uninstall notification.
|
|
</div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a href="#" class="list-group-item-actions">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/star -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-muted" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" /> </svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="nav-item dropdown">
|
|
<a href="#" class="nav-link d-flex lh-1 text-reset p-0" data-bs-toggle="dropdown" aria-label="Open user menu">
|
|
<span class="avatar avatar-sm"><%- avatar %></span>
|
|
<div class="d-none d-xl-block ps-2">
|
|
<div>
|
|
<%= name %>
|
|
</div>
|
|
<div class="mt-1 small text-muted">
|
|
<%= role %>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
|
<a href="#" class="dropdown-item">Status</a>
|
|
<a href="/account" class="dropdown-item">Account</a>
|
|
<a href="#" class="dropdown-item">Feedback</a>
|
|
<div class="dropdown-divider"></div>
|
|
<a href="/settings" class="dropdown-item">Settings</a>
|
|
<a href="/logout" class="dropdown-item">Logout</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<header class="navbar-expand-md">
|
|
<div class="collapse navbar-collapse" id="navbar-menu">
|
|
<div class="navbar">
|
|
<div class="container-xl">
|
|
<ul class="navbar-nav">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="./">
|
|
<span
|
|
class="nav-link-icon d-md-none d-lg-inline-block"><!-- Download SVG icon from https://tabler-icons.io/i/dashboard -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-dashboard" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 13m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path> <path d="M13.45 11.55l2.05 -2.05"></path> <path d="M6.4 20a9 9 0 1 1 11.2 0z"></path> </svg>
|
|
</span>
|
|
<span class="nav-link-title">
|
|
Dashboard
|
|
</span>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/apps">
|
|
<span
|
|
class="nav-link-icon d-md-none d-lg-inline-block"><!-- Download SVG icon from https://tabler-icons.io/i/apps -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-apps" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M4 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path> <path d="M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path> <path d="M14 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path> <path d="M14 7l6 0"></path> <path d="M17 4l0 6"></path> </svg>
|
|
</span>
|
|
<span class="nav-link-title">
|
|
Apps
|
|
</span>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/users">
|
|
<span
|
|
class="nav-link-icon d-md-none d-lg-inline-block"><!-- Download SVG icon from https://tabler-icons.io/i/user -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-user" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path> <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path> </svg>
|
|
</span>
|
|
<span class="nav-link-title">
|
|
Users
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" href="#navbar-help" data-bs-toggle="dropdown"
|
|
data-bs-auto-close="outside" role="button" aria-expanded="false">
|
|
<span
|
|
class="nav-link-icon d-md-none d-lg-inline-block"><!-- Download SVG icon from http://tabler-icons.io/i/lifebuoy -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-tool" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5"></path> </svg>
|
|
</span>
|
|
<span class="nav-link-title">
|
|
Tools
|
|
</span>
|
|
</a>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="#" target="_blank" rel="noopener">
|
|
VPN
|
|
</a>
|
|
<a class="dropdown-item" href="#">
|
|
Firewall
|
|
</a>
|
|
<a class="dropdown-item" href="#" target="_blank" rel="noopener">
|
|
Backups
|
|
</a>
|
|
<a class="dropdown-item text-pink" href="#" target="_blank"
|
|
rel="noopener">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/heart -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-inline me-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" /> </svg>
|
|
Sponsor project!
|
|
</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<div class="my-2 my-md-0 flex-grow-1 flex-md-grow-0 order-first order-md-last">
|
|
<form action="./" method="get" autocomplete="off" novalidate>
|
|
<div class="input-icon">
|
|
<span class="input-icon-addon">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/search -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /> <path d="M21 21l-6 -6" /> </svg>
|
|
</span>
|
|
<input type="text" value="" class="form-control" placeholder="Search…" aria-label="Search in website">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header> |