Files
syncrow-app/lib/utils/context_extension.dart
2024-06-12 21:06:27 +03:00

47 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:syncrow_app/features/shared_widgets/bottom_sheet/custom_bottom_sheet.dart';
extension ContextExtension on BuildContext {
Future<void> goTo(String newRouteName) async {
// go(newRouteName);
await Navigator.pushNamed(this, newRouteName);
}
double get width => MediaQuery.sizeOf(this).width;
double get height => MediaQuery.sizeOf(this).height;
InputDecorationTheme get inputDecoration =>
Theme.of(this).inputDecorationTheme;
TextStyle get displayLarge => Theme.of(this).textTheme.displayLarge!;
TextStyle get displayMedium => Theme.of(this).textTheme.displayMedium!;
TextStyle get displaySmall => Theme.of(this).textTheme.displaySmall!;
TextStyle get titleLarge => Theme.of(this).textTheme.titleLarge!;
TextStyle get titleMedium => Theme.of(this).textTheme.titleMedium!;
TextStyle get titleSmall => Theme.of(this).textTheme.titleSmall!;
TextStyle get bodyLarge => Theme.of(this).textTheme.bodyLarge!;
TextStyle get bodyMedium => Theme.of(this).textTheme.bodyMedium!;
TextStyle get bodySmall => Theme.of(this).textTheme.bodySmall!;
void customBottomSheet({Widget? child}) {
showModalBottomSheet<void>(
context: this,
isScrollControlled: true,
builder: (BuildContext context) {
return CustomBottomSheet(
child: child,
);
},
);
}
}