This commit is contained in:
Scott E. Graves 2025-03-15 19:00:17 -05:00
parent b9f5f774e2
commit ece002f25b

View File

@ -4,6 +4,7 @@ import 'package:collection/collection.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:repertory/constants.dart' as constants;
import 'package:repertory/helpers.dart'; import 'package:repertory/helpers.dart';
import 'package:repertory/models/mount.dart'; import 'package:repertory/models/mount.dart';
@ -140,9 +141,15 @@ class _MountWidgetState extends State<MountWidget> {
} }
} }
cleanup() {
setState(() {
_enabled = true;
});
}
if (location == null) { if (location == null) {
if (!context.mounted) { if (!context.mounted) {
return; return cleanup();
} }
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
@ -153,21 +160,28 @@ class _MountWidgetState extends State<MountWidget> {
), ),
), ),
); );
return;
return cleanup();
} }
mount final success = await mount.mount(
.mount(isActive, location: location) isActive,
.then((success) { location: location,
setState(() { );
_enabled = true; debugPrint(
}); 'success: $success, active: $isActive, mounted: ${context.mounted}',
);
if (success || isActive || !context.mounted) { if (success ||
return; isActive ||
constants.navigatorKey.currentContext == null ||
!constants.navigatorKey.currentContext!.mounted) {
return cleanup();
} }
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(
constants.navigatorKey.currentContext!,
).showSnackBar(
SnackBar( SnackBar(
content: const Text( content: const Text(
"Mount location not found", "Mount location not found",
@ -175,12 +189,8 @@ class _MountWidgetState extends State<MountWidget> {
), ),
), ),
); );
})
.catchError((_) { return cleanup();
setState(() {
_enabled = true;
});
});
} }
: null, : null,
), ),