--- id: 4-3 title: 4-3 Timeline Archiving status: Done date: 2026-09-27 parent: 4 --- ## Description As an admin, I want to archive completed cases and unarchive if needed, So that I can organize active and completed case timelines. Context: Integrates with: timelines table (status field from Story 4.1); Technology: Livewire Volt; Follows pattern: Soft state change pattern. Add these methods to app/Models/Timeline.php:. Full implementation history: docs/stories/story-4.3-timeline-archiving.md ## Acceptance Criteria - [ ] Archive button on timeline detail view (admin only) - [ ] Confirmation modal before archiving ("Are you sure?") - [ ] Status changes to 'archived' - [ ] Timeline remains visible to client (read-only as always) - [ ] No further updates can be added (show disabled state with tooltip) - [ ] Visual indicator shows archived status (badge + muted styling) - [ ] Unarchive button on archived timelines - [ ] Status returns to 'active' - [ ] Updates can be added again - [ ] Archiving already-archived timeline: No-op, no error shown - [ ] Unarchiving already-active timeline: No-op, no error shown - [ ] Adding update to archived timeline: Prevented with error message - [ ] Audit log for status changes (action: 'archive' or 'unarchive') - uses AdminLog `action` field - [ ] Bilingual labels (AR/EN for buttons, messages) - [ ] Feature tests covering all scenarios below