aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/internal/pkgserver/ui/index.html
diff options
context:
space:
mode:
authormae <mae@maestoso.online>2026-03-04 22:50:58 -0600
committerOphestra <cat@gensokyo.uk>2026-05-02 05:05:56 +0900
commit1d5d063d6a443c9d4a1206d2743e4824411da956 (patch)
treeb32105cf3896f394be91099cfbfb67785de39385 /cmd/mbf/internal/pkgserver/ui/index.html
parente61628a34ecccae0feb5e059a2f808977261fa0e (diff)
cmd/mbf: package status dashboard
This displays package metadata with optional status from a report.
Diffstat (limited to 'cmd/mbf/internal/pkgserver/ui/index.html')
-rw-r--r--cmd/mbf/internal/pkgserver/ui/index.html57
1 files changed, 57 insertions, 0 deletions
diff --git a/cmd/mbf/internal/pkgserver/ui/index.html b/cmd/mbf/internal/pkgserver/ui/index.html
new file mode 100644
index 00000000..d2d71cbd
--- /dev/null
+++ b/cmd/mbf/internal/pkgserver/ui/index.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="style.css">
+ <title>Hakurei PkgServer</title>
+ <script src="index.js"></script>
+</head>
+<body>
+<h1>Hakurei PkgServer</h1>
+<div class="top-controls" id="top-controls-regular">
+ <p>Showing entries <span id="entry-counter"></span>.</p>
+ <span id="search-bar">
+ <label for="search">Search: </label>
+ <input type="text" name="search" id="search"/>
+ <button onclick="doSearch()">Find</button>
+ <label for="include-desc">Include descriptions: </label>
+ <input type="checkbox" name="include-desc" id="include-desc" checked/>
+ </span>
+ <div><label for="count">Entries per page: </label><select name="count" id="count">
+ <option value="10">10</option>
+ <option value="20">20</option>
+ <option value="30">30</option>
+ <option value="50">50</option>
+ </select></div>
+ <div><label for="sort">Sort by: </label><select name="sort" id="sort">
+ <option value="0">Definition (ascending)</option>
+ <option value="1">Definition (descending)</option>
+ <option value="2">Name (ascending)</option>
+ <option value="3">Name (descending)</option>
+ <option value="4">Size (ascending)</option>
+ <option value="5">Size (descending)</option>
+ </select></div>
+</div>
+<div class="top-controls" id="search-top-controls" hidden>
+ <p>Showing search results <span id="search-entry-counter"></span> for query "<span id="search-query"></span>".</p>
+ <button onclick="exitSearch()">Back</button>
+ <div><label for="search-count">Entries per page: </label><select name="search-count" id="search-count">
+ <option value="10">10</option>
+ <option value="20">20</option>
+ <option value="30">30</option>
+ <option value="50">50</option>
+ </select></div>
+ <p>Sorted by best match</p>
+</div>
+<div class="page-controls"><a href="javascript:prevPage()">&laquo; Previous</a> <input type="text" class="page-number" value="1"/> <a href="javascript:nextPage()">Next &raquo;</a></div>
+<table id="pkg-list">
+ <tr><td>Loading...</td></tr>
+</table>
+<div class="page-controls"><a href="javascript:prevPage()">&laquo; Previous</a> <input type="text" class="page-number" value="1"/> <a href="javascript:nextPage()">Next &raquo;</a></div>
+<footer>
+ <p>&copy;<a href="https://hakurei.app/">Hakurei</a> (<span id="hakurei-version">unknown</span>). Licensed under the MIT license.</p>
+</footer>
+<script>main();</script>
+</body>
+</html> \ No newline at end of file