- add NodeController - add getNodes to DeviceRegistryService - add WebClient deviceRegistryNodes to DeviceRegisterWebClientCalls.kt - add node list.html - add node to main menu and cleanup in layout.html - add node to AdminPaths.kt
73 lines
3.4 KiB
HTML
73 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<!--suppress HtmlUnknownTag -->
|
|
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
|
<head>
|
|
<title>LuLz</title>
|
|
<!-- Header tags-->
|
|
<th:block th:fragment="metadata">
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="icon" href="/favicon.ico" sizes="32x32">
|
|
<link rel="icon" href="/img/logo/favicon.svg" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="/img/logo/apple-touch-icon.png" type="image/png">
|
|
<link th:href="@{/css/tailwind.css}" rel="stylesheet">
|
|
<link th:href="@{/css/management.css}" rel="stylesheet">
|
|
<!-- <script src="https://cdn.tailwindcss.com"></script>-->
|
|
</th:block>
|
|
<style></style>
|
|
</head>
|
|
<body class="bg-gray-900 text-green-400 min-h-screen flex flex-col">
|
|
<!-- Navigation -->
|
|
<th:block th:fragment="navigation">
|
|
<header th:fragment="header" class="bg-gray-800 border-b border-green-900">
|
|
<div class="container mx-auto px-4 py-2 flex items-center justify-between">
|
|
<div>
|
|
<a class="text-xl sm:text-2xl terminal-glow" href="/">Hlæja Management</a>
|
|
</div>
|
|
<div class="relative">
|
|
<button id="menu-toggle" class="focus:outline-none">
|
|
<svg class="w-6 h-6 text-green-400 hover:text-green-300" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/>
|
|
</svg>
|
|
</button>
|
|
<div id="dropdown-menu" class="hidden absolute right-0 mt-2 w-48 bg-gray-800 border border-green-900 shadow-lg z-10">
|
|
<th:block th:if="${remoteUser.hasRole('admin')}">
|
|
<a href="/account" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Account</a>
|
|
<hr class="dropdown-divider">
|
|
<a href="/type" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Type</a>
|
|
<a href="/device" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Device</a>
|
|
<a href="/node" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Node</a>
|
|
<hr class="dropdown-divider">
|
|
</th:block>
|
|
<th:block th:if="${remoteUser.authenticated}">
|
|
<a href="#" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">$ User Node</a>
|
|
<hr class="dropdown-divider">
|
|
</th:block>
|
|
<th:block th:if="${remoteUser.authenticated}">
|
|
<a href="/logout" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Logout</a>
|
|
</th:block>
|
|
<th:block th:unless="${remoteUser.authenticated}">
|
|
<a href="/login" class="block px-4 py-2 text-sm hover:bg-gray-700 hover:text-green-300 transition-colors">Login</a>
|
|
</th:block>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
</th:block>
|
|
<!-- Pages Footer -->
|
|
<th:block th:fragment="footer">
|
|
<footer class="bg-gray-800 border-t border-green-900 py-2">
|
|
<div class="container mx-auto px-4 text-center text-xs">
|
|
<div class="text-green-600 mb-2 sm:mb-0">Hlæja © 2025 Lulz Ltd.</div>
|
|
<div class="flex space-x-4"></div>
|
|
</div>
|
|
</footer>
|
|
</th:block>
|
|
<!-- JavaScript -->
|
|
<th:block th:fragment="script">
|
|
<script th:src="@{/js/management.js}"></script>
|
|
<script></script>
|
|
</th:block>
|
|
</body>
|
|
</html>
|