openRangePicker function

dynamic openRangePicker(
  1. BuildContext context, {
  2. required Function onDateChanged,
  3. String? startDate,
  4. String? endDate,
  5. required String variant,
})

Implementation

openRangePicker(
  BuildContext context, {
  required Function onDateChanged,
  String? startDate,
  String? endDate,
  required String variant,
}) async {
  final DateTimeRange? result = await showDateRangePicker(
    context: context,
    firstDate: DateTime(1900),
    lastDate: DateTime(2300),
    initialDateRange: DateTimeRange(
      start: startDate != null && startDate.isNotEmpty
          ? moment(startDate).parse()
          : now(),
      end: endDate != null && endDate.isNotEmpty
          ? moment(endDate).parse()
          : now(),
    ),
    saveText: 'SELECT',
    builder: (BuildContext context, Widget? child) {
      return Theme(
        data: ThemeData().copyWith(
          colorScheme: ThemeData().colorScheme.copyWith(
                primary: BilionsTheme.getColor(variant),
              ),
        ),
        child: child!,
      );
    },
  );
  if (result != null) {
    onDateChanged(result.start, result.end);
  }
}