feat: sticky slideover Save + uncategorised-view polish + regression plan

- Slideover Save action row is now sticky at the bottom of the scrolling
  body (background + top border) so it stays reachable on entries with
  many custom fields or attachments — was previously buried below the
  fold.
- Uncategorised view (state.view = 'folder:All'):
  - Header title reads "(no folder)" instead of the ambiguous "All".
  - Sidebar pseudo-entry stays visible whenever the vault has at least
    one real folder, so it can be used as a drag drop-target to move
    entries out of a folder even when its own count is 0.
  - Empty state gets its own copy ("No uncategorised entries" + hint
    to drop entries here to uncategorise) instead of the generic
    "Folder is empty".
- TEST_REGRESSION.md checked in — 16-section list scoped to what the
  recent Esc / drag / sync / import work touched, so post-commit
  regressions can be walked through methodically instead of poking
  the app ad-hoc.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-07-01 13:04:45 +01:00
parent 4cb45ec63a
commit fbfc24a4d5
4 changed files with 191 additions and 5 deletions
+13 -1
View File
@@ -2180,7 +2180,19 @@ body[data-editor-position="center"]:has(#settingsPanel.is-open)::before {
padding: 8px 4px;
}
.so-pw-row .so-input:focus { box-shadow: none; }
.slideover-actions { display: flex; gap: 8px; margin-top: 24px; }
/* Sticky action row — stays glued to the bottom of the slideover body
while it scrolls, so Save is reachable without scrolling all the way
down on entries with lots of custom fields / attachments. */
.slideover-actions {
display: flex; gap: 8px;
position: sticky;
bottom: -20px; /* cancel the .slideover-body padding-bottom */
margin: 24px -20px -20px; /* extend to the edges */
padding: 12px 20px;
background: var(--bg-elev);
border-top: 1px solid var(--border);
z-index: 2;
}
/* ---- 11. MODALS ------------------------------------------ */