fix: duration-picker not working (#134)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2024-11-08 14:48:08 +01:00 committed by GitHub
parent 59a5fa6ac6
commit 35e74258d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 26 additions and 14 deletions

View file

@ -18,13 +18,20 @@ class InputHandler extends StatefulWidget {
class _InputHandlerState extends State<InputHandler> {
final focusNode = FocusNode();
@override
void initState() {
super.initState();
//Focus on start
focusNode.requestFocus();
}
@override
Widget build(BuildContext context) {
return Focus(
autofocus: widget.autoFocus,
focusNode: focusNode,
onFocusChange: (value) {
if (!focusNode.hasFocus) {
if (!focusNode.hasFocus && widget.autoFocus) {
focusNode.requestFocus();
}
},

View file

@ -1,10 +1,12 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/screens/shared/outlined_text_field.dart';
import 'package:fladder/util/localization_helper.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
String timePickerString(BuildContext context, Duration? duration) {
if (duration == null) return context.localized.never;
@ -113,8 +115,10 @@ class SimpleDurationPicker extends ConsumerWidget {
final parsedValue = int.parse(value);
if (parsedValue >= 60) {
secondsTextController.text = (parsedValue % 60).toString().padLeft(2, '0');
minuteTextController.text =
(int.parse(minuteTextController.text) + parsedValue / 60).floor().toString().padLeft(2, '0');
minuteTextController.text = (int.parse(minuteTextController.text) + parsedValue / 60)
.floor()
.toString()
.padLeft(2, '0');
}
onChanged(
Duration(