trackslash
VAULT-29 P2

Redesign the Danger Zone as a bottom sheet like the New Item picker

0
All issues

Description

Both the Danger Zone row in Settings and the screen it opens look dated. Redesign the screen as a bottom sheet in the style of the New Item picker.

Today:

  • The red "Danger Zone" row opens a full-height sheet (SettingsDangerView). The sheet holds a Form with a PlaceholderView header ("Danger Zone", "Be careful what you do here."), a single "Delete All Data" button, and Done in a toolbar.
  • Tapping Delete All Data asks for device authentication and then deletes everything straight away (SettingsDangerViewModel.deleteEntireVault()). Nothing says what will be lost.

What to change:

  • Sheet: present it as a bottom sheet sized to fit, like CreateItemPickerView: a title, a short explanation, the action as a card on the sheet's glass, and a drag indicator. Drop the full-height form and the Done toolbar.
  • Explanation: say what Delete All Data removes and what it doesn't, for example backups already saved elsewhere. Check what VaultDataModel.deleteVault() actually clears, including the backup password, auto-backup settings and the AutoFill store.
  • Confirmation: consider a "Delete everything?" step before authentication, sliding in within the same sheet the way the editor's steps do. Keep device authentication.
  • Settings row: make the row itself match the redesigned Settings rows (VAULT-24), for example with a subtitle.
  • States to keep: the deleting state, which can't be dismissed, and the error message.

MANIFESTO.md: the Danger Zone is in scope. Don't add bulk actions such as "Clear All Killphrases" (C1). Asking for device authentication doesn't make a dangerous action safe to add (C4).

Tests: snapshot tests in light and dark mode, covering the idle, confirming, deleting and error states.

Linked issues

1

Sub-issues

0

GitHub

0

No branches or pull requests linked.

Comments

1
Bradley

Fixed in https://github.com/badbundle/vault-app/pull/618 (merged as a4e36a76).

  • The sheet: the Danger Zone button now opens a fitted bottom sheet in the style of the create-item picker. It works in two steps: first it lists what deleting removes and what it keeps, then it asks for confirmation before anything is deleted. It's still behind device authentication.
  • AutoFill fix: Delete All Data used to report failure whenever the AutoFill provider was disabled, even though the data had been deleted. It no longer does.
  • Widgets: they now reload their timelines after the vault is deleted, via onVaultDeleted, so they don't keep showing deleted items.