mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Merge pull request #1022 from DhruvSingh19/fix/dead-screen-fix
Fix: Dead-Screen Issue is fixed
This commit is contained in:
@@ -19,7 +19,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:wger/core/wide_screen_wrapper.dart';
|
||||
import 'package:wger/exceptions/no_such_entry_exception.dart';
|
||||
import 'package:wger/l10n/generated/app_localizations.dart';
|
||||
import 'package:wger/models/measurements/measurement_category.dart';
|
||||
import 'package:wger/providers/measurement.dart';
|
||||
import 'package:wger/screens/form_screen.dart';
|
||||
import 'package:wger/widgets/measurements/entries.dart';
|
||||
@@ -38,7 +40,19 @@ class MeasurementEntriesScreen extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final categoryId = ModalRoute.of(context)!.settings.arguments as int;
|
||||
final category = Provider.of<MeasurementProvider>(context).findCategoryById(categoryId);
|
||||
final provider = Provider.of<MeasurementProvider>(context);
|
||||
MeasurementCategory? category;
|
||||
|
||||
try {
|
||||
category = provider.findCategoryById(categoryId);
|
||||
} on NoSuchEntryException {
|
||||
Future.microtask(() {
|
||||
if (context.mounted && Navigator.of(context).canPop()) {
|
||||
Navigator.of(context).pop();
|
||||
}
|
||||
});
|
||||
return const SizedBox(); // Return empty widget until pop happens
|
||||
}
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
@@ -65,7 +79,7 @@ class MeasurementEntriesScreen extends StatelessWidget {
|
||||
builder: (BuildContext contextDialog) {
|
||||
return AlertDialog(
|
||||
content: Text(
|
||||
AppLocalizations.of(context).confirmDelete(category.name),
|
||||
AppLocalizations.of(context).confirmDelete(category!.name),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
@@ -84,11 +98,12 @@ class MeasurementEntriesScreen extends StatelessWidget {
|
||||
Provider.of<MeasurementProvider>(
|
||||
context,
|
||||
listen: false,
|
||||
).deleteCategory(category.id!);
|
||||
|
||||
).deleteCategory(category!.id!);
|
||||
// Close the popup
|
||||
Navigator.of(contextDialog).pop();
|
||||
|
||||
Navigator.of(context).pop(); // Exit detail screen
|
||||
|
||||
// and inform the user
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
@@ -138,7 +153,7 @@ class MeasurementEntriesScreen extends StatelessWidget {
|
||||
body: WidescreenWrapper(
|
||||
child: SingleChildScrollView(
|
||||
child: Consumer<MeasurementProvider>(
|
||||
builder: (context, provider, child) => EntriesList(category),
|
||||
builder: (context, provider, child) => EntriesList(category!),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user