Replace native confirm() dialogs with Cairn modals (revoke share, delete) #196

Closed
opened 2026-08-11 22:09:07 +00:00 by Cordy · 0 comments
Owner

Dogfood (Nikola): destructive confirmations use the browser's built-in confirm() dropdown, which looks foreign to the app:

  • Revoking a shareconfirm(tf("revokeShareConfirm", …)) in openSharesView (index.html).
  • Deleting a folder (and file) — confirm(…) in the delete handler.

These should use Cairn's own styled modal, consistent with the rest of the UI (the app already has a <dialog> + showModal() pattern — e.g. the Share dialog — to model after).

Scope: sweep every confirm() (and any prompt(), e.g. rename) in web/static/index.html and route them through a small reusable Cairn confirm/prompt modal (title, message, Cancel / destructive-action buttons; Enter/Escape handling; focus trap). Keep the i18n strings; just change the presentation.

Frontend polish — batched for a UI pass (not urgent, but visible on every destructive action).

Dogfood (Nikola): destructive confirmations use the browser's built-in `confirm()` dropdown, which looks foreign to the app: - **Revoking a share** — `confirm(tf("revokeShareConfirm", …))` in `openSharesView` (index.html). - **Deleting a folder** (and file) — `confirm(…)` in the delete handler. These should use Cairn's own styled modal, consistent with the rest of the UI (the app already has a `<dialog>` + `showModal()` pattern — e.g. the Share dialog — to model after). Scope: sweep every `confirm()` (and any `prompt()`, e.g. rename) in `web/static/index.html` and route them through a small reusable Cairn confirm/prompt modal (title, message, Cancel / destructive-action buttons; Enter/Escape handling; focus trap). Keep the i18n strings; just change the presentation. Frontend polish — batched for a UI pass (not urgent, but visible on every destructive action).
Cordy closed this issue 2026-08-11 23:09:39 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#196
No description provided.