Files
game-server-watcher/public/index.html
2022-07-21 09:38:15 +02:00

126 lines
7.2 KiB
HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
<title>GSW Control Panel</title>
<meta charset="utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://i.imgur.com/2Ok3pxv.png" rel="icon" type="image/png">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- <link href="https://cdn.jsdelivr.net/npm/@forevolve/bootstrap-dark@latest/dist/css/toggle-bootstrap-dark.min.css" rel="stylesheet"> -->
<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=Marvel&family=Roboto&display=swap" rel="stylesheet">
<link href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/animate.css@4.1.1/animate.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/select2@latest/dist/css/select2.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/css/jsoneditor.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/node-forge@1.3.1/dist/forge.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/dompurify@latest/dist/purify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/mustache@latest/mustache.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@latest/dist/js/select2.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js"></script>
<link href="main.css" rel="stylesheet">
</head>
<body>
<nav id="top-menu" class="navbar navbar-expand-lg navbar-dark invisible">
<span class="navbar-brand mb-0 h1">
<img src="https://i.imgur.com/2Ok3pxv.png" width="30" height="30" class="d-inline-block align-middle mr-sm-1 mr-md-2 mr-lg-3" alt="">
<span>GSW Control Panel</span>
</span>
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a id="top-menu-configuration" class="nav-link active" href="#configuration">Configuration</a>
</li>
<li class="nav-item">
<a id="top-menu-flush-data" class="nav-link" href="#flush-data">Flush data</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<button id="logout" class="btn btn-outline-danger" type="submit">Logout</button>
</form>
</nav>
<main class="container">
<section id="protected-section" class="row d-none">
<div class="col-12">
<div id="configuration" class="p-4 m-2 bg-light border border-white rounded-lg shadow-lg">
<form method="post" id="config-form"></form>
</div>
<div id="flush-data" class="p-4 m-2 bg-light border border-white rounded-lg d-none shadow-lg">
<div id="flush-data-container">
<h3 class="card-title">Flush data</h3>
<div class="card">
<div class="card-body">
<button type="button" class="btn btn-lg btn-danger" data-api="flush/servers">Flush
game servers data</button>
<button type="button" class="btn btn-lg btn-primary" data-api="flush/discord">Flush
discord data</button>
<button type="button" class="btn btn-lg btn-info" data-api="flush/telegram">Flush
telegram data</button>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="unprotected-section">
<div class="col-12 text-center sticky-top">
<div id="spinner" class="spinner-border m-2 justify-content-center text-primary mx-auto"></div>
</div>
<div id="bye" class="p-4 m-2 d-none">
<h3 class="text-light text-center">
Refresh the page to login...
</h3>
<div class="text-center">
<a href=""><kbd class="bg-light text-dark d-inline-block">F5</kbd></a>
</div>
</div>
</section>
</main>
<div id="toast-containers" class="container fixed-bottom mb-1 mb-lg-2 mb-xl-3">
<div id="notif-container" class="col-12 mx-auto col-lg-10 col-xl-8">
</div>
<div id="action-container" class="col-12 mx-auto col-lg-10 col-xl-8">
<div id="save-config" class="alert rounded d-none animate__animated animate__fadeInUp animate__faster shadow" role="alert">
<div class="d-flex justify-content-between align-items-center">
<div class="d-flex-inline text-light">Careful &mdash; you have unsaved changes!</div>
<form class="d-flex-inline mr-2 mr-lg-0">
<button id="save-config-reset" class="btn btn-sm text-light" type="reset">Reset</button>
<button id="save-config-submit" class="btn btn-sm btn-success" type="submit">
<span class="_save_btn"> Save </span>
<span class="spinner-grow spinner-grow-sm _saving_btn" role="status" aria-hidden="true"></span>
<span class="_saving_btn">Saving...</span>
</button>
</form>
</div>
</div>
</div>
</div>
<footer class="mx-auto text-center py-2 d-none">
<a href="https://github.com/a-sync/game-server-watcher"><svg width="16" height="16" viewBox="0 0 16 16" version="1.1" aria-hidden="true">
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z">
</path>
</svg></a>
</footer>
<script src="main.js"></script>
</body>
</html>