A toggle on the dashboard flips into edit mode where widgets get
drag/edit/delete handles and a "+ Add widget" button per column. Most
edits no longer require touching YAML.
- Drag-drop reorder via SortableJS, persisted through a bulk-layout
endpoint that rebuilds each column's widgets sequence in the
yaml.Node tree.
- Inline form dialog driven by per-widget field schemas
(admin-schemas.go) covering 25 widget types. Surgical updates apply
changed fields to the widget node so untouched keys and comments
survive. Falls back to the existing YAML editor for group and
split-column (those need a recursive nested-widget UI).
- Per-column "+ Add widget" picker that opens the dialog pre-filled
with sensible defaults for the chosen type.
- Field validation and autocomplete for weather location (Open-Meteo
geocoding), market symbol (Yahoo Finance), and RSS feed URL
(gofeed). Network failures soft-pass for weather/markets so the
save isn't blocked when external APIs are unreachable.
- Picking a market suggestion auto-fills the company name field via
per-suggestion `extra` fields.
- Edit mode persists across reloads via localStorage so saves don't
drop the user back into view mode.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>