updated ux

This commit is contained in:
2026-06-17 12:18:02 +02:00
parent 12329d20e8
commit 32e44010fb
+17 -13
View File
@@ -25,6 +25,9 @@ class _TaskEditPageState extends State<TaskEditPage> {
final dueDateController = TextEditingController();
final dueTimeController = TextEditingController();
late String pageTitle;
final dueDateFocusNode = FocusNode();
final dueTimeFocusNode = FocusNode();
final categoryFocusNode = FocusNode();
@override
void didChangeDependencies() {
@@ -80,16 +83,15 @@ class _TaskEditPageState extends State<TaskEditPage> {
TextFormField(
controller: descriptionController,
decoration: InputDecoration(label: Text('Description')),
keyboardType: TextInputType.text,
textInputAction: TextInputAction.next,
keyboardType: TextInputType.multiline,
textInputAction: TextInputAction.newline,
minLines: 3,
maxLines: 10,
),
TextFormField(
focusNode: dueDateFocusNode,
controller: dueDateController,
onChanged: (value) {
if (dateTimeValidator(value) == null) {}
setState(() {});
},
onFieldSubmitted: (_) => dueDateFocusNode.nextFocus(),
decoration: InputDecoration(
label: Text('Due Date'),
suffix: IconButton(
@@ -97,17 +99,19 @@ class _TaskEditPageState extends State<TaskEditPage> {
final result = await onOpenCalendarPickerPressed();
if (result != null) {
dueDateController.text = getIsoDateString(result);
dueTimeFocusNode.requestFocus();
}
setState(() {});
},
icon: Icon(Icons.calendar_month),
),
),
validator: dateTimeValidator,
keyboardType: TextInputType.text,
keyboardType: TextInputType.datetime,
textInputAction: TextInputAction.next,
),
TextFormField(
focusNode: dueTimeFocusNode,
onFieldSubmitted: (_) => dueTimeFocusNode.nextFocus(),
controller: dueTimeController,
enabled: DateTime.tryParse(dueDateController.text) != null
? true
@@ -117,10 +121,9 @@ class _TaskEditPageState extends State<TaskEditPage> {
suffix: IconButton(
onPressed: () async {
final result = await onOpenTimePickerPressed();
if (result != null) {
setState(() {
dueTimeController.text = result.format(context);
});
if (result != null && context.mounted) {
dueTimeController.text = result.format(context);
categoryFocusNode.requestFocus();
}
},
icon: Icon(Icons.schedule),
@@ -131,6 +134,7 @@ class _TaskEditPageState extends State<TaskEditPage> {
textInputAction: TextInputAction.next,
),
TextFormField(
focusNode: categoryFocusNode,
controller: categoryController,
decoration: InputDecoration(label: Text('Category')),
keyboardType: TextInputType.text,