showDurationPicker function

Future<TimeSpan?> showDurationPicker(
  1. BuildContext context, {
  2. Key? key,
  3. TimeSpan? initialValue,
})

Implementation

Future<TimeSpan?> showDurationPicker(BuildContext context,
    {Key? key, TimeSpan? initialValue}) async {
  final duration = SingleValue(initialValue);
  return await showPlatformBottomSheet<TimeSpan>(
      context: context,
      builder: (context) {
        final intl = SunnyIntl.of(context)!;
        return Column(
          children: [
            Expanded(child: Container()),
            Container(
              color: Colors.white,
              alignment: Alignment.centerRight,
              child: PlatformButton(
                  onPressed: () {
                    Navigator.pop(context, duration.value);
                  },
                  child: Text(
                    intl.doneLabel,
                    style: SunnyTextStyles.primaryActionText,
                  )),
            ),
            // ignore: missing_required_param
            DurationPickerControl(
              key: key,
              initialValue: initialValue,
              onChange: (value) {
                duration.update(value);
              },
            )
          ],
        );
      });
}