Files
umbrix/lib/utils/bottom_sheet_page.dart
problematicconsumer b617c95f62 initial
2023-07-06 17:18:41 +03:30

31 lines
712 B
Dart

import 'package:flutter/material.dart';
class BottomSheetPage extends Page {
const BottomSheetPage({
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,
isScrollControlled: !fixed,
useSafeArea: true,
showDragHandle: true,
builder: (_) {
if (!fixed) {
return DraggableScrollableSheet(
expand: false,
builder: (_, scrollController) => builder(scrollController),
);
}
return builder(null);
},
);
}
}