refactor: remove Trash system — delete is now permanent with confirm modal

Remove all vestiges of the abandoned Trash system: trashed/trashedAt fields
from types, frontmatter parsing, sidebar filtering, editor banners, inspector
components, mock data, and all related tests. Delete is already permanent via
useDeleteActions with a confirmation dialog. Notes with trashed:true in
existing vault frontmatter are now treated as normal notes (the flag is
ignored by the parser).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
lucaronin
2026-04-06 12:21:56 +02:00
parent 53072eb4f3
commit d0c3a6b889
123 changed files with 359 additions and 3166 deletions

View File

@@ -24,7 +24,7 @@ function makeActions() {
onOpenDailyNote: vi.fn(),
onSave: vi.fn(),
onOpenSettings: vi.fn(),
onTrashNote: vi.fn(),
onDeleteNote: vi.fn(),
onArchiveNote: vi.fn(),
onSetViewMode: vi.fn(),
onZoomIn: vi.fn(),
@@ -130,20 +130,20 @@ describe('useAppKeyboard', () => {
try { fn() } finally { document.body.removeChild(input) }
}
it('Cmd+Backspace does not trash note when text input is focused', () => {
it('Cmd+Backspace does not delete note when text input is focused', () => {
const actions = makeActions()
renderHook(() => useAppKeyboard(actions))
withFocusedInput(() => {
fireKey('Backspace', { metaKey: true })
expect(actions.onTrashNote).not.toHaveBeenCalled()
expect(actions.onDeleteNote).not.toHaveBeenCalled()
})
})
it('Cmd+Backspace trashes note when no text input is focused', () => {
it('Cmd+Backspace deletes note when no text input is focused', () => {
const actions = makeActions()
renderHook(() => useAppKeyboard(actions))
fireKey('Backspace', { metaKey: true })
expect(actions.onTrashNote).toHaveBeenCalledWith('/vault/test.md')
expect(actions.onDeleteNote).toHaveBeenCalledWith('/vault/test.md')
})
it('Cmd+K still works when text input is focused', () => {