Resume-editing banner when a template sheet is dismissed unpublished #53
Labels
No labels
bug
chore
feature
spike
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#33 Entry sheet shell
utilities/Logbook
#35 Draft autosave debounce → sync
utilities/Logbook
Reference
utilities/Logbook#53
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
When the user backs out of a template entry sheet without hitting
Publish, show a small banner pinned to the bottom of the screen (above
the OS nav buttons) offering to resume the draft. Tapping the banner
reopens the sheet with the draft's field values restored exactly as
left. The banner also offers an explicit dismiss/discard control that
throws the draft away.
Motivation
Today (per #33's shell) closing the sheet — via back button or Cancel —
discards all entered field values with no recovery path. Backing out
accidentally (or getting interrupted) currently means redoing the whole
entry. A persistent resume affordance turns "accidental back-out" from
data loss into a one-tap recovery.
Acceptance criteria
exists) without publishing leaves the draft persisted (via #35's
EntryDraftEntity/sync machinery) and shows a bottom-pinned bannerinstead of silently discarding.
LogbookBottomNavand the OSnav-bar/gesture area (respecting
safeDrawingPadding()), andrenders from the root scaffold (
LogbookTabsScaffoldinLogbookApp.kt) so it survives the sheet's own composition beingtorn down.
the underlying draft exists (not just for the current app
session) — reflects
EntryDraftEntitystate, not in-memoryViewModel state.
EntrySheetfor that draft's templatewith all field values restored as they were left.
affordance) that deletes the draft outright and hides the banner,
distinct from just tapping away.
more than one outstanding draft is defined (e.g. most-recent-wins,
or a stacked/queued banner) — needs a design call during planning,
not left implicit.
Non-goals / constraints
question — that's answered by this issue superseding it (Cancel no
longer means hard-discard once this lands).
only consumes it.
FieldRenderer(#34's scope).design/tokens.mdand theexisting
ConflictBanner.ktpattern (warm banner colors, chipactions) rather than introducing a new one from scratch, but is not
pinned to the same inline-in-scroll-body layout — this is a bottom
overlay.
Related
EntrySheet/EntrySheetViewModel, in progress onfeat/entry-sheet-shell).EntryDraftEntitystate to resume from).Tasks/00033/00033-plan.md:139-142about whether Cancel/back needs a discard confirmation.