Files
fforte/lib/screens/Excursion/excursion_main.dart
2025-01-09 23:47:15 +01:00

174 lines
5.7 KiB
Dart

import 'package:animations/animations.dart';
import 'package:fforte/screens/sharedWidgets/datum.dart';
/import 'package:fforte/screens/sharedWidgets/var_text_field.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class ExcursionMain extends StatefulWidget {
const ExcursionMain({super.key});
@override
State<ExcursionMain> createState() => _ExcursionMainState();
}
class _ExcursionMainState extends State<ExcursionMain> {
// all TextEditingController because its easier
Map<String, TextEditingController> getTextFields() {
Map<String, TextEditingController> rmap = {
// Step 1
"LogDat": TextEditingController(),
"Rudel": TextEditingController(),
"Teilnehm": TextEditingController(),
"Jahr": TextEditingController(),
"Dauer": TextEditingController(),
"MHund": TextEditingController(),
"MLeine": TextEditingController(),
"BLand": TextEditingController(),
"Lkr": TextEditingController(),
"BeiOrt": TextEditingController(),
"BimaNr": TextEditingController(),
"BimaName": TextEditingController(),
"BimaNutzer": TextEditingController(),
"BimaAGV": TextEditingController(),
// Step 2
"Wetter": TextEditingController(),
"Temperat": TextEditingController(),
"RegenVor": TextEditingController(),
"KmAuto": TextEditingController(),
"KmFuss": TextEditingController(),
"KmRad": TextEditingController(),
"KmTotal": TextEditingController(),
"KmAuProz": TextEditingController(),
"KmFuProz": TextEditingController(),
"KmRaProz": TextEditingController(),
// Spur maybe own step?
"SpGut": TextEditingController(),
"SpMittel": TextEditingController(),
"SpSchlecht": TextEditingController(),
"SpurFund": TextEditingController(),
"SpurLang": TextEditingController(),
"SpurTiere": TextEditingController(),
"SpSicher": TextEditingController(),
"WelpenSp": TextEditingController(),
"WelpenAnz": TextEditingController(),
"WpSicher": TextEditingController(),
"LosungGes": TextEditingController(),
"LosungAnz": TextEditingController(),
"LosungGen": TextEditingController(),
"UrinAnz": TextEditingController(),
"UrinGen": TextEditingController(),
"OestrAnz": TextEditingController(),
"OestrGen": TextEditingController(),
"HaarAnz": TextEditingController(),
"HaarGen": TextEditingController(),
"LosungKm": TextEditingController(),
"GenetiKm": TextEditingController(),
"Hinweise": TextEditingController(),
// Step 3
"Bemerk": TextEditingController(),
"IntKomm": TextEditingController(),
"FallNum": TextEditingController(),
};
return rmap;
}
int currentStep = 0;
@override
Widget build(BuildContext context) {
List<Step> getSteps() => [
Step(
title: Text(AppLocalizations.of(context)!.dateandtime),
content: Column(
children: [
// Datum feld
Datum(initDatum: DateTime.now(),
onDateChanged: (date) {
}),
// Terretorium
const SizedBox(height: 10,),
VarTextField(textController: getTextFields()["Rudel"]!, localization: localization, dbName: dbName, required: required)
],
)),
Step(
title: const Text("step2"),
content: Column(
children: [
VarTextField(
textController: getTextFields()["Wetter"]!,
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"]!),
],
))
];
return Scaffold(
appBar: AppBar(
title: Text(AppLocalizations.of(context)!.excursion),
),
body: PageTransitionSwitcher(
duration: const Duration(microseconds: 800),
transitionBuilder: (Widget child, Animation<double> animation,
Animation<double> secondaryAnimation) {
return SharedAxisTransition(
animation: animation,
secondaryAnimation: secondaryAnimation,
transitionType: SharedAxisTransitionType.vertical,
child: child,
);
},
child: Stepper(
key: ValueKey<int>(currentStep),
steps: getSteps(),
currentStep: currentStep,
onStepTapped: (value) {
setState(() {
currentStep = value;
});
},
onStepContinue: () {
final isLastStep = currentStep == getSteps().length - 1;
if (!isLastStep) {
setState(() {
currentStep += 1;
print(currentStep);
});
} else {
print("help");
}
},
onStepCancel: () {
if (currentStep == 0) {
Navigator.pop(context);
} else {
setState(() {
currentStep -= 1;
});
}
},
),
));
}
}