Commit Graph
8 Commits
Author SHA1 Message Date
javierandClaude Sonnet 4.6 04859c281d fix(projects): la lista salía vacía — el backend envuelve en {projects}
GET /projects responde { "projects": [...] } (ProjectApiController@index),
pero normalize() solo contemplaba un array o { data } → siempre [].
Ahora normalize acepta {projects}/{data}/array, los tipos de listProjects
y getTemplates reflejan la envoltura real ({projects}/{templates}), y el
fallback offline loguea el motivo en vez de tragarse el error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 18:03:18 +02:00
javierandClaude Sonnet 4.6 fdf85e7cc9 feat(api): adaptar cliente al contrato v1.1
- feature_types: nueva tabla local + tipo FeatureType + upsert en applyBundle
  + getFeatureTypes(); FeatureDetail muestra badge del tipo con su color.
- feature: columnas feature_type_id + is_active (migración BD v3);
  feature.update acepta ambas; toggle "Activa" en el detalle con badge
  "inactiva" cuando corresponde.
- templates: ahora catálogo global asignado por pivot — getTemplates() ya no
  filtra por project_id (informativo); phase_id eliminado del tipo y del pick.
- Formulario de inspección: soporta fields[].group (secciones), question
  (etiqueta principal), help (texto de ayuda) y required (validación al
  guardar con aviso de campos faltantes).
- Bundle: tipa issue_tasks correctamente como IssueTask[].
- docs/: sincronizados openapi.yaml y MOBILE_APP_BRIEF.md v1.1 del backend.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 17:39:47 +02:00
javierandClaude Sonnet 4.6 c092052a1c feat(ios): preparar soporte iOS
- app.json: bundleIdentifier + buildNumber para iOS
- eas.json: perfiles iOS (development con simulador, preview ipa, production)
  y appleId para submit
- app.config.js: inyección de GOOGLE_MAPS_IOS_KEY (opcional; por defecto
  la app usa Apple Maps en iOS sin necesitar key)
- FeatureMap: MAP_PROVIDER = PROVIDER_GOOGLE en Android, PROVIDER_DEFAULT
  (Apple Maps) en iOS; elimina dependencia de Google Maps key en iOS

Pendiente: generar /ios con 'npx expo prebuild --platform ios' desde macOS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 09:45:51 +02:00
javierandClaude Sonnet 4.6 fa27b22849 chore: añadir proyecto nativo Android al repositorio
Elimina /android del .gitignore y committea el resultado de
expo prebuild --platform android (Gradle, AndroidManifest, MainActivity,
recursos de icono/splash). Android Studio puede abrirlo directamente
desde la carpeta android/ sin necesidad de ejecutar prebuild.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 09:37:42 +02:00
javierandClaude Sonnet 4.6 9469e2351c chore: actualizar scripts android/ios tras prebuild
expo prebuild actualiza los scripts a expo run:android / expo run:ios
para compilar el proyecto nativo directamente.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 09:36:45 +02:00
javierandClaude Sonnet 4.6 504bbf1a3d feat(photo): pie de página georreferenciado + pantalla de configuración
- FooterOverlay: franja oscura (logo izquierda, campos derecha) superpuesta
  sobre la foto antes de encolarla; tamaños proporcionales a la resolución.
- MediaStrip: capta coordenadas GPS (expo-location) al abrir el picker,
  estampa el footer con react-native-view-shot (view off-screen + onLoad),
  y añade icono ⚙ → PhotoSettings. Fallback: usa foto original si el stamp falla.
- PhotoSettingsScreen (modal): toggle general, selector de logo cuadrado,
  activar/desactivar/editar etiqueta de cada campo (proyecto, fecha, coords)
  y añadir campos personalizados con etiqueta + valor estático.
- footerConfig: persiste en meta table (clave 'photo_footer_config').
- repositories: añade getProject(id).
- navigation: ruta PhotoSettings como modal.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 11:34:38 +02:00
javierandClaude Sonnet 4.6 e16f4585c2 docs: actualizar README con estado real de implementación
Elimina la sección "Pendiente" del scaffold inicial (ya todo implementado)
y la sustituye por tabla de estado con referencia a cada archivo, más la
lista real de próximos pasos (Maps key, test en dispositivo, background sync).
También añade .idea/ al .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 10:05:05 +02:00
javier 3f454b59a5 Initial commit
Generated by create-expo-app 4.0.0.
2026-06-18 17:26:38 +02:00