first commit

This commit is contained in:
Aditya Siregar
2025-07-30 22:38:44 +07:00
commit 73320561b0
444 changed files with 64633 additions and 0 deletions
@@ -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,
);
}
}