From 00bc3bb0aa63bb72e3c71b3982f6a6c29b866317 Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Wed, 14 Aug 2024 22:55:41 +0200 Subject: [PATCH] add datepicker --- covas_mobile/lib/pages/UpdateEventImage.dart | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/covas_mobile/lib/pages/UpdateEventImage.dart b/covas_mobile/lib/pages/UpdateEventImage.dart index af00c93..04ca787 100644 --- a/covas_mobile/lib/pages/UpdateEventImage.dart +++ b/covas_mobile/lib/pages/UpdateEventImage.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:http/http.dart' as http; +import 'package:intl/intl.dart'; import 'dart:convert'; import 'dart:io'; @@ -41,6 +43,17 @@ class _UpdateeventImageState extends State TextEditingController inputName = TextEditingController(); TextEditingController inputPlace = TextEditingController(); TextEditingController inputDate = TextEditingController(); + TextEditingController startDatepicker = TextEditingController(); + + onTapFunctionDatePicker({required BuildContext context}) async { + DateTime? pickedDate = await showDatePicker( + context: context, + firstDate: DateTime.now(), + initialDate: DateTime.now(), + lastDate: DateTime(2026)); + if (pickedDate == null) return; + startDatepicker.text = DateFormat("dd-MM-yyyy").format(pickedDate); + } Future _updateEvent(BuildContext context) async { var url = Uri.parse("${globals.api}/token"); @@ -181,6 +194,19 @@ class _UpdateeventImageState extends State hintText: 'Entrer le lieu'), ), ), + Padding( + padding: const EdgeInsets.only( + left: 15.0, right: 15.0, top: 15, bottom: 0), + //padding: EdgeInsets.symmetric(horizontal: 15), + child: TextField( + controller: startDatepicker, + readOnly: true, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Date de debut de l\'évènement', + hintText: 'Cliquez ici pour selectionner une date'), + onTap: () => onTapFunctionDatePicker(context: context)), + ), SizedBox( height: 30, ),