Files
decent-webui/cmd/filesvc/ui/index.html
jbergner b5ad30cfbd
All checks were successful
release-tag / release-image (push) Successful in 1m32s
init
2025-09-24 11:50:07 +02:00

77 lines
2.3 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>File Service UI</title>
<link rel="stylesheet" href="/static/ui/style.css" />
</head>
<body>
<header>
<h1>File Service</h1>
<div class="cfg">
<label>API Base <input id="baseUrl" value="" placeholder="(same origin)"/></label>
<label>API Key <input id="apiKey" placeholder="X-API-Key"/></label>
<button id="saveCfg">Save</button>
</div>
</header>
<main>
<section class="card">
<h2>Upload</h2>
<form id="uploadForm">
<input type="file" id="fileInput" name="file" required />
<input type="text" id="metaInput" placeholder="meta e.g. project=alpha,owner=alice" />
<button type="submit">Upload</button>
</form>
<details>
<summary>Chunked upload</summary>
<div class="chunk">
<input type="text" id="chunkName" placeholder="filename"/>
<input type="text" id="chunkMeta" placeholder="meta key=val,..."/>
<button id="chunkInit">Init</button>
<span id="chunkId"></span>
<div>
<input type="file" id="chunkFile"/>
<input type="number" id="chunkPart" min="1" value="1"/>
<button id="chunkPut">PUT Part</button>
<button id="chunkComplete">Complete</button>
<button id="chunkAbort">Abort</button>
</div>
</div>
</details>
</section>
<section class="card">
<h2>Files</h2>
<div class="toolbar">
<input type="search" id="q" placeholder="search by name"/>
<button id="refresh">Refresh</button>
</div>
<table id="files">
<thead>
<tr><th>ID</th><th>Name</th><th>Size</th><th>Created</th><th>Actions</th></tr>
</thead>
<tbody></tbody>
</table>
<div class="pager">
<button id="prev">Prev</button>
<span id="pageInfo"></span>
<button id="next">Next</button>
</div>
</section>
</main>
<template id="rowTpl">
<tr>
<td class="mono id"></td>
<td class="name"></td>
<td class="size"></td>
<td class="created"></td>
<td class="actions"></td>
</tr>
</template>
<script src="/static/ui/app.js"></script>
</body>
</html>