commit f4c3b098dbf4621e09ef7fd414b8adf5901d6e5a
parent e846c637f8c5fcde85333efa492ca0424fff1b52
Author: David Eisinger <[email protected]>
Date: Thu, 29 Jan 2026 12:29:04 -0500
Add saving ... state
Diffstat:
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/internal/api.go b/internal/api.go
@@ -204,7 +204,7 @@ func NewHandlerWithConfig(db *DB, cfg HandlerConfig) (http.Handler, error) {
</label>
<label><input id="pub" type="checkbox" %[4]s> Public</label>
<div class="actions">
- <button type="submit">Save</button>
+ <button id="saveBtn" type="submit">Save</button>
<button class="secondary" type="button" onclick="window.close()">Cancel</button>
</div>
<p class="small">Saves to %[5]s</p>
@@ -216,6 +216,7 @@ func NewHandlerWithConfig(db *DB, cfg HandlerConfig) (http.Handler, error) {
const uname = %[7]s;
const form = document.getElementById('f');
const msg = document.getElementById('msg');
+ const saveBtn = document.getElementById('saveBtn');
const refInput = document.getElementById('ref');
const refClear = document.getElementById('refClear');
const refPaste = document.getElementById('refPaste');
@@ -235,6 +236,10 @@ func NewHandlerWithConfig(db *DB, cfg HandlerConfig) (http.Handler, error) {
form.addEventListener('submit', async function(e){
e.preventDefault();
msg.textContent = '';
+ if (saveBtn) {
+ saveBtn.disabled = true;
+ saveBtn.textContent = 'Saving ...';
+ }
const payload = {
url: document.getElementById('url').value.trim(),
title: document.getElementById('title').value.trim(),
@@ -265,6 +270,10 @@ func NewHandlerWithConfig(db *DB, cfg HandlerConfig) (http.Handler, error) {
} catch (err) {
msg.textContent = 'Error: '+ err.message;
msg.className = 'small error';
+ if (saveBtn) {
+ saveBtn.disabled = false;
+ saveBtn.textContent = 'Save';
+ }
}
});
})();