68 lines
3.7 KiB
HTML
68 lines
3.7 KiB
HTML
{{/* Shared cyber-dark admin shell. Call "admin_shell_open" with a dict of
|
|
Active/Admin/Title, write page content, then "admin_shell_close". */}}
|
|
{{define "admin_shell_open"}}<!doctype html>
|
|
<html lang="ru" data-bs-theme="dark">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Title}} — Amnezia Admin</title>
|
|
<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=Orbitron:wght@700&family=JetBrains+Mono:wght@500;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" rel="stylesheet" referrerpolicy="no-referrer">
|
|
<link href="{{appURL "static/css/admin.css"}}" rel="stylesheet">
|
|
<link href="{{appURL "static/css/admin-cyber.css"}}" rel="stylesheet">
|
|
</head>
|
|
<body class="admin-app">
|
|
<button id="adminSidebarToggle" class="btn btn-sm position-fixed m-2" type="button" aria-label="Меню" onclick="document.body.classList.toggle('admin-sidebar-open')">
|
|
<i class="fa-solid fa-bars"></i>
|
|
</button>
|
|
<aside class="admin-sidebar">
|
|
<a class="admin-brand" href="{{appURL "admin"}}">
|
|
<span class="admin-brand-icon"><i class="fa-solid fa-shield-halved"></i></span>
|
|
<span>
|
|
<span class="admin-brand-text d-block">Amnezia Admin</span>
|
|
<span class="admin-brand-sub">Share Panel</span>
|
|
</span>
|
|
</a>
|
|
<nav class="admin-nav nav flex-column">
|
|
<a class="nav-link {{if eq2 .Active "index"}}active{{end}}" href="{{appURL "admin"}}"><i class="fa-solid fa-gauge-high"></i> Дашборд</a>
|
|
<a class="nav-link {{if eq2 .Active "links"}}active{{end}}" href="{{appURL "admin/links"}}"><i class="fa-solid fa-link"></i> Ссылки</a>
|
|
<a class="nav-link {{if eq2 .Active "configs"}}active{{end}}" href="{{appURL "admin/configs"}}"><i class="fa-solid fa-key"></i> Конфигурации</a>
|
|
<a class="nav-link {{if eq2 .Active "renewal"}}active{{end}}" href="{{appURL "admin/renewal"}}"><i class="fa-solid fa-rotate"></i> Коды продления</a>
|
|
<a class="nav-link {{if eq2 .Active "servers"}}active{{end}}" href="{{appURL "admin/servers"}}"><i class="fa-solid fa-server"></i> Серверы</a>
|
|
<a class="nav-link {{if eq2 .Active "settings"}}active{{end}}" href="{{appURL "admin/settings"}}"><i class="fa-solid fa-gear"></i> Настройки</a>
|
|
</nav>
|
|
<div class="admin-sidebar-footer">
|
|
{{if .Admin}}<div class="hint mb-2"><i class="fa-solid fa-user"></i> {{.Admin.Username}}</div>{{end}}
|
|
<a class="btn btn-outline-danger btn-sm w-100" href="{{appURL "logout"}}"><i class="fa-solid fa-right-from-bracket"></i> Выйти</a>
|
|
</div>
|
|
</aside>
|
|
<div class="admin-main">
|
|
<header class="admin-topbar">
|
|
<div class="admin-topbar-title">
|
|
<h1><i class="fa-solid fa-angle-right text-primary"></i> {{.Title}}</h1>
|
|
</div>
|
|
<div class="admin-topbar-meta">
|
|
<span class="badge-protocol"><i class="fa-solid fa-circle-nodes"></i> Go</span>
|
|
</div>
|
|
</header>
|
|
<main class="admin-content">
|
|
{{end}}
|
|
|
|
{{define "admin_shell_close"}}
|
|
</main>
|
|
</div>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
|
</body>
|
|
</html>
|
|
{{end}}
|
|
|
|
{{define "admin_flash"}}
|
|
{{if .OK}}<div class="alert-ok"><i class="fa-solid fa-circle-check"></i><div>{{.OK}}</div></div>{{end}}
|
|
{{if .Error}}<div class="alert-err"><i class="fa-solid fa-triangle-exclamation"></i><div>{{.Error}}</div></div>{{end}}
|
|
{{end}}
|
|
|
|
{{define "admin_csrf_field"}}<input type="hidden" name="_csrf" value="{{csrf}}">{{end}}
|