diff --git a/Todo.txt b/Todo.txt index baecd28..740e998 100644 --- a/Todo.txt +++ b/Todo.txt @@ -1,22 +1,34 @@ todo: +<<<<<<< HEAD TEST SEND FILE TO SERVER FUNCTION maybe auch vorschläge aus templates in dropdown menüs anzeigen im englischen abändern zurückfeld in datenansicht überschriften für view cams dropdown menü fixen (ai fragen) +======= +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f fehler beim speichern anzeigen nach koordinaten lkr auswählen (esri-leaflet-geocoder) fix ktage und nebeneinander positioniere textdateien auch an server senden +<<<<<<< HEAD error check wenn dateiauswahl abgebrochen wurde einfügen save option einfügen nur zum speichern +======= +ausvon und ausbis fixen (falsches datum übergeben (20000-01-01)) +zurückfeld in datenansicht +maybe auch vorschläge aus templates in dropdown menüs anzeigen +im englischen abändern +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f keine ahnung obs funktioniert: +dropdown menü fixen (ai fragen) eintrg in db wenn http response (in sent column) not to do: +überschriften für view cams schritte latlang umbenennen gespeicherten ordner anzeigen Überall absätze machen und textfeld größer wenn langer text diff --git a/lib/addCam/add_cam_main.dart b/lib/addCam/add_cam_main.dart index 62862cd..7d65d37 100644 --- a/lib/addCam/add_cam_main.dart +++ b/lib/addCam/add_cam_main.dart @@ -256,8 +256,12 @@ class _AddCamMainState extends State { child: Text(AppLocalizations.of(context)!.template)), TextButton( onPressed: () async { +<<<<<<< HEAD saveData(); +======= +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f _httpRequest(); + saveData(); Navigator.pushNamedAndRemoveUntil( // ignore: use_build_context_synchronously context, @@ -268,7 +272,7 @@ class _AddCamMainState extends State { TextButton( onPressed: () async { saveData(); - await saveFile(); + saveFile(); // ignore: use_build_context_synchronously Navigator.pushNamedAndRemoveUntil( // ignore: use_build_context_synchronously diff --git a/lib/addCam/cam_widgets.dart b/lib/addCam/cam_widgets.dart index 3a37bad..6a31136 100644 --- a/lib/addCam/cam_widgets.dart +++ b/lib/addCam/cam_widgets.dart @@ -2417,6 +2417,101 @@ class _FKontakt3State extends State { ); } +<<<<<<< HEAD +======= +// Standort + +class Standort extends StatefulWidget { + final TextEditingController standortC; + + const Standort({super.key, required this.standortC}); + + @override + State createState() => _StandortState(); +} + +class _StandortState extends State { + String? selectedRudel; + late Future>> Standort; + + @override + void initState() { + super.initState(); + Standort = DBHelper().getPlace(); + } + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded( + flex: 3, + child: TextField( + keyboardType: TextInputType.multiline, + maxLines: null, + decoration: InputDecoration( + hintText: AppLocalizations.of(context)!.altstort, + enabledBorder: widget.standortC.text.isEmpty + ? const UnderlineInputBorder( + borderSide: BorderSide(color: Colors.red)) + : const UnderlineInputBorder( + borderSide: BorderSide(color: Colors.green)), + focusedBorder: widget.standortC.text.isEmpty + ? const UnderlineInputBorder( + borderSide: BorderSide(color: Colors.red)) + : const UnderlineInputBorder( + borderSide: BorderSide(color: Colors.green)), + ), + controller: widget.standortC, + )), + Expanded( + flex: 1, + child: Align( + alignment: Alignment.bottomLeft, + child: FutureBuilder>>( + future: Standort, + builder: (BuildContext context, + AsyncSnapshot>> snapshot) { + if (snapshot.hasData) { + var filteredData = snapshot.data! + .where((item) => item['Standort'] != null) + .toList(); + return DropdownButton( + items: filteredData + .map((item) => + buildMenuItem(item['Standort'].toString())) + .toList(), + onChanged: (value) { + setState( + () { + selectedRudel = value; + widget.standortC.text = value ?? ''; + }, + ); + }, + value: null, + underline: const SizedBox(), + ); + } else if (snapshot.hasError) { + return Text('Fehler: ${snapshot.error}'); + } else { + return const CircularProgressIndicator(); + } + }, + ), + ), + ) + ], + ); + } + + DropdownMenuItem buildMenuItem(String item) => DropdownMenuItem( + value: item, + child: Text(item), + ); +} + +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f // KTage1 class KTage1 extends StatefulWidget { diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index b50ef71..e8d2840 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -85,6 +85,11 @@ "open": "öffnen", "date": "Datum", "location": "Standort", +<<<<<<< HEAD "sendfile": "Datei zum Server schicken", "pickfile": "Datei auswählen" +======= + "placedata": "Standortdaten", + "sent": "Gesendet" +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f } \ No newline at end of file diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 013b9f0..9829647 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -409,6 +409,7 @@ "description": "Location text" }, +<<<<<<< HEAD "sendfile": "Send file to server", "@sendfile": { "description": "Send file to server button" @@ -417,6 +418,16 @@ "pickfile": "Pick file", "@pickfile": { "description": "Pick file button" +======= + "placedata": "Placedata", + "@camdata": { + "description": "view data placedata header" + }, + + "sent": "Sent", + "@sent": { + "description": "view data sent header" +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f } } \ No newline at end of file diff --git a/lib/viewCam/view_cams.dart b/lib/viewCam/view_cams.dart index d82e605..f7c5402 100644 --- a/lib/viewCam/view_cams.dart +++ b/lib/viewCam/view_cams.dart @@ -126,6 +126,22 @@ class _ViewCamsState extends State { ), body: Column( children: [ + const SizedBox( + height: 10, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(AppLocalizations.of(context)!.placedata), + const SizedBox( + width: 250, + ), + Text(AppLocalizations.of(context)!.sent), + ], + ), + const SizedBox( + height: 15, + ), Expanded( child: ListView.builder( itemCount: snapshot.data!.length, @@ -149,93 +165,94 @@ class _ViewCamsState extends State { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12)), - - child: Container( - - decoration: - BoxDecoration( - borderRadius: BorderRadius.circular(12), - color: Theme.of(context).cardColor, - boxShadow: [ - BoxShadow( - color: Theme.of(context).primaryColor, - spreadRadius: 7, - blurRadius: 7, - offset: const Offset(0, 3)) - ]), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Text( - '${AppLocalizations.of(context)!.date}: ${place['Datum']}'), - Text( - '${AppLocalizations.of(context)!.rudel}: ${place['Rudel']}'), - Text( - '${AppLocalizations.of(context)!.fftyp}: ${place['Datum']}'), - Text( - '${AppLocalizations.of(context)!.bearsafe}: ${place['Bearsafe']}'), - Text( - '${AppLocalizations.of(context)!.status}: ${place['Status']}'), - Text( - '${AppLocalizations.of(context)!.sttyp}: ${place['STTyp']}'), - Text( - '${AppLocalizations.of(context)!.foto}/${AppLocalizations.of(context)!.film}: ${place['FotoFilm']}'), - Text( - '${AppLocalizations.of(context)!.kschlonr}: ${place['KSchloNr']}'), - Text( - '${AppLocalizations.of(context)!.ktage1}: ${place['KTage1']}'), - Text( - '${AppLocalizations.of(context)!.ktage2}: ${place['KTage2']}'), - Text( - '${AppLocalizations.of(context)!.pickkontdat}: ${place['KontDat']}'), - Text( - '${AppLocalizations.of(context)!.pickabbaudat}: ${place['AbbauDat']}'), - Text( - '${AppLocalizations.of(context)!.sommerzeit}: ${place['MEZ']}'), - Text( - '${AppLocalizations.of(context)!.betreuung}: ${place['Betreuung']}'), - Text( - '${AppLocalizations.of(context)!.location}: ${place['Standort']}'), - Text( - '${AppLocalizations.of(context)!.adresse3}: ${place['Adresse3']}'), - Text( - '${AppLocalizations.of(context)!.bland}: ${place['BLand']}'), - Text( - '${AppLocalizations.of(context)!.lkr}: ${place['Lkr']}'), - Text( - '${AppLocalizations.of(context)!.beiort}: ${place['BeiOrt']}'), - Text( - '${AppLocalizations.of(context)!.platzung}: ${place['Platzung']}'), - Text( - '${AppLocalizations.of(context)!.altstort}: ${place['AltStOrt']}'), - Text( - '${AppLocalizations.of(context)!.adresse1}: ${place['Adresse1']}'), - Text( - '${AppLocalizations.of(context)!.adresse2}: ${place['Adresse2']}'), - Text( - '${AppLocalizations.of(context)!.auftrag}: ${place['Auftrag']}'), - Text( - '${AppLocalizations.of(context)!.kontabsp}: ${place['KontAbsp']}'), - Text( - '${AppLocalizations.of(context)!.sonstbemerkungen}: ${place['SonstBem']}'), - Text( - '${AppLocalizations.of(context)!.fkontakt1}: ${place['FKontakt1']}'), - Text( - '${AppLocalizations.of(context)!.fkontakt2}: ${place['FKontakt2']}'), - Text( - '${AppLocalizations.of(context)!.fkontakt3}: ${place['FKontakt3']}'), - Text( - '${AppLocalizations.of(context)!.intkomm}: ${place['IntKomm']}'), - ], - ), + child: Container( + decoration: BoxDecoration( + borderRadius: + BorderRadius.circular(12), + color: + Theme.of(context).cardColor, + boxShadow: [ + BoxShadow( + color: Theme.of(context) + .primaryColor, + spreadRadius: 7, + blurRadius: 7, + offset: + const Offset(0, 3)) + ]), + child: Padding( + padding: + const EdgeInsets.all(8.0), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + '${AppLocalizations.of(context)!.date}: ${place['Datum']}'), + Text( + '${AppLocalizations.of(context)!.rudel}: ${place['Rudel']}'), + Text( + '${AppLocalizations.of(context)!.fftyp}: ${place['Datum']}'), + Text( + '${AppLocalizations.of(context)!.bearsafe}: ${place['Bearsafe']}'), + Text( + '${AppLocalizations.of(context)!.status}: ${place['Status']}'), + Text( + '${AppLocalizations.of(context)!.sttyp}: ${place['STTyp']}'), + Text( + '${AppLocalizations.of(context)!.foto}/${AppLocalizations.of(context)!.film}: ${place['FotoFilm']}'), + Text( + '${AppLocalizations.of(context)!.kschlonr}: ${place['KSchloNr']}'), + Text( + '${AppLocalizations.of(context)!.ktage1}: ${place['KTage1']}'), + Text( + '${AppLocalizations.of(context)!.ktage2}: ${place['KTage2']}'), + Text( + '${AppLocalizations.of(context)!.pickkontdat}: ${place['KontDat']}'), + Text( + '${AppLocalizations.of(context)!.pickabbaudat}: ${place['AbbauDat']}'), + Text( + '${AppLocalizations.of(context)!.sommerzeit}: ${place['MEZ']}'), + Text( + '${AppLocalizations.of(context)!.betreuung}: ${place['Betreuung']}'), + Text( + '${AppLocalizations.of(context)!.location}: ${place['Standort']}'), + Text( + '${AppLocalizations.of(context)!.adresse3}: ${place['Adresse3']}'), + Text( + '${AppLocalizations.of(context)!.bland}: ${place['BLand']}'), + Text( + '${AppLocalizations.of(context)!.lkr}: ${place['Lkr']}'), + Text( + '${AppLocalizations.of(context)!.beiort}: ${place['BeiOrt']}'), + Text( + '${AppLocalizations.of(context)!.platzung}: ${place['Platzung']}'), + Text( + '${AppLocalizations.of(context)!.altstort}: ${place['AltStOrt']}'), + Text( + '${AppLocalizations.of(context)!.adresse1}: ${place['Adresse1']}'), + Text( + '${AppLocalizations.of(context)!.adresse2}: ${place['Adresse2']}'), + Text( + '${AppLocalizations.of(context)!.auftrag}: ${place['Auftrag']}'), + Text( + '${AppLocalizations.of(context)!.kontabsp}: ${place['KontAbsp']}'), + Text( + '${AppLocalizations.of(context)!.sonstbemerkungen}: ${place['SonstBem']}'), + Text( + '${AppLocalizations.of(context)!.fkontakt1}: ${place['FKontakt1']}'), + Text( + '${AppLocalizations.of(context)!.fkontakt2}: ${place['FKontakt2']}'), + Text( + '${AppLocalizations.of(context)!.fkontakt3}: ${place['FKontakt3']}'), + Text( + '${AppLocalizations.of(context)!.intkomm}: ${place['IntKomm']}'), + ], ), ), ), - + ), ); }); }, diff --git a/time.txt b/time.txt index 6809640..97299a8 100644 --- a/time.txt +++ b/time.txt @@ -46,5 +46,9 @@ 21 mär 4h 15 min 23 mär 2h 15 min 24 mär 1h +<<<<<<< HEAD 26 mär 45 min -20 mär 1h 30 min \ No newline at end of file +20 mär 1h 30 min +======= +17 apr 45 min +>>>>>>> d6ae86598dd9d031af9fe29680dc050c5bb2946f