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

View File

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