- Rename "Show deleted versions" toggle to "Show archived" and align copy
throughout this surface to archive/archived/soft-deletion terminology,
consistent with the S3 delete-marker model without exposing that term to
users.
- Fix restore semantics: restoring any row — the top-level group or an
individual version — now fully un-archives the whole file (removes the
delete marker), rather than the previous mock behavior of just filtering
a version out of the list without actually restoring anything.
- Abstract the delete marker away: the version that was live at the moment
a file was archived is folded into the same merged, expandable version
list as its retained noncurrent versions (tagged "Was current"), instead
of being implicit in the top-level row's own fields. Permanently deleting
that specific row promotes the next most recent version in its place via
a new deleteCurrentTrashVersionPermanently mock + mutation hook.
- Fix bulk restore/delete to correctly split a mixed selection of top-level
object ids and nested version keys and route each to the right endpoint
(new DeletedFilesList.utils.ts, with unit tests) — previously a bulk
action on a selected nested version silently did nothing.
- Redesign DeletedFilePreviewPane to match the live file preview panel:
same header/close-button chrome, a version-select swaps the top slot for
a restore widget (mirroring the live compare-and-restore widget, minus
the comparison since there's no live "current" to compare against), and
a collapsible Versions section reusing VersionThumbnail row styling.