Feat v0.5.0 realtime dialog (#30)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m36s
CI/CD / test-sqlite (push) Successful in 2m43s
CI/CD / build-and-deploy (push) Successful in 1m19s

Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #30.
This commit is contained in:
2026-03-30 11:07:27 +00:00
committed by xcaliber
parent eb9a2d7d27
commit 2abf406db8
21 changed files with 680 additions and 22 deletions

View File

@@ -372,8 +372,8 @@
// ── File Operations ─────────────────────────
async function _deleteFile(wsId, path, fileTree, codeEditor) {
const ok = typeof showConfirm === 'function'
? await showConfirm('Delete ' + path + '?')
const ok = typeof sw !== 'undefined' && sw.confirm
? await sw.confirm('Delete ' + path + '?', { destructive: true })
: window.confirm('Delete ' + path + '?');
if (!ok) return;
try {

View File

@@ -811,7 +811,7 @@
}
async function handleArchive() {
if (!note || !confirm('Archive this note?')) return;
if (!note || !await sw.confirm('Archive this note?', { destructive: true })) return;
await api.del('/notes/' + note.id);
onDelete();
}
@@ -1717,7 +1717,7 @@
} catch (e) { console.error('Rename folder failed:', e); }
}
async function handleDeleteFolder(folderId) {
if (!confirm('Delete this folder? Notes will be moved to Unfiled.')) return;
if (!await sw.confirm('Delete this folder? Notes will be moved to Unfiled.', { destructive: true })) return;
try {
await api.del('/folders/' + folderId);
if (activeFolderId === folderId) setActiveFolderId(null);

View File

@@ -275,7 +275,7 @@
}
async function handleDelete(item) {
if (!confirm('Delete schedule "' + item.name + '"?')) return;
if (!await sw.confirm('Delete schedule "' + item.name + '"?', { destructive: true })) return;
try {
await apiDelete(item.id);
sw.toast('Schedule deleted', 'success');

View File

@@ -144,7 +144,7 @@
}
async function handleDelete(id) {
if (!confirm('Delete this task?')) return;
if (!await sw.confirm('Delete this task?', { destructive: true })) return;
await api.del('/items/' + id);
onRefresh();
}