updated ux
This commit is contained in:
@@ -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(() {
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user