feat: Reportes, chat de discusión y mejoras de navegación

- Tab "Reportados" en Contratos (cliente) y tab "Reportadas" en Postulaciones (proveedor) con skeleton loading e ionViewWillEnter
- Modal de chat para discusión de reportes: burbujas por rol (propio/otro/moderador), skeleton, input con cámara y envío
- Endpoints GET/POST contracts/reports/{id}/comments en ichamba.service
- userId guardado en AuthService desde auth/user para identificar mensajes propios
- Botón "Postularse" corregido con slot=end en ion-item
- Todas las secciones de tabs migradas de ngOnInit a ionViewWillEnter + ChangeDetectorRef.detectChanges()
- Android navigation bar reactiva al tema del sistema vía values/values-night styles.xml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 21:05:24 -06:00
parent aa8b0061c9
commit c677fdcb59
34 changed files with 901 additions and 102 deletions

View File

@@ -44,7 +44,7 @@
"dashboard": {
"header": "Find services",
"searchbox_placeholder": "Enter the service you are looking for",
"slogan": "Everything begins with a search",
"slogan": "It all starts with a search",
"welcome": "Welcome"
},
@@ -62,6 +62,7 @@
"header_1": "Postulated",
"header_2": "Confirmed",
"header_3": "Finished",
"header_4": "Reported",
"parent": "Extra charge from service: ",
"status": "Status",
"rate": "Rate",
@@ -73,7 +74,7 @@
"validate": "Validate",
"hire_info_1": "You are about to hire",
"hire_info_2": "to provide the service you have requested.",
"hire_pay": "Please select with which card do you want to pay the service and enter the CVV of the card to continue.",
"hire_pay": "Please select which card do you want to pay the service with, and enter the CVV of the card to continue.",
"hire_confirm": "Hire service",
"coupon": "Coupon",
"no_home": "Not at home",
@@ -178,6 +179,12 @@
"faq_9.1": "Phone numbers so you can contact each other and the user names."
},
"reports": {
"header": "My Reports",
"company": "Company",
"empty": "You have no reports registered"
},
"alerts": {
"login": "Logged In",
"login_error": "Wrong email or password",