- Sistema de propiedades: modal add-property con autocomplete y selector de ícono
- category.page rediseñado: selector de propiedad, fotos (Capacitor Camera), sin fecha/precio
- Modal postulate-offer: proveedor propone 2 fechas requeridas + monto con validación de cuota mínima
- viewsuppliers: chips de ordenamiento frontend (fecha, precio, certificados)
- hire.page: selección de fecha (date_1/date_2) antes de contratar; selected_date en contracts/create y contracts/coupon
- Modal contract-discussion: chat de burbujas para contratos activos
- contracted.page: botón de chat por contrato
- pending.page: botones cancelar y repostular por postulación
- Modal repostulate: pre-llena categoría/propiedad, archiva original como perdido y crea nueva con related_postulation_id
- current.page: temporizador de expiración basado en time_created (1000 min), oculta expiradas
- ichamba.service: nuevos métodos properties, cancelPostulation, contractDiscussion, updated signatures
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Foto de perfil (con fallback a icono) en contratos, viewsuppliers, team y assign-technician
- Eliminado item "Tarjetas" del side menu y sus rutas del router
- Fix tab-bar cortado en Samsung: --padding-start/end: 2px en ion-tab-button (global.scss)
- Safe area vars explícitas en variables.scss para edge-to-edge en Android
- Botón X para cerrar toasts manualmente (alert.service.ts)
- ion-input de equipo: ion-label separado para evitar color verde de validación en focus
- ion-textarea report-discussion: --highlight-height: 0 y fondo adaptable al tema
- Enter en textarea de discusión envía el mensaje
- HTML en alertas de equipo vía querySelector('.alert-message').innerHTML
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>