|
|
|
|
@ -105,57 +105,136 @@ class ButtonSheetContent extends StatelessWidget {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void showCommonBottomSheetWithoutHeight(
|
|
|
|
|
BuildContext context, {
|
|
|
|
|
required Widget child,
|
|
|
|
|
required VoidCallback callBackFunc,
|
|
|
|
|
String title = "",
|
|
|
|
|
bool isCloseButtonVisible = true,
|
|
|
|
|
bool isFullScreen = true,
|
|
|
|
|
bool isDismissible = true,
|
|
|
|
|
Widget? titleWidget,
|
|
|
|
|
bool useSafeArea = false,
|
|
|
|
|
|
|
|
|
|
}) {
|
|
|
|
|
BuildContext context, {
|
|
|
|
|
required Widget child,
|
|
|
|
|
required VoidCallback callBackFunc,
|
|
|
|
|
String title = "",
|
|
|
|
|
bool isCloseButtonVisible = true,
|
|
|
|
|
bool isFullScreen = true,
|
|
|
|
|
bool isDismissible = true,
|
|
|
|
|
Widget? titleWidget,
|
|
|
|
|
bool useSafeArea = false,
|
|
|
|
|
}) {
|
|
|
|
|
showModalBottomSheet<String>(
|
|
|
|
|
sheetAnimationStyle: AnimationStyle(
|
|
|
|
|
duration: Duration(milliseconds: 500), // Custom animation duration
|
|
|
|
|
reverseDuration: Duration(milliseconds: 300), // Custom reverse animation duration
|
|
|
|
|
),
|
|
|
|
|
context: context,
|
|
|
|
|
isScrollControlled: true,
|
|
|
|
|
showDragHandle: false,
|
|
|
|
|
isDismissible: isDismissible,
|
|
|
|
|
backgroundColor: AppColors.bottomSheetBgColor,
|
|
|
|
|
useSafeArea: useSafeArea,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return SafeArea(
|
|
|
|
|
top: false,
|
|
|
|
|
left: false,
|
|
|
|
|
right: false,
|
|
|
|
|
child: isCloseButtonVisible
|
|
|
|
|
? Container(
|
|
|
|
|
padding: EdgeInsets.only(left: 24, top: 24, right: 24, bottom: 12),
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.bottomSheetBgColor, borderRadius: 24.h),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
spacing: 16.h,
|
|
|
|
|
sheetAnimationStyle: AnimationStyle(
|
|
|
|
|
duration: Duration(milliseconds: 500),
|
|
|
|
|
reverseDuration: Duration(milliseconds: 300),
|
|
|
|
|
),
|
|
|
|
|
context: context,
|
|
|
|
|
isScrollControlled: true,
|
|
|
|
|
showDragHandle: false,
|
|
|
|
|
isDismissible: isDismissible,
|
|
|
|
|
backgroundColor: AppColors.bottomSheetBgColor,
|
|
|
|
|
useSafeArea: useSafeArea,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return SafeArea(
|
|
|
|
|
top: false,
|
|
|
|
|
left: false,
|
|
|
|
|
right: false,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
|
bottom: MediaQuery.of(context).viewInsets.bottom,
|
|
|
|
|
),
|
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
|
physics: ClampingScrollPhysics(),
|
|
|
|
|
child: isCloseButtonVisible
|
|
|
|
|
? Container(
|
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
|
left: 24,
|
|
|
|
|
top: 24,
|
|
|
|
|
right: 24,
|
|
|
|
|
bottom: 12,
|
|
|
|
|
),
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.bottomSheetBgColor,
|
|
|
|
|
borderRadius: 24.h,
|
|
|
|
|
),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
titleWidget ?? Expanded(child: title.toText20(weight: FontWeight.w600)),
|
|
|
|
|
Utils.buildSvgWithAssets(icon: AppAssets.close_bottom_sheet_icon, iconColor: Color(0xff2B353E)).onPress(() {
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
|
}),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
child,
|
|
|
|
|
titleWidget ??
|
|
|
|
|
Expanded(
|
|
|
|
|
child: title.toText20(weight: FontWeight.w600),
|
|
|
|
|
),
|
|
|
|
|
Utils.buildSvgWithAssets(
|
|
|
|
|
icon: AppAssets.close_bottom_sheet_icon,
|
|
|
|
|
iconColor: Color(0xff2B353E),
|
|
|
|
|
).onPress(() {
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
|
}),
|
|
|
|
|
],
|
|
|
|
|
))
|
|
|
|
|
: child,
|
|
|
|
|
);
|
|
|
|
|
}).then((value) {
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 16.h),
|
|
|
|
|
child,
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: child,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
).then((value) {
|
|
|
|
|
callBackFunc();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// void showCommonBottomSheetWithoutHeight(
|
|
|
|
|
// BuildContext context, {
|
|
|
|
|
// required Widget child,
|
|
|
|
|
// required VoidCallback callBackFunc,
|
|
|
|
|
// String title = "",
|
|
|
|
|
// bool isCloseButtonVisible = true,
|
|
|
|
|
// bool isFullScreen = true,
|
|
|
|
|
// bool isDismissible = true,
|
|
|
|
|
// Widget? titleWidget,
|
|
|
|
|
// bool useSafeArea = false,
|
|
|
|
|
//
|
|
|
|
|
// }) {
|
|
|
|
|
// showModalBottomSheet<String>(
|
|
|
|
|
// sheetAnimationStyle: AnimationStyle(
|
|
|
|
|
// duration: Duration(milliseconds: 500), // Custom animation duration
|
|
|
|
|
// reverseDuration: Duration(milliseconds: 300), // Custom reverse animation duration
|
|
|
|
|
// ),
|
|
|
|
|
// context: context,
|
|
|
|
|
// isScrollControlled: true,
|
|
|
|
|
// showDragHandle: false,
|
|
|
|
|
// isDismissible: isDismissible,
|
|
|
|
|
// backgroundColor: AppColors.bottomSheetBgColor,
|
|
|
|
|
// useSafeArea: useSafeArea,
|
|
|
|
|
// builder: (BuildContext context) {
|
|
|
|
|
// return SafeArea(
|
|
|
|
|
// top: false,
|
|
|
|
|
// left: false,
|
|
|
|
|
// right: false,
|
|
|
|
|
// child: isCloseButtonVisible
|
|
|
|
|
// ? Container(
|
|
|
|
|
// padding: EdgeInsets.only(left: 24, top: 24, right: 24, bottom: 12),
|
|
|
|
|
// decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.bottomSheetBgColor, borderRadius: 24.h),
|
|
|
|
|
// child: Column(
|
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
|
|
|
|
// spacing: 16.h,
|
|
|
|
|
// children: [
|
|
|
|
|
// Row(
|
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
// children: [
|
|
|
|
|
// titleWidget ?? Expanded(child: title.toText20(weight: FontWeight.w600)),
|
|
|
|
|
// Utils.buildSvgWithAssets(icon: AppAssets.close_bottom_sheet_icon, iconColor: Color(0xff2B353E)).onPress(() {
|
|
|
|
|
// Navigator.of(context).pop();
|
|
|
|
|
// }),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// child,
|
|
|
|
|
// ],
|
|
|
|
|
// ))
|
|
|
|
|
// : child,
|
|
|
|
|
// );
|
|
|
|
|
// }).then((value) {
|
|
|
|
|
// callBackFunc();
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
|