Compare commits
No commits in common. "master" and "prepare_v1.0.5" have entirely different histories.
master
...
prepare_v1
@ -27,8 +27,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
var newList = await storage.getEntriesForDate(event.forDate);
|
||||
state.foodEntries.addAll({event.forDate: newList});
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: state.foodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: state.foodEntries));
|
||||
}
|
||||
|
||||
void handleFoodEntryEvent(
|
||||
@ -44,8 +43,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
var newFoodEntries = state.foodEntries;
|
||||
newFoodEntries.addAll({event.forDate: entriesForDate});
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: newFoodEntries));
|
||||
}
|
||||
|
||||
void handleFoodChangedEvent(
|
||||
@ -66,8 +64,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
var newFoodEntries = state.foodEntries;
|
||||
newFoodEntries.addAll({event.forDate: entriesForDate});
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: newFoodEntries));
|
||||
}
|
||||
|
||||
void handleDeleteFoodEvent(
|
||||
@ -82,8 +79,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
var newFoodEntries = state.foodEntries;
|
||||
newFoodEntries.addAll({event.forDate: entriesForDate});
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: newFoodEntries));
|
||||
}
|
||||
|
||||
void handleBarcodeScannedEvent(
|
||||
@ -95,7 +91,6 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
if (e.code == BarcodeScanner.cameraAccessDenied) {
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: state.foodEntries,
|
||||
stateChangedForDate: event.forDate,
|
||||
appError:
|
||||
GlobalAppError(GlobalAppErrorType.errCameraPermissionDenied)));
|
||||
}
|
||||
@ -112,7 +107,6 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
if (scanResult.type == ResultType.Error) {
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: state.foodEntries,
|
||||
stateChangedForDate: event.forDate,
|
||||
appError: GlobalAppError(GlobalAppErrorType.errGeneralError)));
|
||||
return;
|
||||
}
|
||||
@ -128,10 +122,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
|
||||
entriesForDate.add(newEntryWaiting);
|
||||
state.foodEntries.addAll({event.forDate: entriesForDate});
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: state.foodEntries,
|
||||
stateChangedForDate: event.forDate,
|
||||
));
|
||||
emit(GlobalEntryState(foodEntries: state.foodEntries));
|
||||
|
||||
await responseFuture.then((response) async {
|
||||
var index = entriesForDate
|
||||
@ -149,7 +140,6 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries,
|
||||
stateChangedForDate: event.forDate,
|
||||
appError: GlobalAppError(GlobalAppErrorType.errbarcodeNotFound)));
|
||||
return;
|
||||
}
|
||||
@ -161,7 +151,6 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries,
|
||||
stateChangedForDate: event.forDate,
|
||||
appError:
|
||||
GlobalAppError(GlobalAppErrorType.errServerNotReachable)));
|
||||
return;
|
||||
@ -184,8 +173,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
var newFoodEntries = state.foodEntries;
|
||||
newFoodEntries.addAll({event.forDate: entriesForDate});
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: newFoodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: newFoodEntries));
|
||||
});
|
||||
}
|
||||
|
||||
@ -206,8 +194,7 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
||||
|
||||
selectedEntry.isSelected = !oldStateOfTappedEntry;
|
||||
|
||||
emit(GlobalEntryState(
|
||||
foodEntries: state.foodEntries, stateChangedForDate: event.forDate));
|
||||
emit(GlobalEntryState(foodEntries: state.foodEntries));
|
||||
}
|
||||
}
|
||||
|
||||
@ -253,17 +240,12 @@ class PermissionException extends FoodEvent {
|
||||
PermissionException({required super.forDate});
|
||||
}
|
||||
|
||||
class PageEntryState {}
|
||||
|
||||
/// This is the state for one date/page
|
||||
class GlobalEntryState {
|
||||
final Map<DateTime, List<FoodEntryState>> foodEntries;
|
||||
final GlobalAppError? appError;
|
||||
|
||||
//we use this to only redraw pages whose entries changed
|
||||
final DateTime? stateChangedForDate;
|
||||
|
||||
GlobalEntryState(
|
||||
{required this.foodEntries, this.stateChangedForDate, this.appError});
|
||||
GlobalEntryState({required this.foodEntries, this.appError});
|
||||
|
||||
factory GlobalEntryState.init() {
|
||||
return GlobalEntryState(foodEntries: {});
|
||||
|
@ -92,9 +92,10 @@ class PerDatePageViewController extends StatelessWidget {
|
||||
onDateSelected: (dateSelected) {
|
||||
if (dateSelected == null) return;
|
||||
|
||||
Navigator.of(context).push(MaterialPageRoute(
|
||||
builder: (context) =>
|
||||
PerDatePageViewController(initialDate: dateSelected)));
|
||||
var dateDiff = dateSelected.difference(initialDate).inDays;
|
||||
|
||||
log("dateDiff = $dateDiff");
|
||||
pageController.jumpToPage(initialOffset - dateDiff);
|
||||
},
|
||||
),
|
||||
],
|
||||
|
@ -33,11 +33,6 @@ class _PerDateWidgetState extends State<PerDateWidget>
|
||||
showNewSnackbarWith(context, pageState.appError!);
|
||||
}
|
||||
},
|
||||
buildWhen: (previous, current) {
|
||||
if (current.stateChangedForDate == null) return true;
|
||||
if (current.stateChangedForDate == widget.date) return true;
|
||||
return false;
|
||||
},
|
||||
builder: (context, pageState) {
|
||||
return FoodEntryList(
|
||||
entries: pageState.foodEntries[widget.date] ?? [],
|
||||
|
13
pubspec.lock
13
pubspec.lock
@ -290,6 +290,11 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
frontend_server_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -311,6 +316,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
go_router:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: go_router
|
||||
sha256: "2fd11229f59e23e967b0775df8d5948a519cd7e1e8b6e849729e010587b46539"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "14.6.2"
|
||||
graphs:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -19,6 +19,7 @@ dependencies:
|
||||
barcode_scan2: ^4.3.3
|
||||
provider: ^6.1.2
|
||||
test: ^1.25.7
|
||||
go_router: ^14.6.2
|
||||
path_provider_platform_interface: ^2.1.2
|
||||
plugin_platform_interface: ^2.1.8
|
||||
http: ^1.2.2
|
||||
|
Loading…
Reference in New Issue
Block a user