first commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
extension BuildContextExt on BuildContext {
|
||||
double get deviceHeight => MediaQuery.of(this).size.height;
|
||||
|
||||
double get deviceWidth => MediaQuery.of(this).size.width;
|
||||
}
|
||||
|
||||
extension NavigatorExt on BuildContext {
|
||||
void pop<T extends Object>([T? result]) {
|
||||
Navigator.pop(this, result);
|
||||
}
|
||||
|
||||
void popToRoot<T extends Object>() {
|
||||
Navigator.popUntil(this, (route) => route.isFirst);
|
||||
}
|
||||
|
||||
Future<T?> push<T extends Object>(Widget widget, [String? name]) async {
|
||||
return Navigator.push<T>(
|
||||
this,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => widget,
|
||||
settings: RouteSettings(name: name),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<T?> pushReplacement<T extends Object, TO extends Object>(
|
||||
Widget widget) async {
|
||||
return Navigator.pushReplacement<T, TO>(
|
||||
this,
|
||||
MaterialPageRoute(builder: (context) => widget),
|
||||
);
|
||||
}
|
||||
|
||||
Future<T?> pushAndRemoveUntil<T extends Object>(
|
||||
Widget widget, bool Function(Route<dynamic> route) predicate) async {
|
||||
return Navigator.pushAndRemoveUntil<T>(
|
||||
this,
|
||||
MaterialPageRoute(builder: (context) => widget),
|
||||
predicate,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user