From 522d9885f6e489d4cdbf7ec0d081294b9d557964 Mon Sep 17 00:00:00 2001 From: Nico Date: Mon, 5 May 2025 20:52:41 +0200 Subject: [PATCH] commented and aligned text for cog --- lib/screens/Excursion/excursion_main.dart | 618 +++++++++--------- .../Excursion/widgets/hund_u_leine.dart | 4 +- 2 files changed, 323 insertions(+), 299 deletions(-) diff --git a/lib/screens/Excursion/excursion_main.dart b/lib/screens/Excursion/excursion_main.dart index 1f2aa4f..aa32bbf 100644 --- a/lib/screens/Excursion/excursion_main.dart +++ b/lib/screens/Excursion/excursion_main.dart @@ -24,64 +24,64 @@ class _ExcursionMainState extends State { Map getTextFields() { Map 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 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(), + // 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(), + // 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(), + "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(), - }; + // Step 3 + "Bemerk": TextEditingController(), + "IntKomm": TextEditingController(), + "FallNum": TextEditingController(), + }; return rmap; } @@ -91,265 +91,287 @@ class _ExcursionMainState extends State { @override Widget build(BuildContext context) { List getSteps() => [ - Step( - title: Text(AppLocalizations.of(context)!.dateandtime), - content: Column( - children: [ - Datum( - initDatum: DateTime.now(), - onDateChanged: (date) { - getTextFields()["LogDat"]!.text = date.toString(); - }, - name: AppLocalizations.of(context)!.date, + Step( + title: Text(AppLocalizations.of(context)!.dateandtime), + content: Column( + children: [ + // ---------- Date + Datum( + initDatum: DateTime.now(), + onDateChanged: (date) { + getTextFields()["LogDat"]!.text = date.toString(); + }, + name: AppLocalizations.of(context)!.date, + ), + const SizedBox( + height: 10, + ), + // ---------- Pack + VarTextField( + textController: getTextFields()["Rudel"]!, + localization: AppLocalizations.of(context)!.rudel, + dbName: "Rudel", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Participants + VarTextField( + textController: getTextFields()["Teilnehm"]!, + localization: AppLocalizations.of(context)!.teilnehmer, + dbName: "Teilnehm", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Duration + VarTextField( + textController: getTextFields()["Dauer"]!, + localization: AppLocalizations.of(context)!.dauer, + dbName: "Dauer", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Dog(leash) + HundULeine(onMHundChanged: (mHund, mLeine) { + getTextFields()["MHund"]!.text = mHund; + getTextFields()["MLeine"]!.text = mLeine; + }), + const SizedBox( + height: 10, + ), + // ---------- State + VarTextField( + textController: getTextFields()["BLand"]!, + localization: AppLocalizations.of(context)!.bland, + dbName: "BLand", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Country + VarTextField( + textController: getTextFields()["Lkr"]!, + localization: AppLocalizations.of(context)!.lkr, + dbName: "Lkr", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- By State + VarTextField( + textController: getTextFields()["BeiOrt"]!, + localization: AppLocalizations.of(context)!.beiort, + dbName: "BeiOrt", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Bima number + const Divider(), + const SizedBox( + height: 10, + ), + VarTextField( + textController: getTextFields()["BimaNr"]!, + localization: AppLocalizations.of(context)!.bimaNr, + dbName: "BimaNr", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Bima name + VarTextField( + textController: getTextFields()["BimaName"]!, + localization: AppLocalizations.of(context)!.bimaName, + dbName: "BimaName", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 10, + ), + // ---------- Bima user + BimaNutzer(onBimaNutzerChanged: (value) { + setState(() { + getTextFields()["BimaNutzer"]!.text = value; + }); + }), + const SizedBox( + height: 10, + ), + // ---------- Bima AGV + VarTextField( + textController: getTextFields()["BimaAGV"]!, + localization: AppLocalizations.of(context)!.bimaAGV, + dbName: "BimaAGV", + required: false, + dbDesignation: DatabasesEnum.excursion, + ) + ], + )), + Step( + title: const Text("step2"), + content: Column( + children: [ + // ---------- Weather + // TODO CHANGE TO LOCALIZATION + VarTextField( + textController: getTextFields()["Wetter"]!, + localization: "Wetter", + dbName: "Wetter", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox(height: 10), + // ---------- Temperature + VarTextField( + textController: getTextFields()["Temperat"]!, + localization: "Temperatur", + dbName: "Temperat", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox(height: 10), + // ---------- Last precipitation + LetzterNiederschlag(controller: getTextFields()["RegenVor"]!), + const SizedBox(height: 20), + // ---------- Track conditions + StreckeUSpurbedingungen( + kmAutoController: getTextFields()["KmAuto"]!, + kmFussController: getTextFields()["KmFuss"]!, + kmRadController: getTextFields()["KmRad"]!, + spGutController: getTextFields()["SpGut"]!, + spMittelController: getTextFields()["SpMittel"]!, + spSchlechtController: getTextFields()["SpSchlecht"]!, + ), + const SizedBox( + height: 20, + ), + const Divider(), + // ---------- Track found + SpurGefunden( + spurFund: getTextFields()["SpurFund"]!, + spurLang: getTextFields()["SpurLang"]!, + spurTiere: getTextFields()["SpurTiere"]!, + spSicher: getTextFields()["SpSicher"]!, + welpenSp: getTextFields()["WelpenSp"]!, + welpenAnz: getTextFields()["WelpenAnz"]!, + wpSicher: getTextFields()["WpSicher"]!), + const SizedBox( + height: 20, + ), + // ---------- Counts + 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, + ), + const Divider(), + // ---------- Clues + // TODO Add title + Hinweise( + hinweise: getTextFields()["Hinweise"]!, + ), + ], ), - const SizedBox( - height: 10, + ), + Step( + title: const Text("step3"), + content: Column( + children: [ + // ---------- Remarks + VarTextField( + textController: getTextFields()["Bemerk"]!, + localization: "Bemerkungen", + dbName: "Bemerk", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + const SizedBox( + height: 20, + ), + // ---------- Internal communication + VarTextField( + textController: getTextFields()["IntKomm"]!, + localization: "Interne Kommunikation", + dbName: "IntKomm", + required: false, + dbDesignation: DatabasesEnum.excursion, + ), + ], ), - VarTextField( - textController: getTextFields()["Rudel"]!, - localization: AppLocalizations.of(context)!.rudel, - dbName: "Rudel", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["Teilnehm"]!, - localization: AppLocalizations.of(context)!.teilnehmer, - dbName: "Teilnehm", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["Dauer"]!, - localization: AppLocalizations.of(context)!.dauer, - dbName: "Dauer", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - 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, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["Lkr"]!, - localization: AppLocalizations.of(context)!.lkr, - dbName: "Lkr", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["BeiOrt"]!, - localization: AppLocalizations.of(context)!.beiort, - dbName: "BeiOrt", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - const Divider(), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["BimaNr"]!, - localization: AppLocalizations.of(context)!.bimaNr, - dbName: "BimaNr", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox( - height: 10, - ), - VarTextField( - textController: getTextFields()["BimaName"]!, - localization: AppLocalizations.of(context)!.bimaName, - dbName: "BimaName", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - 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, - dbDesignation: DatabasesEnum.excursion, - ) - ], - )), - Step( - title: const Text("step2"), - content: Column( - children: [ - VarTextField( - textController: getTextFields()["Wetter"]!, - localization: "Wetter", - dbName: "Wetter", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox(height: 10), - VarTextField( - textController: getTextFields()["Temperat"]!, - localization: "Temperatur", - dbName: "Temperat", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - const SizedBox(height: 10), - LetzterNiederschlag(controller: getTextFields()["RegenVor"]!), - const SizedBox(height: 20), - StreckeUSpurbedingungen( - kmAutoController: getTextFields()["KmAuto"]!, - kmFussController: getTextFields()["KmFuss"]!, - kmRadController: getTextFields()["KmRad"]!, - spGutController: getTextFields()["SpGut"]!, - spMittelController: getTextFields()["SpMittel"]!, - spSchlechtController: getTextFields()["SpSchlecht"]!, - ), - const SizedBox( - height: 20, - ), - const Divider(), - SpurGefunden( - spurFund: getTextFields()["SpurFund"]!, - spurLang: getTextFields()["SpurLang"]!, - spurTiere: getTextFields()["SpurTiere"]!, - spSicher: getTextFields()["SpSicher"]!, - welpenSp: getTextFields()["WelpenSp"]!, - welpenAnz: getTextFields()["WelpenAnz"]!, - 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, - ), - const Divider(), - Hinweise( - hinweise: getTextFields()["Hinweise"]!, - ), - ], - ), - ), - - Step( - title: const Text("step3"), - content: Column( - children: [ - VarTextField(textController: getTextFields()["Bemerk"]!, - localization: "Bemerkungen", - dbName: "Bemerk", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - - const SizedBox(height: 20,), - VarTextField( - textController: getTextFields()["IntKomm"]!, - localization: "Interne Kommunikation", - dbName: "IntKomm", - required: false, - dbDesignation: DatabasesEnum.excursion, - ), - ], - ), - ), - ]; + ), + ]; + // Begin of widget tree 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; - }); + 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, + ); }, - onStepContinue: () { - final isLastStep = currentStep == getSteps().length - 1; + child: Stepper( + key: ValueKey(currentStep), + steps: getSteps(), + currentStep: currentStep, + onStepTapped: (value) { + setState(() { + currentStep = value; + }); + }, + onStepContinue: () { + final isLastStep = currentStep == getSteps().length - 1; - if (!isLastStep) { + if (!isLastStep) { setState(() { currentStep += 1; }); } - }, - onStepCancel: () { - if (currentStep == 0) { + }, + onStepCancel: () { + if (currentStep == 0) { Navigator.pop(context); } else { setState(() { currentStep -= 1; }); } - }, - ), - )); + }, + ), + )); } } diff --git a/lib/screens/Excursion/widgets/hund_u_leine.dart b/lib/screens/Excursion/widgets/hund_u_leine.dart index ad193fe..7d6f36f 100644 --- a/lib/screens/Excursion/widgets/hund_u_leine.dart +++ b/lib/screens/Excursion/widgets/hund_u_leine.dart @@ -39,7 +39,9 @@ class HundULeineState extends State { Widget build(BuildContext context) { return Column( children: [ - Text(AppLocalizations.of(context)!.mHund), + Align( + alignment: Alignment.bottomLeft, + child: Text(AppLocalizations.of(context)!.mHund)), ListTile( visualDensity: const VisualDensity(vertical: -4), title: Text(AppLocalizations.of(context)!.ja),