calculator and login improvements

This commit is contained in:
2025-08-06 01:05:49 +01:00
parent ae88847543
commit 5c157c59b8
2 changed files with 26 additions and 2 deletions

View File

@@ -66,9 +66,26 @@ class _StationAutocompleteState extends State<StationAutocomplete> {
fieldViewBuilder:
(context, textEditingController, focusNode, onFieldSubmitted) {
textEditingController.value = _controller.value;
return TextField(
controller: textEditingController,
focusNode: focusNode,
textInputAction: TextInputAction.done,
onSubmitted: (_) {
final query = textEditingController.text.toLowerCase();
final matches = widget.allStations
.map((s) => s.name)
.where((name) => name.toLowerCase().contains(query))
.toList();
if (matches.isNotEmpty) {
matches.sort((a, b) => a.length.compareTo(b.length));
final firstMatch = matches.first;
_controller.text = firstMatch;
widget.onChanged(firstMatch);
focusNode.unfocus(); // optionally close keyboard
}
},
decoration: const InputDecoration(
labelText: 'Select station',
border: OutlineInputBorder(),

View File

@@ -125,7 +125,7 @@ class _LoginPanelContentState extends State<LoginPanelContent> {
_loggingIn = true;
});
try {
auth.login(username, password);
await auth.login(username, password);
print('Login successful');
setState(() {
_loggingIn = false;
@@ -148,7 +148,14 @@ class _LoginPanelContentState extends State<LoginPanelContent> {
if (_loggingIn) {
loginButtonContent = Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(),
child: SizedBox(
height: 10,
width: 10,
child: CircularProgressIndicator(
color: Theme.of(context).textTheme.bodyLarge?.color,
strokeWidth: 2,
),
),
);
} else {
loginButtonContent = Text("Login");