Files
Naser Mansour 7f35297025 Mark all libra tasks Done — confirmed live in production ~1 year
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>
2026-09-27 22:04:04 +03:00

2.1 KiB

id, title, status, date, parent
id title status date parent
7-1 7-1 Client Dashboard Overview Done 2026-09-27 7

Description

As a client, I want a dashboard showing my key information at a glance, So that I can quickly see upcoming consultations and case updates. Full implementation history: docs/stories/story-7.1-client-dashboard-overview.md

Acceptance Criteria

  • Display "Welcome, {client name}" greeting
  • Use localized greeting based on user's preferred language
  • Show current date in user's locale format
  • Display next approved consultation (or "No upcoming consultations" if none)
  • Show consultation date/time formatted per locale (AR: DD/MM/YYYY, EN: MM/DD/YYYY)
  • Show time in 12-hour format (AM/PM)
  • Display type badge: "Free" (green) or "Paid" (gold)
  • Display status badge with appropriate color
  • "View Details" link to consultation details (Story 7.2)
  • Display count of active timelines
  • Show preview of most recent update (truncated to ~100 chars)
  • "View All Cases" link to timelines list (Story 7.3)
  • Empty state: "No active cases" with muted styling
  • Display last 3 timeline updates across all user's cases
  • Each update shows: case name, update date, preview text
  • "View Timeline" link for each update
  • Empty state: "No recent updates"
  • Display count of pending booking requests
  • Show booking limit indicator:
  • "Book Consultation" button linking to booking page (Story 7.5)
  • Disable button if daily limit reached
  • Card-based layout using Flux UI components
  • Color scheme: Navy (#0A1F44) background sections, Gold (#D4AF37) accents
  • Mobile-first responsive (stack cards vertically on mobile)
  • All text content bilingual (Arabic RTL / English LTR)
  • Use consistent spacing: gap-6 between cards, p-6 card padding
  • No consultations: Show empty state with "Book your first consultation" CTA
  • No timelines: Show empty state "No cases assigned yet"
  • No updates: Show empty state "No recent updates"
  • Loading state: Show skeleton loaders while data fetches