feat(sync): media en paralelo + visibilidad proactiva de problemas

- pushMedia sube en lotes de 3 en paralelo (Promise.all por chunk) en vez
  de una a una; contadores del report seguros al ser el runtime monohilo.
- SyncStatusBar: fondo rojo cuando hay conflictos/errores (prioridad sobre
  el estado de conexión), para que el problema salte a la vista.
- ProjectDetail: el auto-sync silencioso ahora avisa una vez con Alert
  cuando un ciclo produce conflictos/errores, con acceso directo a la cola.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 12:00:29 +02:00
co-authored by Claude Sonnet 4.6
parent 5d1a4db42f
commit eee15819ac
3 changed files with 31 additions and 3 deletions
+4 -1
View File
@@ -16,8 +16,11 @@ export function SyncStatusBar({
const pendientes = counts.pending + counts.mediaPending;
const hasProblems = counts.conflict > 0 || counts.error > 0;
// Prioridad de color: problemas (rojo) > sin conexión (ámbar) > al día (verde).
const bg = hasProblems ? '#b00020' : online ? '#1f6f43' : '#8a6d00';
const content = (
<View style={[styles.bar, { backgroundColor: online ? '#1f6f43' : '#8a6d00' }]}>
<View style={[styles.bar, { backgroundColor: bg }]}>
{syncing && <ActivityIndicator color="#fff" size="small" />}
<Text style={styles.text}>
{online ? 'En línea' : 'Sin conexión'}