fixed alignment in anzahlen, added and finished 3rd step created hinweise widget, removed domain, changed letzter_niederschlag.dart to Dropdown

time
This commit is contained in:
nico
2025-03-17 22:34:38 +01:00
parent 1791876eec
commit 5086c4f2cc
6 changed files with 171 additions and 88 deletions

View File

@@ -1,6 +1,7 @@
import 'package:animations/animations.dart'; import 'package:animations/animations.dart';
import 'package:fforte/screens/Excursion/widgets/anzahlen.dart~'; import 'package:fforte/screens/Excursion/widgets/anzahlen.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/hinweise.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/Excursion/widgets/letzter_niederschlag.dart';
import 'package:fforte/screens/Excursion/widgets/spur_gefunden.dart'; import 'package:fforte/screens/Excursion/widgets/spur_gefunden.dart';
@@ -10,8 +11,6 @@ import 'package:fforte/screens/sharedWidgets/var_text_field.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'widgets/anzahlen.dart';
class ExcursionMain extends StatefulWidget { class ExcursionMain extends StatefulWidget {
const ExcursionMain({super.key}); const ExcursionMain({super.key});
@@ -90,8 +89,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
List<Step> getSteps() => List<Step> getSteps() => [
[
Step( Step(
title: Text(AppLocalizations.of(context)!.dateandtime), title: Text(AppLocalizations.of(context)!.dateandtime),
content: Column( content: Column(
@@ -200,8 +198,6 @@ class _ExcursionMainState extends State<ExcursionMain> {
required: false) required: false)
], ],
)), )),
Step( Step(
title: const Text("step2"), title: const Text("step2"),
content: Column( content: Column(
@@ -228,7 +224,9 @@ class _ExcursionMainState extends State<ExcursionMain> {
spMittelController: getTextFields()["SpMittel"]!, spMittelController: getTextFields()["SpMittel"]!,
spSchlechtController: getTextFields()["SpSchlecht"]!, spSchlechtController: getTextFields()["SpSchlecht"]!,
), ),
const SizedBox(height: 20,), const SizedBox(
height: 20,
),
const Divider(), const Divider(),
SpurGefunden( SpurGefunden(
spurFund: getTextFields()["SpurFund"]!, spurFund: getTextFields()["SpurFund"]!,
@@ -238,12 +236,44 @@ class _ExcursionMainState extends State<ExcursionMain> {
welpenSp: getTextFields()["WelpenSp"]!, welpenSp: getTextFields()["WelpenSp"]!,
welpenAnz: getTextFields()["WelpenAnz"]!, welpenAnz: getTextFields()["WelpenAnz"]!,
wpSicher: getTextFields()["WpSicher"]!), wpSicher: getTextFields()["WpSicher"]!),
const SizedBox(
height: 20,
),
Anzahlen(
losungAnz: getTextFields()["LosungAnz"]!,
losungGes: getTextFields()["LosungGes"]!,
losungGen: getTextFields()["LosungGen"]!,
urinAnz: getTextFields()["UrinAnz"]!,
urinGen: getTextFields()["UrinGen"]!,
oestrAnz: getTextFields()["OestrAnz"]!,
oestrGen: getTextFields()["OestrGen"]!,
haarAnz: getTextFields()["HaarAnz"]!,
haarGen: getTextFields()["HaarGen"]!,
),
const SizedBox(
height: 20,
),
Hinweise(),
],
),
),
Step(
title: const Text("step3"),
content: Column(
children: [
VarTextField(textController: getTextFields()["Bemerk"]!,
localization: "Bemerkungen",
dbName: "Bemerk",
required: false),
const SizedBox(height: 20,), const SizedBox(height: 20,),
Anzahlen() VarTextField(textController: getTextFields()["IntKomm"]!,
localization: "Interne Kommunikation",
dbName: "IntKomm", required: false),
], ],
)) ),
),
]; ];
return Scaffold( return Scaffold(

View File

@@ -1,7 +1,27 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class Anzahlen extends StatefulWidget { class Anzahlen extends StatefulWidget {
const Anzahlen({super.key}); final TextEditingController losungAnz;
final TextEditingController losungGes;
final TextEditingController losungGen;
final TextEditingController urinAnz;
final TextEditingController urinGen;
final TextEditingController oestrAnz;
final TextEditingController oestrGen;
final TextEditingController haarAnz;
final TextEditingController haarGen;
const Anzahlen(
{super.key,
required this.losungAnz,
required this.losungGes,
required this.losungGen,
required this.urinAnz,
required this.urinGen,
required this.oestrAnz,
required this.oestrGen,
required this.haarAnz,
required this.haarGen});
@override @override
AnzahlenState createState() => AnzahlenState(); AnzahlenState createState() => AnzahlenState();
@@ -41,7 +61,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"daven eingesammelt", "davon eingesammelt",
)), )),
), ),
const SizedBox( const SizedBox(
@@ -57,13 +77,14 @@ class AnzahlenState extends State<Anzahlen> {
], ],
), ),
Row( Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Expanded( Expanded(
flex: 6, flex: 6,
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"daven Genetikproben", "davon Genetikproben",
), ),
), ),
), ),
@@ -76,9 +97,9 @@ class AnzahlenState extends State<Anzahlen> {
), ),
], ],
), ),
const Divider(
const Divider(height: 40,), height: 40,
),
Row( Row(
children: [ children: [
Expanded( Expanded(
@@ -104,7 +125,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"daven Genetikproben", "davon Genetikproben",
)), )),
), ),
const SizedBox( const SizedBox(
@@ -119,9 +140,9 @@ class AnzahlenState extends State<Anzahlen> {
), ),
], ],
), ),
const Divider(
const Divider(height: 40,), height: 40,
),
Row( Row(
children: [ children: [
Expanded( Expanded(
@@ -147,7 +168,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"daven Genetikproben", "davon Genetikproben",
)), )),
), ),
const SizedBox( const SizedBox(
@@ -162,9 +183,9 @@ class AnzahlenState extends State<Anzahlen> {
), ),
], ],
), ),
const Divider(
const Divider(height: 40,), height: 40,
),
Row( Row(
children: [ children: [
Expanded( Expanded(
@@ -190,7 +211,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"daven Genetikproben", "davon Genetikproben",
)), )),
), ),
const SizedBox( const SizedBox(

View File

@@ -0,0 +1,18 @@
import 'package:flutter/material.dart';
class Hinweise extends StatefulWidget {
const Hinweise({super.key});
@override
State<Hinweise> createState() => _HinweiseState();
}
class _HinweiseState extends State<Hinweise> {
@override
Widget build(BuildContext context) {
return SizedBox(
height: 30,
child: const Placeholder());
}
}

View File

@@ -11,34 +11,47 @@ class LetzterNiederschlag extends StatefulWidget {
} }
class LetzterNiederschlagState extends State<LetzterNiederschlag> { class LetzterNiederschlagState extends State<LetzterNiederschlag> {
String? selectedValue; // Variable für den ausgewählten Wert
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return DropdownMenu<String>( return DropdownButton<String>(
controller: widget.controller, isExpanded: true,
label: Text(AppLocalizations.of(context)!.letzterNiederschlag), value: selectedValue,
requestFocusOnTap: true, hint: Text(AppLocalizations.of(context)!.letzterNiederschlag),
dropdownMenuEntries: [ onChanged: (String? newValue) {
DropdownMenuEntry( setState(() {
selectedValue = newValue; // Aktualisiere den ausgewählten Wert
});
},
items: [
DropdownMenuItem<String>(
value: "aktuell", value: "aktuell",
label: AppLocalizations.of(context)!.aktuell), child: Text(AppLocalizations.of(context)!.aktuell),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "selberMorgen", value: "selberMorgen",
label: AppLocalizations.of(context)!.selberMorgen), child: Text(AppLocalizations.of(context)!.selberMorgen),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "nacht", value: "nacht",
label: AppLocalizations.of(context)!.nacht), child: Text(AppLocalizations.of(context)!.nacht),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "vortag", value: "vortag",
label: AppLocalizations.of(context)!.vortag), child: Text(AppLocalizations.of(context)!.vortag),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "vor23Tagen", value: "vor23Tagen",
label: AppLocalizations.of(context)!.vor23Tagen), child: Text(AppLocalizations.of(context)!.vor23Tagen),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "vor46Tagen", value: "vor46Tagen",
label: AppLocalizations.of(context)!.vor46Tagen), child: Text(AppLocalizations.of(context)!.vor46Tagen),
DropdownMenuEntry( ),
DropdownMenuItem<String>(
value: "vor1Woche", value: "vor1Woche",
label: AppLocalizations.of(context)!.vor1Woche) child: Text(AppLocalizations.of(context)!.vor1Woche),
),
], ],
); );
} }

View File

@@ -187,7 +187,7 @@ class _IntroScreenState extends State<IntroScreen> {
child: child:
Text(AppLocalizations.of(context)!.test)), Text(AppLocalizations.of(context)!.test)),
PopupMenuItem( PopupMenuItem(
value: "https://data.dbb-wolf.de/app24.php", value: "...",
child: Text( child: Text(
AppLocalizations.of(context)!.notest)) AppLocalizations.of(context)!.notest))
], ],

View File

@@ -71,3 +71,4 @@
17 feb 30min 17 feb 30min
24 feb 2h 45min 24 feb 2h 45min
25 feb 1h 30min 25 feb 1h 30min
17 mär 2h 30min