ea11a423e00a5bd6bcb75ad6938ad6f58f62a61d
routerProvider was watching authProvider and returning a new GoRouter on every status transition (unknown → authenticated). This caused MaterialApp.router to rebuild the entire navigation tree, which triggered all data providers to start loading before auth was confirmed. Switch to refreshListenable pattern: GoRouter is created once, _RouterNotifier fires notifyListeners() when auth changes, and GoRouter re-runs redirect using ref.read(authProvider). Add /loading splash route shown during AuthStatus.unknown so no authenticated screen (and no API call) is initiated until the stored-token check completes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
FoodAI — мобильное приложение, которое помогает пользователю управлять своим питанием: планировать меню, вести учёт калорий и контролировать запасы продуктов. Ключевая особенность — использование камеры телефона для распознавания продуктов, чеков и готовых блюд с автоматическим подсчётом калорий и подбором рецептов.
Languages
Dart
58.1%
Go
38.9%
PLpgSQL
2.6%
Makefile
0.2%
HTML
0.1%