Beginnings of making frontend pretty, switched to pico css

This commit is contained in:
Roberto Alsina 2024-07-09 20:37:43 -03:00
parent 665b4f9ab7
commit 21893fe612
2 changed files with 48 additions and 39 deletions

View File

@ -2,8 +2,8 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<link rel="stylesheet" href="https://matcha.mizu.sh/matcha.css" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1/css/pico.min.css" />
<script src="https://unpkg.com/htmx.org@2.0.0"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.colors.min.css" /> <script src="https://unpkg.com/htmx.org@2.0.0"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head> </head>
@ -11,15 +11,20 @@
<header class="container"> <header class="container">
<h1>FaaSO Admin Interface</h1> <h1>FaaSO Admin Interface</h1>
</header> </header>
<main class=container> <article>
<h2>Your Funko Collection <nav>
<button id="update-funkos" style="float:right; display:inline;" hx-trigger="load, click, every 60s" <ul>
<li><strong style="font-size: 200%;">Your Funko Collection</strong></li>
</ul>
<ul>
<li><button id="update-funkos" style="float:right; display:inline;" hx-trigger="load, click, every 60s"
hx-get="funkos/?format=html" hx-target="#funko-list"> hx-get="funkos/?format=html" hx-target="#funko-list">
Refresh Refresh
</button> </button>
</h2> </ul>
</nav>
<span id="message"></span> <span id="message"></span>
<table hx-target="#message"> <table hx-target="#message" class="striped">
<thead> <thead>
<tr> <tr>
<th>Name</th> <th>Name</th>
@ -31,23 +36,27 @@
</tbody> </tbody>
</table> </table>
<div id="terminal" style="resize: vertical; overflow: auto;"></div> <div id="terminal" style="resize: vertical; overflow: auto;"></div>
</main> </article>
<script> <script>
update_funkos = function () { update_funkos = function () {
document.getElementById("update-funkos").click() document.getElementById("update-funkos").click()
} }
</script> </script>
<main class=container> <article>
<h2> <nav>
Your Secrets <ul>
<button id="update-secrets" style="float:right; display:inline;" hx-trigger="load, click, every 60s" <li><strong style="font-size: 200%;">Your Secrets</strong>
</ul>
<ul>
<li><button id="update-secrets" style="float:right; display:inline;" hx-trigger="load, click, every 60s"
hx-get="secrets/?format=html" hx-target="#secret-list"> hx-get="secrets/?format=html" hx-target="#secret-list">
Refresh Refresh
</button> </button>
<button style="float:right; display:inline;" onclick="show_new_secret()"> <li><button style="float:right; display:inline;" onclick="show_new_secret()">
Add Add
</button> </button>
</h2> </ul>
</nav>
<span id="message"></span> <span id="message"></span>
<table hx-target="#message"> <table hx-target="#message">
<thead> <thead>
@ -60,14 +69,20 @@
<tbody id="secret-list"> <tbody id="secret-list">
</tbody> </tbody>
<dialog id="add-secret"> <dialog id="add-secret">
<topic>New Secret</topic> <article>
<header>
New Secret
</header>
<form hx-post="secrets/"> <form hx-post="secrets/">
<input placeholder="funko name" id="new-secret-funko" name="funko"> <input placeholder="funko name" id="new-secret-funko" name="funko">
<input placeholder="secret name" id="new-secret-name" name="name"> <input placeholder="secret name" id="new-secret-name" name="name">
<input placeholder="secret value" type="password" id="new-secret-password" name="value"> <input placeholder="secret value" type="password" id="new-secret-password" name="value">
<button type="submit" hx-on:htmx:after-request="hide_new_secret()">CREATE</button> <fieldset role="group" style="text-align: right;">
<button style="width:9em; display: inline;" type="submit" hx-on:htmx:after-request="hide_new_secret()">CREATE</button>
<button style="width:9em; display: inline;" onclick="hide_new_secret(); close();" aria-label="Close" rel="prev">CLOSE</button>
</fieldset>
</form> </form>
<button onclick="hide_new_secret(); close();">CLOSE</button> </article>
</dialog> </dialog>
<script> <script>
update_secrets = function() { update_secrets = function() {
@ -87,5 +102,5 @@
update_secrets() update_secrets()
} }
</script> </script>
</main> </article>
</body> </body>

View File

@ -1,39 +1,32 @@
<%- result.each do |f| -%> <%- result.each do |f| -%>
<tr hx-indicator="#spinner-<%= f["name"] %>"> <tr hx-indicator="#spinner-<%= f["name"] %>">
<td> <td style="vertical-align: top;">
<%= f["name"] %> <%= f["name"] %>
<img id="spinner-<%= f["name"] %>" src="bars.svg" class="htmx-indicator"> <img id="spinner-<%= f["name"] %>" src="bars.svg" class="htmx-indicator">
</td> </td>
<td> <td style="vertical-align: top;">
<table> <%- f["containers"].as(Array(Docr::Types::ContainerSummary)).each do |c| -%>
<thead> <div class="grid">
<th>ID</th> <div>
<th>Current?</th> <tt><%= c.@names[0].split("-")[-1] %></tt>
<th>Actions</th> </div>
</thead> <div>
<tbody>
<%- f["containers"].as(Array(Docr::Types::ContainerSummary)).each do |c| -%>
<tr>
<td><tt><%= c.@names[0].split("-")[-1] %></tt></td>
<td>
<%- if c.image_id == f["latest_image"] -%> <%- if c.image_id == f["latest_image"] -%>
<span style="color:green;""> 🟢</span> <span style="color:green;""> 🟢</span>
<%- else -%> <%- else -%>
<span style="color:red;""> 🟢</span> <span style="color:red;""> 🟢</span>
<%- end -%> <%- end -%>
</td> </div>
<td> <div role="group">
<button hx-target="#terminal" hx-get="funkos/terminal/logs/<%= c.@names[0].lstrip("/") %>/">Logs</button> <button hx-target="#terminal" hx-get="funkos/terminal/logs/<%= c.@names[0].lstrip("/") %>/">Logs</button>
<button hx-target="#terminal" hx-get="funkos/terminal/shell/<%= c.@names[0].lstrip("/") %>/">Shell</button> <button hx-target="#terminal" hx-get="funkos/terminal/shell/<%= c.@names[0].lstrip("/") %>/">Shell</button>
</td> </div>
</tr> </div>
<%- end -%> <%- end -%>
</tbody>
</p>
</td> </td>
</table>
<td> <td>
<div role="group">
<%- if f["name"] == "proxy" -%> <%- if f["name"] == "proxy" -%>
<%- else -%> <%- else -%>
<%- if f["scale"].as(String).to_i > 0 -%> <%- if f["scale"].as(String).to_i > 0 -%>
@ -47,6 +40,7 @@
<%- end -%> <%- end -%>
<button hx-get="funkos/<%= f["name"] %>/restart" hx-on:htmx:after-request="update_funkos()">Restart</button> <button hx-get="funkos/<%= f["name"] %>/restart" hx-on:htmx:after-request="update_funkos()">Restart</button>
<%- end -%> <%- end -%>
</div>
</td> </td>
</tr> </tr>
<%- end -%> <%- end -%>