From cef00db911a1efb6dfe754f1c91aea8155d96274 Mon Sep 17 00:00:00 2001 From: peima Date: Fri, 24 Jul 2026 13:31:34 +0800 Subject: [PATCH] phase3: null-safe store/ (AppState fields + reducers nullable) --- lib/store/reducer/cart_info_reducer.dart | 6 ++--- lib/store/reducer/context_reducer.dart | 6 ++--- lib/store/reducer/device_id_reducer.dart | 6 ++--- lib/store/reducer/fcmtoken_reducer.dart | 6 ++--- lib/store/reducer/last_visit_reducer.dart | 6 ++--- lib/store/reducer/locale_reducer.dart | 6 ++--- lib/store/reducer/locate_address_reducer.dart | 6 ++--- lib/store/reducer/redirect_route_reducer.dart | 6 ++--- lib/store/reducer/table_number_reducer.dart | 6 ++--- lib/store/reducer/user_reducer.dart | 6 ++--- lib/store/state/app_state.dart | 24 +++++++++---------- 11 files changed, 42 insertions(+), 42 deletions(-) diff --git a/lib/store/reducer/cart_info_reducer.dart b/lib/store/reducer/cart_info_reducer.dart index 4f2db10..b661217 100644 --- a/lib/store/reducer/cart_info_reducer.dart +++ b/lib/store/reducer/cart_info_reducer.dart @@ -4,10 +4,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final cartInfoReducer = combineReducers>([ - TypedReducer, UpdateCartInfo>(_updateCartInfo) +final cartInfoReducer = combineReducers?>([ + TypedReducer?, UpdateCartInfo>(_updateCartInfo) ]); -List _updateCartInfo(List cartInfos, action) { +List? _updateCartInfo(List? cartInfos, action) { return action.cartInfos; } \ No newline at end of file diff --git a/lib/store/reducer/context_reducer.dart b/lib/store/reducer/context_reducer.dart index 586d72c..b715d92 100644 --- a/lib/store/reducer/context_reducer.dart +++ b/lib/store/reducer/context_reducer.dart @@ -3,10 +3,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_wisetronic/store/actions.dart'; import 'package:redux/redux.dart'; -final contextReducer = combineReducers([ - TypedReducer(_updateContext) +final contextReducer = combineReducers([ + TypedReducer(_updateContext) ]); -BuildContext _updateContext(BuildContext context, action) { +BuildContext? _updateContext(BuildContext? context, action) { return action.context; } \ No newline at end of file diff --git a/lib/store/reducer/device_id_reducer.dart b/lib/store/reducer/device_id_reducer.dart index b7942ab..a16029a 100644 --- a/lib/store/reducer/device_id_reducer.dart +++ b/lib/store/reducer/device_id_reducer.dart @@ -2,10 +2,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final deviceIdReducer = combineReducers([ - TypedReducer(_updateDeviceId) +final deviceIdReducer = combineReducers([ + TypedReducer(_updateDeviceId) ]); -String _updateDeviceId(String deviceId, action) { +String? _updateDeviceId(String? deviceId, action) { return action.deviceId; } \ No newline at end of file diff --git a/lib/store/reducer/fcmtoken_reducer.dart b/lib/store/reducer/fcmtoken_reducer.dart index 6a4c228..5b7a0e9 100644 --- a/lib/store/reducer/fcmtoken_reducer.dart +++ b/lib/store/reducer/fcmtoken_reducer.dart @@ -2,10 +2,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final fcmtokenReducer = combineReducers([ - TypedReducer(_updateFcmToken) +final fcmtokenReducer = combineReducers([ + TypedReducer(_updateFcmToken) ]); -String _updateFcmToken(String token, action) { +String? _updateFcmToken(String? token, action) { return action.token; } \ No newline at end of file diff --git a/lib/store/reducer/last_visit_reducer.dart b/lib/store/reducer/last_visit_reducer.dart index 5531bfa..b8588a1 100644 --- a/lib/store/reducer/last_visit_reducer.dart +++ b/lib/store/reducer/last_visit_reducer.dart @@ -2,10 +2,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final lastVisitReducer = combineReducers>([ - TypedReducer, UpdateLastVisit>(_updateLastVisit) +final lastVisitReducer = combineReducers?>([ + TypedReducer?, UpdateLastVisit>(_updateLastVisit) ]); -List _updateLastVisit(List lastVisit, action) { +List? _updateLastVisit(List? lastVisit, action) { return action.lastVisit; } \ No newline at end of file diff --git a/lib/store/reducer/locale_reducer.dart b/lib/store/reducer/locale_reducer.dart index d27f351..e4f2954 100644 --- a/lib/store/reducer/locale_reducer.dart +++ b/lib/store/reducer/locale_reducer.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_wisetronic/store/actions.dart'; import 'package:redux/redux.dart'; -final localeReducer = combineReducers([ - TypedReducer(_updateLocale) +final localeReducer = combineReducers([ + TypedReducer(_updateLocale) ]); -Locale _updateLocale(Locale locale, action) { +Locale? _updateLocale(Locale? locale, action) { return action.locale; } \ No newline at end of file diff --git a/lib/store/reducer/locate_address_reducer.dart b/lib/store/reducer/locate_address_reducer.dart index 1004a56..d34ab3a 100644 --- a/lib/store/reducer/locate_address_reducer.dart +++ b/lib/store/reducer/locate_address_reducer.dart @@ -3,10 +3,10 @@ import 'package:redux/redux.dart'; import '../../models/located_address.dart'; import '../actions.dart'; -final locatedAddressReducer = combineReducers([ - TypedReducer(_updateLocatedAddress) +final locatedAddressReducer = combineReducers([ + TypedReducer(_updateLocatedAddress) ]); -LocatedAddress _updateLocatedAddress(LocatedAddress locatedAddress, action) { +LocatedAddress? _updateLocatedAddress(LocatedAddress? locatedAddress, action) { return action.locatedAddress; } \ No newline at end of file diff --git a/lib/store/reducer/redirect_route_reducer.dart b/lib/store/reducer/redirect_route_reducer.dart index 14c57ec..31b1182 100644 --- a/lib/store/reducer/redirect_route_reducer.dart +++ b/lib/store/reducer/redirect_route_reducer.dart @@ -2,10 +2,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final redirectRouteReducer = combineReducers([ - TypedReducer(_updateRedirectRoute) +final redirectRouteReducer = combineReducers([ + TypedReducer(_updateRedirectRoute) ]); -String _updateRedirectRoute(String route, action) { +String? _updateRedirectRoute(String? route, action) { return action.route; } \ No newline at end of file diff --git a/lib/store/reducer/table_number_reducer.dart b/lib/store/reducer/table_number_reducer.dart index 6653ad8..287e746 100644 --- a/lib/store/reducer/table_number_reducer.dart +++ b/lib/store/reducer/table_number_reducer.dart @@ -2,10 +2,10 @@ import 'package:redux/redux.dart'; import '../actions.dart'; -final tableNumberReducer = combineReducers([ - TypedReducer(_updateTableNumber) +final tableNumberReducer = combineReducers([ + TypedReducer(_updateTableNumber) ]); -String _updateTableNumber(String tableNumber, action) { +String? _updateTableNumber(String? tableNumber, action) { return action.tableNumber; } \ No newline at end of file diff --git a/lib/store/reducer/user_reducer.dart b/lib/store/reducer/user_reducer.dart index d15912d..698d816 100644 --- a/lib/store/reducer/user_reducer.dart +++ b/lib/store/reducer/user_reducer.dart @@ -4,10 +4,10 @@ import 'package:flutter_wisetronic/models/user.dart'; import '../actions.dart'; -final userReducer = combineReducers([ - TypedReducer(_updateCurrentUser) +final userReducer = combineReducers([ + TypedReducer(_updateCurrentUser) ]); -User _updateCurrentUser(User user, action) { +User? _updateCurrentUser(User? user, action) { return action.user; } \ No newline at end of file diff --git a/lib/store/state/app_state.dart b/lib/store/state/app_state.dart index 44e9d57..a7c4886 100644 --- a/lib/store/state/app_state.dart +++ b/lib/store/state/app_state.dart @@ -6,16 +6,16 @@ import '../../models/user.dart'; @immutable class AppState { - final BuildContext context; - final Locale locale; - final User user; - final String redirectRoute; - final List cartInfos; - final LocatedAddress locatedAddress; - final String fcmToken; - final List lastVisit; - final String deviceId; - final String tableNumber; + final BuildContext? context; + final Locale? locale; + final User? user; + final String? redirectRoute; + final List? cartInfos; + final LocatedAddress? locatedAddress; + final String? fcmToken; + final List? lastVisit; + final String? deviceId; + final String? tableNumber; AppState({this.context, this.locale, this.user, this.redirectRoute, this.cartInfos, this.locatedAddress, this.fcmToken, this.lastVisit, @@ -24,8 +24,8 @@ class AppState { factory AppState.init() => AppState(); AppState copyWith({ - BuildContext context, - Locale locale}) { + BuildContext? context, + Locale? locale}) { return AppState( context: context ?? this.context, locale: locale ?? this.locale,