38 lines
960 B
Dart
38 lines
960 B
Dart
|
import 'dart:async';
|
||
|
import 'package:flutter/material.dart';
|
||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||
|
import 'package:go_router/go_router.dart';
|
||
|
|
||
|
class NavigatorScreen extends ConsumerStatefulWidget {
|
||
|
final Widget? child;
|
||
|
const NavigatorScreen({Key? key, this.child}) : super(key: key);
|
||
|
|
||
|
@override
|
||
|
_NavigatorScreenState createState() => _NavigatorScreenState();
|
||
|
}
|
||
|
|
||
|
class _NavigatorScreenState extends ConsumerState<NavigatorScreen> with WidgetsBindingObserver{
|
||
|
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
|
||
|
|
||
|
|
||
|
@override
|
||
|
void dispose() {
|
||
|
super.dispose();
|
||
|
WidgetsBinding.instance.removeObserver(this);
|
||
|
}
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return WillPopScope(
|
||
|
onWillPop: () async {
|
||
|
return Future.value(false);
|
||
|
},
|
||
|
child: ProviderScope(
|
||
|
child: Scaffold(
|
||
|
key: scaffoldKey,
|
||
|
body: widget.child,
|
||
|
),
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|