174 lines
5.7 KiB
Dart
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;
|
|
});
|
|
}
|
|
},
|
|
),
|
|
));
|
|
}
|
|
}
|