Files
venera/lib/foundation/context.dart
2024-09-30 17:06:58 +08:00

38 lines
927 B
Dart

import 'package:flutter/material.dart';
import 'package:venera/components/components.dart';
import 'app_page_route.dart';
extension Navigation on BuildContext {
void pop<T>([T? result]) {
if(mounted) {
Navigator.of(this).pop(result);
}
}
bool canPop() {
return Navigator.of(this).canPop();
}
Future<T?> to<T>(Widget Function() builder) {
return Navigator.of(this)
.push<T>(AppPageRoute(builder: (context) => builder()));
}
double get width => MediaQuery.of(this).size.width;
double get height => MediaQuery.of(this).size.height;
EdgeInsets get padding => MediaQuery.of(this).padding;
EdgeInsets get viewInsets => MediaQuery.of(this).viewInsets;
ColorScheme get colorScheme => Theme.of(this).colorScheme;
Brightness get brightness => Theme.of(this).brightness;
void showMessage({required String message}) {
showToast(message: message, context: this);
}
}