Skip to content

feat: v0.6.5 — edit page polish, universal delete, widget modal, refr…#71

Merged
crzykidd merged 1 commit into
mainfrom
dev
May 17, 2026
Merged

feat: v0.6.5 — edit page polish, universal delete, widget modal, refr…#71
crzykidd merged 1 commit into
mainfrom
dev

Conversation

@crzykidd

Copy link
Copy Markdown
Owner

Summary

Third and final release in the "UI overhaul, part 2" arc. Five pieces of
work, all landing together:

  • Universal delete popover. New inline popover replaces the old
    confirm()/prompt() dialogs and the typed-name Danger Zone form. All
    delete entry points (drawer button, tile trash icon, row trash icon, edit
    page button) use the same component. Backed by a new JSON endpoint
    POST /api/v1/entries/<id>/delete so tile/row deletes don't require a
    full page reload.

  • Trash + lock icons on Tiled tiles and Dashboard rows. Dynamic entries
    get a trash icon in the action row (muted by default, red on hover). Static
    (Locked) entries get a lock icon in the same slot — passive, non-clickable,
    signals "delete from edit page only." Replaces the 🔒 emoji on Dashboard
    rows. Drawer Delete button hidden for static entries.

  • Edit page form polish. Four section headings (Identity / URLs & Health /
    Grouping & Display / Widget), tighter input padding and border-radius, URL
    fields now group their health-check checkbox directly below the input,
    helper text muted and italicized, group selector replaced with a tab-style
    toggle (pure CSS, underlying radios unchanged so toggleGroupMode JS is
    untouched). Danger Zone section removed; single Delete button at the bottom
    uses the new popover.

  • Widget data modal. Chart icon on Tiled tiles is now a <button>. Click
    opens a modal populated from the already-server-rendered widget cards inside
    the tile's (hidden) drawer — no new API endpoint, no new template rendering.
    Responsive card grid: 3-col desktop → 2-col ≤480px → 1-col ≤360px.

  • Auto-refresh pauses while interacting. New isInteracting() checks for
    any open tile drawer, widget modal, delete popover, or changelog modal. While
    true, the refresh tick skips the reload and shows "Refresh paused (drawer
    open)." Timer resets to 0 on close so the next cycle starts fresh.

@crzykidd crzykidd merged commit 6ad563b into main May 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant