feat: architecture overhaul, launchpad-style reports, and uber-style locations

- Strengthened Buffer Layer architecture to decouple Data Connect from Domain
- Rewired Coverage, Performance, and Forecast reports to match Launchpad logic
- Implemented Uber-style Preferred Locations search using Google Places API
- Added session recovery logic to prevent crashes on app restart
- Synchronized backend schemas & SDK for ShiftStatus enums
- Fixed various build/compilation errors and localization duplicates
This commit is contained in:
2026-02-20 17:20:06 +05:30
parent e6c4b51e84
commit 8849bf2273
60 changed files with 3804 additions and 2397 deletions

View File

@@ -605,8 +605,21 @@
"languages_hint": "English, Spanish, French...",
"locations_label": "Preferred Locations",
"locations_hint": "Downtown, Midtown, Brooklyn...",
"locations_summary_none": "Not set",
"save_button": "Save Changes",
"save_success": "Personal info saved successfully"
"save_success": "Personal info saved successfully",
"preferred_locations": {
"title": "Preferred Locations",
"description": "Choose up to 5 locations in the US where you prefer to work. We'll prioritize shifts near these areas.",
"search_hint": "Search a city or area...",
"added_label": "YOUR LOCATIONS",
"max_reached": "You've reached the maximum of 5 locations",
"min_hint": "Add at least 1 preferred location",
"save_button": "Save Locations",
"save_success": "Preferred locations saved",
"remove_tooltip": "Remove location",
"empty_state": "No locations added yet.\nSearch above to add your preferred work areas."
}
},
"experience": {
"title": "Experience & Skills",
@@ -1304,17 +1317,31 @@
},
"forecast_report": {
"title": "Forecast Report",
"subtitle": "Projected spend & staffing",
"subtitle": "Next 4 weeks projection",
"metrics": {
"projected_spend": "Projected Spend",
"workers_needed": "Workers Needed"
"four_week_forecast": "4-Week Forecast",
"avg_weekly": "Avg Weekly",
"total_shifts": "Total Shifts",
"total_hours": "Total Hours"
},
"badges": {
"total_projected": "Total projected",
"per_week": "Per week",
"scheduled": "Scheduled",
"worker_hours": "Worker hours"
},
"chart_title": "Spending Forecast",
"daily_projections": "DAILY PROJECTIONS",
"empty_state": "No projections available",
"shift_item": {
"workers_needed": "$count workers needed"
"weekly_breakdown": {
"title": "WEEKLY BREAKDOWN",
"week": "Week $index",
"shifts": "Shifts",
"hours": "Hours",
"avg_shift": "Avg/Shift"
},
"buttons": {
"export": "Export"
},
"empty_state": "No projections available",
"placeholders": {
"export_message": "Exporting Forecast Report (Placeholder)"
}

View File

@@ -605,8 +605,21 @@
"languages_hint": "Inglés, Español, Francés...",
"locations_label": "Ubicaciones Preferidas",
"locations_hint": "Centro, Midtown, Brooklyn...",
"locations_summary_none": "No configurado",
"save_button": "Guardar Cambios",
"save_success": "Información personal guardada exitosamente"
"save_success": "Información personal guardada exitosamente",
"preferred_locations": {
"title": "Ubicaciones Preferidas",
"description": "Elige hasta 5 ubicaciones en los EE.UU. donde prefieres trabajar. Priorizaremos turnos cerca de estas áreas.",
"search_hint": "Buscar una ciudad o área...",
"added_label": "TUS UBICACIONES",
"max_reached": "Has alcanzado el máximo de 5 ubicaciones",
"min_hint": "Agrega al menos 1 ubicación preferida",
"save_button": "Guardar Ubicaciones",
"save_success": "Ubicaciones preferidas guardadas",
"remove_tooltip": "Eliminar ubicación",
"empty_state": "Aún no has agregado ubicaciones.\nBusca arriba para agregar tus áreas de trabajo preferidas."
}
},
"experience": {
"title": "Experiencia y habilidades",
@@ -1304,17 +1317,31 @@
},
"forecast_report": {
"title": "Informe de Previsión",
"subtitle": "Gastos y personal proyectados",
"subtitle": "Proyección próximas 4 semanas",
"metrics": {
"projected_spend": "Gasto Proyectado",
"workers_needed": "Trabajadores Necesarios"
"four_week_forecast": "Previsión 4 Semanas",
"avg_weekly": "Promedio Semanal",
"total_shifts": "Total de Turnos",
"total_hours": "Total de Horas"
},
"badges": {
"total_projected": "Total proyectado",
"per_week": "Por semana",
"scheduled": "Programado",
"worker_hours": "Horas de trabajo"
},
"chart_title": "Previsión de Gastos",
"daily_projections": "PROYECCIONES DIARIAS",
"empty_state": "No hay proyecciones disponibles",
"shift_item": {
"workers_needed": "$count trabajadores necesarios"
"weekly_breakdown": {
"title": "DESGLOSE SEMANAL",
"week": "Semana $index",
"shifts": "Turnos",
"hours": "Horas",
"avg_shift": "Prom./Turno"
},
"buttons": {
"export": "Exportar"
},
"empty_state": "No hay proyecciones disponibles",
"placeholders": {
"export_message": "Exportando Informe de Previsión (Marcador de posición)"
}