todos-contra-el-fuego-mobile/lib/redux/reducers.dart
vjrj 30a89fc5c0 Fix 13 lint issues: immutability, imports, async/await, and code style
High-priority fixes (10 issues):
- assignment_to_final errors (7): Use copyWith() to respect immutability in YourLocation, active_fires.dart, generic_map.dart, location_utils.dart, and fetch_data_middleware.dart instead of direct assignment
- Fixed import paths (3): Updated falsePositiveTypes.dart → false_positive_types.dart and firesApi.dart → fires_api.dart in reducers.dart, fire_notification_actions.dart, fires_api.dart

Medium/Low priority fixes (3 issues):
- unnecessary_non_null_assertion: Removed redundant '!' in app_intro_page.dart line 54
- use_super_parameters: Updated app_intro_page.dart to use modern super(key: key) syntax
- no_logic_in_create_state: Fixed material_app_with_intro.dart by moving parameters to State instead of createState
- noop_primitive_operations: Removed redundant .toString() in string interpolation
- avoid_void_async: Changed void _selectLocation to Future<void> in places_autocomplete_utils.dart
- avoid_dynamic_calls: Fixed dynamic map access in fires_api.dart by properly casting intermediate values

Result: Reduced lint issues from 56 to 20 (all remaining are by-design: library_private_types_in_public_api and implementation_imports from external packages)
APK builds successfully with no errors.
2026-03-12 09:16:20 +01:00

29 lines
1.2 KiB
Dart

import '../models/app_state.dart';
import 'app_reducer.dart';
import 'error_reducer.dart';
import 'fire_map_reducer.dart';
import 'fire_notification_reducer.dart';
import 'loaded_reducer.dart';
import 'loading_reducer.dart';
import 'user_reducer.dart';
import 'your_locations_reducer.dart';
// We create the State reducer by combining many smaller reducers into one!
AppState appStateReducer(AppState prevState, dynamic action) {
final AppState state = appReducer(prevState, action);
return AppState(
yourLocations: yourLocationsReducer(state.yourLocations, action),
fireNotifications:
fireNotificationReducer(state.fireNotifications, action),
fireNotificationsUnread: state.fireNotificationsUnread,
user: userReducer(state.user, action),
isLoading: loadingReducer(state.isLoading, action),
isLoaded: loadedReducer(state.isLoaded, action),
error: errorReducer(state.error, action),
fireMapState: fireMapReducer(state.fireMapState, action),
monitoredAreas: state.monitoredAreas,
firesApiKey: state.firesApiKey,
firesApiUrl: state.firesApiUrl,
serverUrl: state.serverUrl,
gmapKey: state.gmapKey);
}