stateUtil function
dynamic
stateUtil()
Implementation
stateUtil() {
return """
import 'package:flutter/material.dart';
class Get {
static GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
static get currentContext {
return navigatorKey.currentContext;
}
static to(Widget page) async {
await navigatorKey.currentState!.push(
MaterialPageRoute(builder: (context) => page),
);
}
static off(Widget page) async {
await navigatorKey.currentState!.pushReplacement(
MaterialPageRoute(builder: (context) => page),
);
}
static back() {
navigatorKey.currentState!.pop(currentContext);
}
static offAll(page) {
navigatorKey.currentState!.pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => page),
(Route<dynamic> route) => false,
);
}
static double get width {
return MediaQuery.of(currentContext).size.width;
}
static double get height {
return MediaQuery.of(currentContext).size.width;
}
static showLoading() {
return showDialog(
context: currentContext,
barrierDismissible: false, // prevent user from dismissing the dialog
builder: (BuildContext context) {
return Dialog(
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Row(
mainAxisSize: MainAxisSize.min,
children: const [
CircularProgressIndicator(
strokeWidth: 2,
),
SizedBox(width: 20),
Text(
"Loading...",
style: TextStyle(
color: Colors.black45,
),
),
],
),
),
);
},
);
}
static hideLoading() {
Navigator.pop(currentContext);
}
}
extension ChangeNotifierExtension on State {
update() {
// ignore: invalid_use_of_visible_for_testing_member, unnecessary_this, invalid_use_of_protected_member
this.setState(() {});
}
}
""";
}