70 Commits
Author SHA1 Message Date
Lizandro GuarnizoandClaude Opus 5 8631e6f729 fix: port 7 web features and repair the endless-loading screens
Root cause behind most "stuck loading" reports: the backend changed shape
(schedules became an array, location_preferences a string) while the mobile
parser still hard-cast to Map/int. The TypeError was swallowed by a silent
catch that returned null, and screens only handled the success state, so a
parse failure rendered as a permanent spinner. Same class of bug appeared
across service lists via non-null map lookups and a total absence of
request timeouts.

Ported from prosappweb:
- in-app suggestions (POST /suggestions)
- policies/terms from GET /settings/policies
- configurable appointment length (slot_duration_minutes)
- block/unblock calendar slots (POST /services/block)
- GPS city detection on the profile (Nominatim)
- server-side professional search with haversine distance
- retry cooldown after a rejected professional application

Reliability:
- parse schedules array (day_of_week 0=Mon) and string location_preferences
- read times as wall clock, so 08:00 stays 08:00 across timezones
- carry minutes into hours in TimeOfDay.add; a minute-based step used to
  loop forever and freeze the calendar (covered by test/time_slots_test.dart)
- semver update check instead of string equality, which blocked every build
  that did not exactly match the configured version
- request timeouts across all repositories
- surface HTTP >= 400 instead of reporting failed writes as success
- error states with retry instead of an indefinite shimmer

Includes pre-existing uncommitted work from the UI redesign.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 16:45:42 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 79f350e85f feat: implement FCM push notifications via firebase_messaging
- Add firebase_core + firebase_messaging to pubspec.yaml
- Initialize Firebase in main.dart before runApp
- NotificationBloc: request permission, get FCM token, register with
  backend (PATCH /users/me/fcm-token), show local notification on
  foreground messages, refresh token on rotation
- app_view.dart: call initializePushNotifications() on authenticated state

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 12:43:41 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 af91e0ba04 chore: remove Firebase dependencies and legacy code (Fase 4)
- Delete all firebase_*_repository.dart files (replaced by api_* equivalents)
- Remove cloud_firestore, firebase_auth, firebase_storage, firebase_core from all package pubspecs
- Remove cloud_firestore from main pubspec.yaml
- Delete firebase_options.dart (no longer referenced)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 18:11:31 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 733384091c feat: migrate prosappco from Firebase to NestJS REST API (Fase 2)
- Replace all Firebase* repositories with Api* repositories using HTTP + SharedPreferences JWT
- Remove Firebase.initializeApp() and firebase_messaging background handler from main.dart
- Update DI (app_di.dart) to inject Api* repositories instead of Firebase* ones
- Replace all Timestamp/cloud_firestore usage with ISO 8601 String dates
- Stub PhoneVerificationService (Firebase phone OTP → backend OTP when implemented)
- Add ApiService singleton with JWT management in lib/services/
- Legacy firebase_*_repository.dart files preserved for Fase 4 cleanup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 16:53:11 -05:00
lizandrogd dcd697e885 update 2024-05-28 17:19:13 -05:00
Lizandro Guarnizo ac53cc7cb5 Actualizacion de plugin, 2024-05-28 16:09:37 -05:00
Lizandro Guarnizo 8899a3b79f Update pubspec.yaml 2024-05-27 15:46:02 -05:00
Lizandro Guarnizo e27955d671 up 2024-05-21 10:26:19 -05:00
Felipe 76be1f1f1a lading chat 2024-04-23 14:51:15 -05:00
Felipe 141d11a141 puntacion 2024-04-17 00:48:46 -05:00
Felipe 61d517aaea chat screen 2024-04-16 08:46:06 -05:00
Felipe d7fe33cf30 horario del profesional 2024-03-27 16:42:50 -05:00
Felipe a3c50cf2c8 form pro - sin imagenes 2024-03-14 22:07:46 -05:00
Felipe 66125235dd configuracion - sugerencias - soporte 2024-03-13 23:55:48 -05:00
Felipe a25bc6a987 new city 2024-03-13 13:59:33 -05:00
Felipe e00772f58a label 2024-02-20 17:11:43 -05:00
Felipe 997c6047bb before 2024-02-19 18:16:51 -05:00
Felipe d9d6b50d78 stream 2024-02-16 11:14:01 -05:00
Felipe 9ca2b62be3 bloc 2024-02-16 08:52:37 -05:00
lizandrogd 1c20d0c0cd update 2024-01-16 21:48:38 -05:00
Felipe 221a59b5f5 update 2023-12-01 12:17:12 -05:00
lizandrogd 9762ba6998 up 2023-11-17 20:16:29 -05:00
Felipe ef58892c13 update 2023-11-17 16:32:30 -05:00
Felipe 043c3c580c update 2023-11-14 12:37:09 -05:00
Felipe 24f0d80e32 update 2023-11-11 18:13:58 -05:00
Felipe f732d461d0 update 2023-11-10 15:34:13 -05:00
lizandrogd 5af3b24275 Merge branch 'main' of https://github.com/lizandrogd/prosappco 2023-11-08 17:28:11 -05:00
lizandrogd 5fc8e00f77 update 2023-11-08 17:28:09 -05:00
Felipe 7cf5c5fbfb update 2023-11-08 16:05:47 -05:00
Felipe cd70e946af update 2023-11-03 09:31:20 -05:00
lizandrogd 0fce441291 up 2023-11-01 22:45:05 -05:00
lizandrogd 7e4ed51704 update 2023-11-01 21:38:05 -05:00
Felipe 9a41d12cc7 update 2023-11-01 10:37:57 -05:00
Felipe efa8c37a88 version 2023-10-28 16:04:44 -05:00
lizandrogd b1868fe204 update 2023-10-25 09:44:26 -05:00
lizandrogd 5e5301412a update funcional 2023-10-23 18:31:01 -05:00
lizandrogd 0d1a06bcf9 update 2023-09-01 16:06:36 -05:00
lizandrogd 1270f3a6b5 uodate 2023-08-22 23:51:31 -05:00
lizandrogd ede125d181 Revert "update"
This reverts commit d44da638b5.
2023-08-21 22:11:41 -05:00
lizandrogd d44da638b5 update 2023-08-21 21:48:47 -05:00
Felipe 0fff47fdac direccion para mobile 2023-08-17 15:38:20 -05:00
Felipe 92a524c799 test 2023-07-10 12:20:39 -05:00
Juan Felipe Duarte e994230631 prosapp changes 2023-06-23 21:55:10 -05:00
Juan Felipe Duarte 90ec1293ea notificaciones 2023-06-23 10:39:10 -05:00
Juan Felipe Duarte 967f0859b3 token 2023-06-21 15:25:26 -05:00
Juan Felipe Duarte f80d0a0f30 cambios 2023-06-20 17:40:29 -05:00
Juan Felipe Duarte 8dffecf6a4 fix 2023-06-20 11:22:01 -05:00
Juan Felipe Duarte a190833b53 update 2023-06-20 11:21:14 -05:00
Juan Felipe Duarte f923a8f5bc notificaciones 2023-06-16 10:00:20 -05:00
Juan Felipe Duarte 583d99b3bb imagenes falta especializaciones 2023-06-07 17:29:43 -05:00