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/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 createState() => _ExcursionMainState(); } class _ExcursionMainState extends State { // alles TextEditingController // TODO: // - Hund dabei u mit leine u fragen was dieses nein textfeld soll // - Input vorgabe fuer dauer feld Map getTextFields() { Map rmap = { "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(), }; return rmap; } @override Widget build(BuildContext context) { List getSteps() => [ Step( title: Text(AppLocalizations.of(context)!.dateandtime), content: Column( children: [ // TODO onDateChanged Datum(initDatum: DateTime.now(), onDateChanged: (date) {}), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["Rudel"]!, localization: AppLocalizations.of(context)!.rudel, dbName: "Rudel", required: false), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["Teilnehm"]!, localization: AppLocalizations.of(context)!.teilnehmer, dbName: "Teilnehm", required: false, ), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["Dauer"]!, localization: AppLocalizations.of(context)!.dauer, dbName: "Dauer", required: false), const SizedBox( height: 10, ), HundULeine(onMHundChanged: (mHund, mLeine) { getTextFields()["MHund"]!.text = mHund; getTextFields()["MLeine"]!.text = mLeine; print(mHund); print(mLeine); }), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["BLand"]!, localization: AppLocalizations.of(context)!.bland, dbName: "BLand", required: false), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["Lkr"]!, localization: AppLocalizations.of(context)!.lkr, dbName: "Lkr", required: false), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["BeiOrt"]!, localization: AppLocalizations.of(context)!.beiort, dbName: "BeiOrt", required: false), const SizedBox( height: 10, ), const Divider(), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["BimaNr"]!, localization: AppLocalizations.of(context)!.bimaNr, dbName: "BimaNr", required: false), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["BimaName"]!, localization: AppLocalizations.of(context)!.bimaName, dbName: "BimaName", required: false), const SizedBox( height: 10, ), BimaNutzer(onBimaNutzerChanged: (value) { setState(() { getTextFields()["BimaNutzer"]!.text = value; }); }), const SizedBox( height: 10, ), VarTextField( textController: getTextFields()["BimaAGV"]!, localization: AppLocalizations.of(context)!.bimaAGV, dbName: "BimaAGV", required: false) ], )), const Step(title: Text("step2"), content: Text("data")) ]; int currentStep = 0; return Scaffold( appBar: AppBar( title: Text(AppLocalizations.of(context)!.excursion), ), body: PageTransitionSwitcher( duration: const Duration(microseconds: 800), transitionBuilder: (Widget child, Animation animation, Animation secondaryAnimation) { return SharedAxisTransition( animation: animation, secondaryAnimation: secondaryAnimation, transitionType: SharedAxisTransitionType.vertical, child: child, ); }, child: Stepper( key: ValueKey(currentStep), steps: getSteps(), currentStep: currentStep, onStepTapped: (value) { setState(() { currentStep = value; }); }, onStepContinue: () async { final bool isLastStep = currentStep == getSteps().length - 1; if (!isLastStep) { setState(() { currentStep += 1; }); } }, onStepCancel: () { if (currentStep == 0) { Navigator.pop(context); } else { setState(() { currentStep -= 1; }); } }, ), )); } }