checkpoint

This commit is contained in:
2025-11-25 17:05:08 -05:00
parent bbcd6d9bf7
commit d46ac9dc14
17 changed files with 705 additions and 193 deletions
+27 -13
View File
@@ -9,11 +9,11 @@ import '../models/delivery_route.dart';
import '../models/delivery.dart';
final authServiceProvider = Provider<AuthService>((ref) {
return AuthService();
return AuthService(config: AuthConfig.development);
});
final apiClientProvider = Provider<CqrsApiClient>((ref) {
return CqrsApiClient(config: ApiClientConfig.production);
return CqrsApiClient(config: ApiClientConfig.development);
});
final isAuthenticatedProvider = FutureProvider<bool>((ref) async {
@@ -43,8 +43,9 @@ final deliveryRoutesProvider = FutureProvider<List<DeliveryRoute>>((ref) async {
// Create a new client with auth token
final authClient = CqrsApiClient(
config: ApiClientConfig(
baseUrl: ApiClientConfig.production.baseUrl,
baseUrl: ApiClientConfig.development.baseUrl,
defaultHeaders: {'Authorization': 'Bearer $token'},
allowSelfSignedCertificate: ApiClientConfig.development.allowSelfSignedCertificate,
),
);
@@ -75,8 +76,9 @@ final deliveriesProvider = FutureProvider.family<List<Delivery>, int>((ref, rout
final authClient = CqrsApiClient(
config: ApiClientConfig(
baseUrl: ApiClientConfig.production.baseUrl,
baseUrl: ApiClientConfig.development.baseUrl,
defaultHeaders: {'Authorization': 'Bearer $token'},
allowSelfSignedCertificate: ApiClientConfig.development.allowSelfSignedCertificate,
),
);
@@ -106,18 +108,17 @@ final allDeliveriesProvider = FutureProvider<List<Delivery>>((ref) async {
return [];
}
// Fetch deliveries for all routes
// Fetch deliveries for all routes in parallel using Future.wait
final deliveriesFutures = routes.map((route) {
return ref.watch(deliveriesProvider(route.id)).when(
data: (deliveries) => deliveries,
loading: () => <Delivery>[],
error: (_, __) => <Delivery>[],
);
});
return ref.read(deliveriesProvider(route.id).future);
}).toList();
// Combine all deliveries
// Wait for all futures to complete
final deliveriesLists = await Future.wait(deliveriesFutures);
// Combine all deliveries into a single list
final allDeliveries = <Delivery>[];
for (final deliveries in deliveriesFutures) {
for (final deliveries in deliveriesLists) {
allDeliveries.addAll(deliveries);
}
@@ -148,6 +149,19 @@ final themeModeProvider = NotifierProvider<ThemeModeNotifier, ThemeMode>(() {
return ThemeModeNotifier();
});
// Collapse state notifier for sidebar persistence
class CollapseStateNotifier extends Notifier<bool> {
@override
bool build() => true; // Default: expanded
void toggle() => state = !state;
void setExpanded(bool expanded) => state = expanded;
}
final collapseStateProvider = NotifierProvider<CollapseStateNotifier, bool>(() {
return CollapseStateNotifier();
});
class _EmptyQuery implements Serializable {
@override
Map<String, Object?> toJson() => {};