More redux work

This commit is contained in:
vjrj 2018-06-28 18:52:48 +02:00
parent 7dddf03e32
commit 657fecdf17
9 changed files with 278 additions and 219 deletions

View file

@ -1,5 +1,4 @@
import 'actions.dart';
import '../models/user.dart';
import '../models/appState.dart';
AppState appReducer(AppState state, action) {

View file

@ -1,5 +1,20 @@
import '../models/fireMapState.dart';
import 'package:redux/redux.dart';
FireMapState fireMapReducer(FireMapState state, action) {
return state;
}
import '../models/fireMapState.dart';
import 'actions.dart';
final fireMapReducer = combineReducers<FireMapState>([
new TypedReducer<FireMapState, ShowYourLocationMapAction>(
_showYourLocationMap),
]);
FireMapState _showYourLocationMap(
FireMapState state, ShowYourLocationMapAction action) {
if (action.loc.subscribed) {
return state.copyWith(
status: action.loc.subscribed
? FireMapStatus.unsubscribe
: FireMapStatus.view,
yourLocation: action.loc);
}
}

View file

@ -2,7 +2,6 @@ import 'package:bson_objectid/bson_objectid.dart';
import 'package:fires_flutter/models/yourLocation.dart';
abstract class YourLocationActions {}
class AddYourLocationAction extends YourLocationActions {
@ -17,6 +16,12 @@ class AddedYourLocationAction extends YourLocationActions {
AddedYourLocationAction(this.loc);
}
class ShowYourLocationMapAction extends YourLocationActions {
YourLocation loc;
ShowYourLocationMapAction(this.loc);
}
class DeleteYourLocationAction extends YourLocationActions {
ObjectId id;