Refactor coverage widgets and improve localization

- Replaced custom navigation buttons with a new CalendarNavButton widget in coverage_calendar_selector.dart.
- Removed the CoverageHeader widget as it is no longer needed.
- Updated CoverageQuickStats to use CoverageStatCard for displaying statistics.
- Refactored CoverageShiftList to utilize ShiftHeader and WorkerRow for better structure.
- Added LateWorkersAlert with improved localization for late worker notifications.
- Introduced CoverageBadge and CoverageStatCard for better encapsulation of UI components.
- Created CoverageStatsHeader for displaying coverage metrics in a consistent format.
- Implemented ShiftHeader to manage shift-related information display.
- Developed WorkerRow to represent individual worker statuses with proper localization.
This commit is contained in:
Achintha Isuru
2026-03-10 12:27:27 -04:00
parent a22a092b56
commit 80b83a16f3
14 changed files with 707 additions and 761 deletions

View File

@@ -1692,9 +1692,44 @@
"todays_cost": "Today's Cost",
"no_shifts_day": "No shifts scheduled for this day",
"no_workers_assigned": "No workers assigned yet",
"status_checked_in_at": "Checked In at $time",
"status_on_site": "On Site",
"status_en_route": "En Route",
"status_en_route_expected": "En Route - Expected $time",
"status_confirmed": "Confirmed",
"status_running_late": "Running Late",
"status_late": "Late",
"status_checked_out": "Checked Out",
"status_done": "Done",
"status_no_show": "No Show",
"status_completed": "Completed",
"worker_row": {
"verify": "Verify",
"verified_message": "Worker attire verified for $name"
},
"page": {
"daily_coverage": "Daily Coverage",
"coverage_status": "Coverage Status",
"workers": "Workers",
"error_occurred": "An error occurred",
"retry": "Retry",
"shifts": "Shifts"
},
"calendar": {
"prev_week": "\u2190 Prev Week",
"today": "Today",
"next_week": "Next Week \u2192"
},
"stats": {
"checked_in": "Checked In",
"en_route": "En Route"
},
"alert": {
"workers_running_late(count)": {
"one": "$count worker is running late",
"other": "$count workers are running late"
},
"auto_backup_searching": "Auto-backup system is searching for replacements."
}
},
"client_reports_common": {

View File

@@ -1692,9 +1692,44 @@
"todays_cost": "Costo de Hoy",
"no_shifts_day": "No hay turnos programados para este día",
"no_workers_assigned": "Aún no hay trabajadores asignados",
"status_checked_in_at": "Registrado a las $time",
"status_on_site": "En Sitio",
"status_en_route": "En Camino",
"status_en_route_expected": "En Camino - Esperado $time",
"status_confirmed": "Confirmado",
"status_running_late": "Llegando Tarde",
"status_late": "Tarde",
"status_checked_out": "Salida Registrada",
"status_done": "Hecho",
"status_no_show": "No Se Presentó",
"status_completed": "Completado",
"worker_row": {
"verify": "Verificar",
"verified_message": "Vestimenta del trabajador verificada para $name"
},
"page": {
"daily_coverage": "Cobertura Diaria",
"coverage_status": "Estado de Cobertura",
"workers": "Trabajadores",
"error_occurred": "Ocurri\u00f3 un error",
"retry": "Reintentar",
"shifts": "Turnos"
},
"calendar": {
"prev_week": "\u2190 Semana Anterior",
"today": "Hoy",
"next_week": "Semana Siguiente \u2192"
},
"stats": {
"checked_in": "Registrado",
"en_route": "En Camino"
},
"alert": {
"workers_running_late(count)": {
"one": "$count trabajador est\u00e1 llegando tarde",
"other": "$count trabajadores est\u00e1n llegando tarde"
},
"auto_backup_searching": "El sistema de respaldo autom\u00e1tico est\u00e1 buscando reemplazos."
}
},
"client_reports_common": {