showWordInfoBottomSheet function
Future<void>
showWordInfoBottomSheet({
- required BuildContext context,
- required WordRef ref,
- WordInfoKind initialKind = WordInfoKind.recitations,
- required bool isDark,
- WordInfoBottomSheetStyle? wordInfoStyle,
Implementation
Future<void> showWordInfoBottomSheet({
required BuildContext context,
required WordRef ref,
WordInfoKind initialKind = WordInfoKind.recitations,
required bool isDark,
WordInfoBottomSheetStyle? wordInfoStyle,
}) async {
final ctrl = WordInfoCtrl.instance;
ctrl.setSelectedKind(initialKind);
final WordInfoBottomSheetStyle defaults = wordInfoStyle ??
WordInfoBottomSheetTheme.of(context)?.style ??
WordInfoBottomSheetStyle.defaults(isDark: isDark, context: context);
final size = MediaQuery.sizeOf(context);
// final maxHFactor = (defaults.maxHeightFactor ?? 0.9).clamp(0.0, 1.0);
final maxWFactor = (defaults.maxWidthFactor ?? 1.0).clamp(0.0, 1.0);
await showModalBottomSheet(
context: context,
isScrollControlled: true,
backgroundColor: Colors.transparent,
enableDrag: true,
isDismissible: true,
constraints: BoxConstraints(
maxHeight: size.height * .9,
maxWidth: size.width * maxWFactor,
),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
),
builder: (BuildContext modalContext) {
return WordInfoWidget(
ref: ref,
initialKind: initialKind,
ctrl: ctrl,
isDark: isDark,
defaults: defaults,
);
},
);
}