Spaces: lifecycle UI polish — consequence dialog + name confirm, deactivated group, in-space banner #407
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "space-ui"
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?
Closes the #286 UI polish round (mockups A2/B2/C, operator-approved 2026-09-03).
Delete dialog (A2): consequence rows with icons (contents→trash, name tombstone, holds shield), space name in the title in normal type, and a type-the-name-to-confirm input gating the danger button — matching the admin inventory's confirmation. The recoverability copy is now dynamic and honest: it names the live retention window, or — when the automatic sweep is off, the default — states that nothing is removed automatically. Backed by a new
neverPurgefield onGET /api/v1/spaces/{name}/state(SpacesAPI.NeverPurgeclosure wired fromTrashAutoPurgein both main.go branches).Spaces listing (B2):
deactivatedis stamped on/spaceslisting rows (fillSpaceStates, in-memory spacestore lookups — only owners/admins ever receive such rows). Deactivated spaces sink below an amber "Deactivated" divider, dimmed, amber chip (data-t="spoff"), sub-line "Hidden from members · you keep view-only access", and the footer counts them. The row visibly moving down is the deactivation feedback.Inside a deactivated space (C): the listing response gains
spaceDeactivated; the breadcrumb's "View only" chip gets an amber "Deactivated" sibling, and a one-line banner explains the state with an inline Reactivate button.i18n ×4 (new keys follow the escape convention);
TestFillSpaceStatescovers the enrichment incl. nil-safety and path gating; vet/build/targeted tests/webcheck/web tests green on the runner.