Updated Flutter SDK for Null-Safety
Ported Progress Detail Screen to PlatformScaffold Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:time_progress_tracker/models/app_settings.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/utils/constants.dart';
|
||||
|
||||
@immutable
|
||||
class AppState {
|
||||
@ -12,14 +13,14 @@ class AppState {
|
||||
{this.hasProgressesLoaded = false,
|
||||
this.hasSettingsLoaded = false,
|
||||
this.timeProgressList = const [],
|
||||
this.appSettings});
|
||||
this.appSettings = defaultAppSettings});
|
||||
|
||||
factory AppState.initial() =>
|
||||
AppState(hasProgressesLoaded: false, appSettings: AppSettings.defaults());
|
||||
AppState(hasProgressesLoaded: false, appSettings: defaultAppSettings);
|
||||
|
||||
AppState copyWith({
|
||||
bool hasLoaded,
|
||||
List<TimeProgress> timeProgressList,
|
||||
bool? hasLoaded,
|
||||
List<TimeProgress>? timeProgressList,
|
||||
}) {
|
||||
return AppState(
|
||||
hasProgressesLoaded: hasLoaded ?? this.hasProgressesLoaded,
|
||||
|
@ -4,6 +4,7 @@ import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/redux/actions/app_settings_actions.dart';
|
||||
import 'package:time_progress_tracker/redux/actions/redux_actions.dart';
|
||||
import 'package:time_progress_tracker/redux/actions/time_progress_actions.dart';
|
||||
import 'package:time_progress_tracker/utils/constants.dart';
|
||||
|
||||
final timeProgressListReducer = combineReducers<List<TimeProgress>>([
|
||||
TypedReducer<List<TimeProgress>, TimeProgressListLoadedAction>(
|
||||
@ -55,7 +56,7 @@ final appSettingsReducers = combineReducers<AppSettings>([
|
||||
|
||||
AppSettings _setDefaultSettings(
|
||||
AppSettings appSettings, AppSettingsNotLoadedAction action) =>
|
||||
AppSettings.defaults();
|
||||
defaultAppSettings;
|
||||
|
||||
AppSettings _updateAppSettings(
|
||||
AppSettings appSettings, AppSettingsAction action) =>
|
||||
|
@ -1,8 +1,8 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:time_progress_tracker/models/app_settings.dart';
|
||||
import 'package:time_progress_tracker/redux/app_state.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/redux/app_state.dart';
|
||||
|
||||
List<TimeProgress> timeProgressListSelector(AppState state) =>
|
||||
state.timeProgressList;
|
||||
@ -45,10 +45,12 @@ List<TimeProgress> pastTimeProgressesSelector(AppState state) =>
|
||||
DateTime.now().millisecondsSinceEpoch)
|
||||
.toList();
|
||||
|
||||
TimeProgress timeProgressByIdSelector(AppState state, String id) {
|
||||
TimeProgress? timeProgressByIdSelector(AppState state, String id) {
|
||||
if (state.timeProgressList.length < 1) return null;
|
||||
return state.timeProgressList
|
||||
.firstWhere((timeProgress) => timeProgress.id == id, orElse: () => null);
|
||||
TimeProgress tp = state.timeProgressList.firstWhere(
|
||||
(timeProgress) => timeProgress.id == id,
|
||||
orElse: () => TimeProgress.initialDefault());
|
||||
return tp != TimeProgress.initialDefault() ? tp : null;
|
||||
}
|
||||
|
||||
AppSettings appSettingsSelector(AppState state) {
|
||||
|
@ -14,7 +14,7 @@ class CreateTimeProgressStoreConnector extends StatelessWidget {
|
||||
loadedBuilder;
|
||||
|
||||
CreateTimeProgressStoreConnector({
|
||||
@required this.loadedBuilder,
|
||||
required this.loadedBuilder,
|
||||
});
|
||||
|
||||
@override
|
||||
|
@ -10,7 +10,7 @@ class SettingsStoreConnector extends StatelessWidget {
|
||||
final Widget Function(BuildContext, SettingsViewModel) loadedBuilder;
|
||||
|
||||
SettingsStoreConnector({
|
||||
@required this.loadedBuilder,
|
||||
required this.loadedBuilder,
|
||||
});
|
||||
|
||||
@override
|
||||
|
@ -9,7 +9,7 @@ class TimeProgressListStoreConnector extends StatelessWidget {
|
||||
final Widget Function(BuildContext, TimeProgressListViewModel) loadedBuilder;
|
||||
|
||||
TimeProgressListStoreConnector({
|
||||
@required this.loadedBuilder,
|
||||
required this.loadedBuilder,
|
||||
});
|
||||
|
||||
@override
|
||||
|
@ -4,16 +4,16 @@ import 'package:redux/redux.dart';
|
||||
import 'package:time_progress_tracker/redux/actions/time_progress_actions.dart';
|
||||
import 'package:time_progress_tracker/redux/app_state.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/utils/helper_functions.dart';
|
||||
|
||||
import '../../utils/helper_functions.dart';
|
||||
|
||||
class TimeProgressStoreConnector extends StatelessWidget {
|
||||
final String timeProgressId;
|
||||
final Widget Function(BuildContext, TimeProgressViewModel) loadedBuilder;
|
||||
|
||||
TimeProgressStoreConnector({
|
||||
@required this.timeProgressId,
|
||||
@required this.loadedBuilder,
|
||||
required this.timeProgressId,
|
||||
required this.loadedBuilder,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -38,7 +38,7 @@ class TimeProgressStoreConnector extends StatelessWidget {
|
||||
}
|
||||
|
||||
class TimeProgressViewModel {
|
||||
final TimeProgress tp;
|
||||
final TimeProgress? tp;
|
||||
final bool hasTpListLoaded;
|
||||
|
||||
final void Function(TimeProgress) updateTimeProgress;
|
||||
|
Reference in New Issue
Block a user