selectVisibilityDrawer function

Future selectVisibilityDrawer({
  1. required dynamic context,
  2. dynamic key = selectVisibilityDrawerKey,
  3. dynamic selectedVisibilityEnum,
  4. bool isLimitedVisibilityShow = true,
})

Implementation

Future<RoomVisibility?> selectVisibilityDrawer({
  required BuildContext context,
  Key? key = selectVisibilityDrawerKey,
  RoomVisibility? selectedVisibilityEnum,
  bool isLimitedVisibilityShow = true,
}) async {
  final selected = await showModalBottomSheet<RoomVisibility>(
    showDragHandle: true,
    enableDrag: true,
    context: context,
    isDismissible: true,
    isScrollControlled: true,
    builder: (context) {
      return Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          Text(
            L10n.of(context).selectVisibility,
            style: Theme.of(context).textTheme.titleMedium,
          ),
          const SizedBox(height: 20),
          RoomVisibilityType(
            isLimitedVisibilityShow: isLimitedVisibilityShow,
            selectedVisibilityEnum: selectedVisibilityEnum,
            onVisibilityChange: (value) {
              Navigator.pop(context, value);
            },
          ),
          const SizedBox(height: 20),
        ],
      );
    },
  );

  return selected;
}