Files
umbrix/lib/utils/bottom_sheet_page.dart

33 lines
741 B
Dart
Raw Normal View History

2023-07-06 17:18:41 +03:30
import 'package:flutter/material.dart';
class BottomSheetPage extends Page {
const BottomSheetPage({
super.key,
super.name,
2023-07-06 17:18:41 +03:30
required this.builder,
this.fixed = false,
});
final Widget Function(ScrollController? controller) builder;
final bool fixed;
@override
Route<void> createRoute(BuildContext context) {
return ModalBottomSheetRoute(
settings: this,
2023-11-10 15:35:44 +03:30
isScrollControlled: true,
2023-07-06 17:18:41 +03:30
useSafeArea: true,
showDragHandle: true,
builder: (_) {
if (!fixed) {
return DraggableScrollableSheet(
expand: false,
builder: (_, scrollController) => builder(scrollController),
);
}
return builder(null);
},
);
}
}