Files
rust-rcon/index.html
T
angryzeroandCopilot 0a178d17b9 feat: full de-Angularization with Bootstrap 5 migration
- Removed AngularJS 1.4.8 completely — no more framework dependency
- Extracted core RCON logic into pure vanilla JS (js/rcon.js)
- Added lightweight hash-based SPA router (js/router.js)
- Rewrote all 6 pages as vanilla JS modules in js/pages/
- Migrated Bootstrap 3 → Bootstrap 5 (cards instead of panels, bootstrap-icons instead of glyphicons)
- Removed jQuery dependency (Bootstrap 5 is vanilla JS)
- Purged all Angular templates from html/
- Removed npm artifacts (package.json, node_modules)
- Added nginx.example.conf for static hosting
- Updated rcon.css dark theme for BS5 variables
- Static file only — no Node.js backend required

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 17:51:50 +02:00

69 lines
3.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Websocket Rcon</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.2/nv.d3.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="rcon.css" rel="stylesheet">
</head>
<body class="bg-dark text-light">
<!-- Server info header (hidden until connected) -->
<nav class="navbar navbar-dark bg-primary" id="server-header" style="display:none">
<div class="container">
<a class="navbar-brand" href="#" id="header-hostname"></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-collapse-header">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-collapse-header">
<span class="navbar-text me-3" title="Uptime" id="header-uptime"></span>
<span class="navbar-text me-3" title="Map Name" id="header-map"></span>
<span class="navbar-text me-3" title="Players" id="header-players"></span>
<span class="navbar-text me-3" title="Framerate" id="header-fps"></span>
<span class="navbar-text me-3" title="Entity Count" id="header-entities"></span>
<button class="btn btn-danger ms-auto" type="button" id="btn-disconnect">Disconnect</button>
</div>
</div>
</nav>
<!-- Main layout: hidden until connected -->
<div id="app-connected" style="display:none">
<div class="container">
<div class="row">
<div class="col-md-2">
<ul class="nav flex-column nav-sidebar" id="sidebar-nav"></ul>
</div>
<div class="col-md-10">
<h1 id="page-title"></h1>
<div id="app-view"></div>
</div>
</div>
</div>
</div>
<!-- Connect page: shown when not connected -->
<div id="app-connect" class="container"></div>
<!-- Bootstrap 5 JS (vanilla, no jQuery needed) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Charts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.16/d3.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.1/nv.d3.min.js"></script>
<!-- App scripts -->
<script src="js/utils.js"></script>
<script src="js/rcon.js"></script>
<script src="js/router.js"></script>
<script src="js/pages/connect.js"></script>
<script src="js/pages/serverInfo.js"></script>
<script src="js/pages/console.js"></script>
<script src="js/pages/chat.js"></script>
<script src="js/pages/playerlist.js"></script>
<script src="js/pages/playerInfo.js"></script>
<script src="js/app.js"></script>
</body>
</html>