fix: 4 audit findings in professionals location flow

- Clear button (✕) now resets _cityMismatch and _detectedCity so banner and CTA unblock
- _citiesMatch: replace bidirectional contains with equality + word-prefix check to prevent 'Cali' matching 'Calima'
- ProfessionalsProvider: track _currentUserId to reset state on user change (cross-user leak)
- ProfessionalsProvider: store _lastSearch so setLocationContext preserves active search term

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-21 20:47:14 -05:00
co-authored by Claude Sonnet 4.6
parent f26b3d3c03
commit 54f9cc272e
3 changed files with 21 additions and 5 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ class AppState extends StatelessWidget {
ChangeNotifierProvider(create: (_) => ProfessionalFormProvider()),
ChangeNotifierProxyProvider<AuthProvider, ProfessionalsProvider>(
create: (_) => ProfessionalsProvider(),
update: (_, auth, prev) => prev!..updateCity(auth.user?.city),
update: (_, auth, prev) => prev!..updateCity(auth.user?.city, userId: auth.user?.id),
),
ChangeNotifierProvider(create: (_) => ServicesProvider()),
ChangeNotifierProvider(create: (_) => CalendarServicesProvider()),