74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
# Story 7.3: My Cases/Timelines View
|
|
|
|
## Epic Reference
|
|
**Epic 7:** Client Dashboard
|
|
|
|
## User Story
|
|
As a **client**,
|
|
I want **to view my case timelines and their updates**,
|
|
So that **I can track the progress of my legal matters**.
|
|
|
|
## Acceptance Criteria
|
|
|
|
### Active Cases Section
|
|
- [ ] List of active timelines
|
|
- [ ] Case name and reference
|
|
- [ ] Last update date
|
|
- [ ] Update count
|
|
- [ ] "View" button
|
|
|
|
### Archived Cases Section
|
|
- [ ] Clearly separated from active
|
|
- [ ] Different visual styling (muted)
|
|
- [ ] Still accessible for viewing
|
|
|
|
### Individual Timeline View
|
|
- [ ] Case name and reference
|
|
- [ ] Status badge (active/archived)
|
|
- [ ] All updates in chronological order
|
|
- [ ] Each update shows:
|
|
- Date and time
|
|
- Update content
|
|
- [ ] Read-only (no interactions)
|
|
|
|
### Navigation
|
|
- [ ] Back to cases list
|
|
- [ ] Responsive layout
|
|
|
|
## Technical Notes
|
|
|
|
Reuse components from Story 4.5.
|
|
|
|
```php
|
|
new class extends Component {
|
|
public function with(): array
|
|
{
|
|
return [
|
|
'activeTimelines' => auth()->user()
|
|
->timelines()
|
|
->active()
|
|
->withCount('updates')
|
|
->latest('updated_at')
|
|
->get(),
|
|
'archivedTimelines' => auth()->user()
|
|
->timelines()
|
|
->archived()
|
|
->withCount('updates')
|
|
->latest('updated_at')
|
|
->get(),
|
|
];
|
|
}
|
|
};
|
|
```
|
|
|
|
## Definition of Done
|
|
- [ ] Active cases display correctly
|
|
- [ ] Archived cases separated
|
|
- [ ] Timeline detail view works
|
|
- [ ] Updates display chronologically
|
|
- [ ] Read-only enforced
|
|
- [ ] Tests pass
|
|
|
|
## Estimation
|
|
**Complexity:** Medium | **Effort:** 3-4 hours
|