Files
MWClash/lib/widgets/pop_container.dart

36 lines
812 B
Dart
Raw Normal View History

2024-04-30 23:38:49 +08:00
import 'dart:io';
import 'package:fl_clash/state.dart';
2024-04-30 23:38:49 +08:00
import 'package:flutter/widgets.dart';
class PopContainer extends StatefulWidget {
final Widget child;
const PopContainer({super.key, required this.child});
@override
State<PopContainer> createState() => _PopContainerState();
}
class _PopContainerState extends State<PopContainer> {
@override
Widget build(BuildContext context) {
if (Platform.isAndroid) {
return PopScope(
canPop: false,
onPopInvoked: (didPop) async {
final canPop = Navigator.canPop(context);
if (canPop) {
Navigator.pop(context);
} else {
await globalState.appController.handleBackOrExit();
2024-04-30 23:38:49 +08:00
}
},
child: widget.child,
);
}
return widget.child;
}
}