added niederschlag widget

This commit is contained in:
Nico
2024-12-29 19:24:43 +01:00
parent f1f5019f58
commit e0409f972c
5 changed files with 88 additions and 11 deletions

View File

@@ -572,11 +572,30 @@
"name": "Name", "name": "Name",
"@name": { "@name": {
"description": "name text field" "description": "name text field"
} },
"aktuell": "currently",
"selberMorgen": "same morning",
"nacht": "last night",
"vortag": "day before",
"vor23Tagen": "2/3 days ago",
"vor46Tagen": "4/6 daps ago",
"vor1Woche": "=< 1 week",
"letzterNiederschlag": "Last precipitation"
} }

View File

@@ -1,6 +1,7 @@
import 'package:animations/animations.dart'; import 'package:animations/animations.dart';
import 'package:fforte/screens/Excursion/widgets/bima_nutzer.dart'; import 'package:fforte/screens/Excursion/widgets/bima_nutzer.dart';
import 'package:fforte/screens/Excursion/widgets/hund_u_leine.dart'; import 'package:fforte/screens/Excursion/widgets/hund_u_leine.dart';
import 'package:fforte/screens/Excursion/widgets/letzter_niederschlag.dart~';
import 'package:fforte/screens/sharedWidgets/datum.dart'; import 'package:fforte/screens/sharedWidgets/datum.dart';
import 'package:fforte/screens/sharedWidgets/var_text_field.dart'; import 'package:fforte/screens/sharedWidgets/var_text_field.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -14,11 +15,7 @@ class ExcursionMain extends StatefulWidget {
} }
class _ExcursionMainState extends State<ExcursionMain> { class _ExcursionMainState extends State<ExcursionMain> {
// alles TextEditingController // all TextEditingController because its easier
// TODO:
// - Hund dabei u mit leine u fragen was dieses nein textfeld soll
// - Input vorgabe fuer dauer feld
Map<String, TextEditingController> getTextFields() { Map<String, TextEditingController> getTextFields() {
Map<String, TextEditingController> rmap = { Map<String, TextEditingController> rmap = {
@@ -84,6 +81,8 @@ class _ExcursionMainState extends State<ExcursionMain> {
return rmap; return rmap;
} }
int currentStep = 0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
List<Step> getSteps() => [ List<Step> getSteps() => [
@@ -206,16 +205,18 @@ class _ExcursionMainState extends State<ExcursionMain> {
localization: "Wetter", localization: "Wetter",
dbName: "Wetter", dbName: "Wetter",
required: false), required: false),
const SizedBox(height: 10),
VarTextField( VarTextField(
textController: getTextFields()["Temperat"]!, textController: getTextFields()["Temperat"]!,
localization: "Temperatur", localization: "Temperatur",
dbName: "Temperat", dbName: "Temperat",
required: false), required: false),
const SizedBox(height: 10),
LetzterNiederschlag(controller: getTextFields()["RegenVor"]!),
], ],
)) ))
]; ];
int currentStep = 0;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
@@ -233,7 +234,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
); );
}, },
child: Stepper( child: Stepper(
key: ValueKey(currentStep), key: ValueKey<int>(currentStep),
steps: getSteps(), steps: getSteps(),
currentStep: currentStep, currentStep: currentStep,
onStepTapped: (value) { onStepTapped: (value) {
@@ -241,13 +242,16 @@ class _ExcursionMainState extends State<ExcursionMain> {
currentStep = value; currentStep = value;
}); });
}, },
onStepContinue: () async { onStepContinue: () {
final bool isLastStep = currentStep == getSteps().length - 1; final isLastStep = currentStep == getSteps().length - 1;
if (!isLastStep) { if (!isLastStep) {
setState(() { setState(() {
currentStep += 1; currentStep += 1;
print(currentStep);
}); });
} else {
print("help");
} }
}, },
onStepCancel: () { onStepCancel: () {

View File

@@ -0,0 +1,45 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class LetzterNiederschlag extends StatefulWidget {
final TextEditingController controller;
const LetzterNiederschlag({super.key, required this.controller});
@override
LetzterNiederschlagState createState() => LetzterNiederschlagState();
}
class LetzterNiederschlagState extends State<LetzterNiederschlag> {
@override
Widget build(BuildContext context) {
return DropdownMenu<String>(
controller: widget.controller,
label: Text(AppLocalizations.of(context)!.letzterNiederschlag),
requestFocusOnTap: true,
dropdownMenuEntries: [
DropdownMenuEntry(
value: "aktuell",
label: AppLocalizations.of(context)!.aktuell),
DropdownMenuEntry(
value: "selberMorgen",
label: AppLocalizations.of(context)!.selberMorgen),
DropdownMenuEntry(
value: "nacht",
label: AppLocalizations.of(context)!.nacht),
DropdownMenuEntry(
value: "vortag",
label: AppLocalizations.of(context)!.vortag),
DropdownMenuEntry(
value: "vor23Tagen",
label: AppLocalizations.of(context)!.vor23Tagen),
DropdownMenuEntry(
value: "vor46Tagen",
label: AppLocalizations.of(context)!.vor46Tagen),
DropdownMenuEntry(
value: "vor1Woche",
label: AppLocalizations.of(context)!.vor1Woche)
],
);
}
}

View File

@@ -66,3 +66,4 @@
25 dez 1h 25 dez 1h
27 dez 1h 45min 27 dez 1h 45min
28 dez 45min 28 dez 45min
29 dez 1h 45min

View File

@@ -1,5 +1,13 @@
{ {
"de": [ "de": [
"excursion" "excursion",
"aktuell",
"selberMorgen",
"nacht",
"vortag",
"vor23Tagen",
"vor46Tagen",
"vor1Woche",
"letzterNiederschlag"
] ]
} }