dev
dart 46 lines 1.42 KB
Raw
1 import 'dart:io';
2 import 'package:cake_wallet/main.dart';
3 import 'package:flutter/cupertino.dart';
4 import 'package:flutter/material.dart';
5
6 Future<DateTime?> getDate(
7 {required BuildContext context,
8 required DateTime initialDate,
9 required DateTime firstDate,
10 required DateTime lastDate}) {
11 if (Platform.isIOS) {
12 return _buildCupertinoDataPicker(context, initialDate, firstDate, lastDate);
13 }
14
15 return _buildMaterialDataPicker(context, initialDate, firstDate, lastDate);
16 }
17
18 Future<DateTime?> _buildMaterialDataPicker(
19 BuildContext context, DateTime initialDate, DateTime firstDate, DateTime lastDate) async {
20 return await showDatePicker(
21 context: context,
22 initialDate: initialDate,
23 firstDate: firstDate,
24 lastDate: lastDate,
25 helpText: '');
26 }
27
28 Future<DateTime?> _buildCupertinoDataPicker(
29 BuildContext context, DateTime initialDate, DateTime firstDate, DateTime lastDate) async {
30 DateTime? date;
31 await showModalBottomSheet<void>(
32 context: navigatorKey.currentState!.context,
33 builder: (_) {
34 return Container(
35 height: MediaQuery.of(context).size.height / 3,
36 child: CupertinoDatePicker(
37 mode: CupertinoDatePickerMode.date,
38 onDateTimeChanged: (picked) => date = picked,
39 initialDateTime: initialDate,
40 minimumDate: firstDate,
41 maximumDate: lastDate,
42 ),
43 );
44 });
45 return date;
46 }