Feature/basic app (#1)

Feature/Basic App (#1)

Basic App Structure Consists of Time Progress Dashboard, Time Progress Detail View and Time Progress Creator.
All of these have an AppDrawer with a Link To the Dashboard and all your Track Time Progresses, also an About Button.

Commits:
* Undetailed Commit more work
* Changed isEditing ? in Detail Screen and Extracted FAB row to widget
* Extracted Progress Detail Fab Row and Progress Detail select Date Btn to
widgets
* Create Progress Detail Widgets Folder
* Extracted Edit Dates Row Widget
* Extracted Functions from ui
* Made some fields private
* LoadTimerProgressList if unloaded function
* Created App Yes No Dialog Widget
* Using Yes No Dialog in Detail Screen
* Created TimeProgress Initial Default factory
* Renamed to Time Progress Tracker
* Added About Button in App Drawer
* Code cleanup
* Code clean up and fixed Bug with null as string in Repository

Signed-off-by Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
Andreas Fahrecker
2020-11-20 01:17:17 +01:00
committed by GitHub
parent 976fbec455
commit f013c0de65
27 changed files with 984 additions and 283 deletions

View File

@ -1,10 +1,10 @@
import 'package:redux/redux.dart';
import 'package:time_progress_calculator/actions/actions.dart';
import 'package:time_progress_calculator/models/app_state.dart';
import 'package:time_progress_calculator/models/time_progress.dart';
import 'package:time_progress_calculator/persistence/time_progress_entity.dart';
import 'package:time_progress_calculator/persistence/time_progress_repository.dart';
import 'package:time_progress_calculator/selectors/time_progress_selectors.dart';
import 'package:time_progress_tracker/actions/actions.dart';
import 'package:time_progress_tracker/models/app_state.dart';
import 'package:time_progress_tracker/models/time_progress.dart';
import 'package:time_progress_tracker/persistence/time_progress_entity.dart';
import 'package:time_progress_tracker/persistence/time_progress_repository.dart';
import 'package:time_progress_tracker/selectors/time_progress_selectors.dart';
List<Middleware<AppState>> createStoreTimeProgressListMiddleware(
TimeProgressRepository repository) {
@ -19,7 +19,8 @@ List<Middleware<AppState>> createStoreTimeProgressListMiddleware(
];
}
Middleware<AppState> _createSaveTimeProgressList(TimeProgressRepository repository) {
Middleware<AppState> _createSaveTimeProgressList(
TimeProgressRepository repository) {
return (Store<AppState> store, dynamic action, NextDispatcher next) {
next(action);
@ -31,12 +32,18 @@ Middleware<AppState> _createSaveTimeProgressList(TimeProgressRepository reposito
};
}
Middleware<AppState> _createLoadTimeProgressList(TimeProgressRepository repository) {
Middleware<AppState> _createLoadTimeProgressList(
TimeProgressRepository repository) {
return (Store<AppState> store, dynamic action, NextDispatcher next) {
repository.loadTimeProgressList().then((timeProgresses) {
store.dispatch(
TimeProgressListLoadedAction(timeProgresses.map<TimeProgress>(TimeProgress.fromEntity).toList()),
);
List<TimeProgress> timeProgressList =
timeProgresses.map<TimeProgress>(TimeProgress.fromEntity).toList();
if (timeProgressList == null) {
timeProgressList = [];
}
store.dispatch(TimeProgressListLoadedAction(
timeProgressList,
));
}).catchError((_) => store.dispatch(TimeProgressListNotLoadedAction()));
};
}