7f35297025
Naser confirmed all remaining QA Review / Draft rows (97 subtasks, 16
parent rollups) are done in substance: the site has been in production
for roughly a year. Overrides the conservative QA-Review/Draft mapping
from the prior takeover commit (0f9d12c) at his explicit instruction.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
---
|
|
id: 6-3
|
|
title: 6-3 Quick Actions Panel
|
|
status: Done
|
|
date: 2026-09-27
|
|
parent: 6
|
|
---
|
|
|
|
## Description
|
|
|
|
As an admin, I want quick access to pending items and common tasks, So that I can efficiently manage my daily workflow without navigating away from the dashboard. Full implementation history: docs/stories/story-6.3-quick-actions-panel.md
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] Display count badge showing number of pending consultation requests
|
|
- [ ] Urgent indicator (red/warning styling) when pending count > 0
|
|
- [ ] Mini list showing up to 5 most recent pending bookings with:
|
|
- [ ] "View All" link navigating to booking management page (`admin.bookings.pending`)
|
|
- [ ] Empty state message when no pending bookings
|
|
- [ ] List of today's approved consultations ordered by time
|
|
- [ ] Each item displays:
|
|
- [ ] Quick status buttons for each consultation:
|
|
- [ ] Empty state message when no consultations scheduled today
|
|
- [ ] Display last 5 timeline updates across all clients
|
|
- [ ] Each item shows:
|
|
- [ ] Click navigates to the specific timeline (`admin.timelines.show`)
|
|
- [ ] Empty state message when no recent updates
|
|
- [ ] **Create Client** button - navigates to `admin.clients.individual.create`
|
|
- [ ] **Create Post** button - navigates to `admin.posts.create`
|
|
- [ ] **Block Time Slot** button - opens modal to block availability
|
|
- [ ] Bell icon in admin header/navbar
|
|
- [ ] Badge showing total pending items count (pending bookings)
|
|
- [ ] Badge hidden when count is 0
|
|
- [ ] Click navigates to pending bookings
|
|
- [ ] Widgets auto-refresh via Livewire polling every 30 seconds
|
|
- [ ] No full page reload required
|
|
- [ ] Visual indication during refresh (subtle loading state) - Using default Livewire behavior
|