besprechung
This commit is contained in:
@@ -13,6 +13,7 @@ import 'package:fforte/l10n/app_localizations.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:animations/animations.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import 'widgets/abbau_dat.dart';
|
||||
import 'widgets/karte.dart';
|
||||
@@ -164,11 +165,15 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
}
|
||||
} else {
|
||||
// If it is not a template set default values
|
||||
rmap["Datum"]!["controller"]!.text = DateTime.now().toString();
|
||||
rmap["Datum"]!["controller"]!.text = DateTime.now().toString().split(" ").first;
|
||||
rmap["Status"]!["controller"]!.text = "aktiv";
|
||||
rmap["FotoFilm"]!["controller"]!.text = "Foto";
|
||||
rmap["MEZ"]!["controller"]!.text = "Sommerzeit";
|
||||
rmap["Platzung"]!["controller"]!.text = "";
|
||||
SharedPreferences.getInstance().then((SharedPreferences prefs) {
|
||||
rmap["KTage1"]!["controller"]!.text = prefs.getString("kTage1");
|
||||
rmap["KTage2"]!["controller"]!.text = prefs.getString("kTage2");
|
||||
});
|
||||
}
|
||||
|
||||
// Set initial default position
|
||||
@@ -201,7 +206,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
);
|
||||
}
|
||||
}
|
||||
return currentPosition;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -353,7 +357,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
}
|
||||
}
|
||||
|
||||
if (!mounted) return;
|
||||
if (!context.mounted) return;
|
||||
|
||||
final result = await Navigator.of(context).push<LatLng>(
|
||||
MaterialPageRoute(
|
||||
@@ -480,7 +484,7 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
initDatum: DateTime.parse(rmap["Datum"]!["controller"]!.text),
|
||||
onDateChanged: (value) {
|
||||
setState(() {
|
||||
rmap["Datum"]!["controller"]!.text = value.toString();
|
||||
rmap["Datum"]!["controller"]!.text = value.toString().split(" ").first;
|
||||
});
|
||||
},
|
||||
name: AppLocalizations.of(context)!.pickDate,
|
||||
@@ -705,8 +709,8 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
}
|
||||
|
||||
bool empty = CheckRequired.checkRequired(rmap);
|
||||
// TODO for debugging always false
|
||||
empty = false;
|
||||
// for debugging always false
|
||||
// empty = false;
|
||||
|
||||
if (empty == true) {
|
||||
AddEntriesDialogHelper.showTemplateDialog(
|
||||
|
||||
@@ -167,7 +167,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
rmap["BLand"]!["controller"]!.text = prefs.getString('bLand') ?? "";
|
||||
});
|
||||
|
||||
rmap["Datum"]!["controller"]!.text = DateTime.now().toString();
|
||||
rmap["Datum"]!["controller"]!.text = DateTime.now().toString().split(" ").first;
|
||||
rmap["Sent"]!["controller"]!.text = "0";
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
Datum(
|
||||
initDatum: DateTime.now(),
|
||||
onDateChanged: (date) {
|
||||
rmap["Datum"]!["controller"]!.text = date.toString();
|
||||
rmap["Datum"]!["controller"]!.text = date.toString().split(" ").first;
|
||||
},
|
||||
name: AppLocalizations.of(context)!.date,
|
||||
),
|
||||
@@ -357,7 +357,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
// Check for always permission before starting tracking
|
||||
LocationPermission permission = await Geolocator.checkPermission();
|
||||
if (permission != LocationPermission.always) {
|
||||
if (mounted) {
|
||||
if (context.mounted) {
|
||||
bool? shouldContinue = await showDialog<bool>(
|
||||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
@@ -371,7 +371,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
await Geolocator.openAppSettings();
|
||||
Navigator.of(context).pop(true);
|
||||
if (context.mounted) Navigator.of(context).pop(true);
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.openSettings),
|
||||
),
|
||||
@@ -387,7 +387,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
// Try checking the permission multiple times
|
||||
for (int i = 0; i < 5; i++) {
|
||||
await Future.delayed(const Duration(seconds: 1));
|
||||
if (!mounted) return;
|
||||
if (!context.mounted) return;
|
||||
|
||||
permission = await Geolocator.checkPermission();
|
||||
if (permission == LocationPermission.always) {
|
||||
@@ -396,7 +396,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
|
||||
// If this is the last attempt and we still don't have permission
|
||||
if (i == 4 && permission != LocationPermission.always) {
|
||||
if (mounted) {
|
||||
if (context.mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.permissionNotGranted),
|
||||
@@ -410,7 +410,8 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
}
|
||||
}
|
||||
|
||||
await Navigator.push(context, MaterialPageRoute(
|
||||
if (context.mounted) {
|
||||
await Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Tracking(
|
||||
weg: rmap["Weg"]!["controller"]!,
|
||||
@@ -418,6 +419,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
|
||||
);
|
||||
},
|
||||
));
|
||||
}
|
||||
setState(() {});
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.trackingAnAusschalten),
|
||||
|
||||
@@ -26,15 +26,15 @@ class _HinweiseState extends State<Hinweise> {
|
||||
void initState() {
|
||||
sonstigesController.addListener(updateController);
|
||||
|
||||
liegestelleChecked = widget.hinweise.text.contains("liegestelle") ? true : false;
|
||||
kadaverChecked = widget.hinweise.text.contains("kadaver") ? true : false;
|
||||
sichtungChecked = widget.hinweise.text.contains("sichtung") ? true : false;
|
||||
heulenChecked = widget.hinweise.text.contains("heulen") ? true : false;
|
||||
liegestelleChecked = widget.hinweise.text.contains("Liegestelle") ? true : false;
|
||||
kadaverChecked = widget.hinweise.text.contains("Wildtierkadaver") ? true : false;
|
||||
sichtungChecked = widget.hinweise.text.contains("Sichtung") ? true : false;
|
||||
heulenChecked = widget.hinweise.text.contains("Heulen") ? true : false;
|
||||
|
||||
bool firstRun = true;
|
||||
|
||||
for (String val in widget.hinweise.text.split(",")) {
|
||||
if (val != "liegestelle" && val != "kadaver" && val != "sichtung" && val != "heulen" && val != "") {
|
||||
if (val != "Liegestelle" && val != "Wildtierkadaver" && val != "Sichtung" && val != "Heulen" && val != "") {
|
||||
sonstigesChecked = true;
|
||||
if (!firstRun) sonstigesController.text += ",";
|
||||
sonstigesController.text += val;
|
||||
@@ -53,10 +53,10 @@ class _HinweiseState extends State<Hinweise> {
|
||||
|
||||
void updateController() {
|
||||
Map<String, bool> props = {
|
||||
"liegestelle": liegestelleChecked,
|
||||
"kadaver": kadaverChecked,
|
||||
"sichtung": sichtungChecked,
|
||||
"heulen": heulenChecked,
|
||||
"Liegestelle": liegestelleChecked,
|
||||
"Wildtierkadaver": kadaverChecked,
|
||||
"Sichtung": sichtungChecked,
|
||||
"Heulen": heulenChecked,
|
||||
"sonstiges": sonstigesChecked
|
||||
};
|
||||
bool firstRun = true;
|
||||
|
||||
@@ -215,7 +215,7 @@ class _TrackingState extends State<Tracking> {
|
||||
currentPosition!.longitude,
|
||||
),
|
||||
radius: currentPosition!.accuracy,
|
||||
color: Colors.blue.withOpacity(0.2),
|
||||
color: Colors.blue.withAlpha(2),
|
||||
borderColor: Colors.blue,
|
||||
borderStrokeWidth: 2,
|
||||
),
|
||||
|
||||
@@ -72,12 +72,12 @@ class AddEntriesDialogHelper {
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
setState(() => isLoading = true);
|
||||
int errorCode = await HttpRequest.httpRequest(
|
||||
int errorCode = await HttpRequestService.httpRequest(
|
||||
saveDataMap: saveData,
|
||||
);
|
||||
setState(() => isLoading = false);
|
||||
|
||||
if (errorCode == 201 && context.mounted) {
|
||||
if (errorCode == 200 && context.mounted) {
|
||||
Navigator.pop(context);
|
||||
// saveData(true);
|
||||
SaveMainEntryMethod.saveEntry(
|
||||
@@ -160,12 +160,12 @@ class AddEntriesDialogHelper {
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
setState(() => isLoading = true);
|
||||
int errorCode = await HttpRequest.httpRequest(
|
||||
int errorCode = await HttpRequestService.httpRequest(
|
||||
saveDataMap: saveData,
|
||||
);
|
||||
setState(() => isLoading = false);
|
||||
|
||||
if (errorCode != 201 || !context.mounted) {
|
||||
if (errorCode != 200 || !context.mounted) {
|
||||
SaveMainEntryMethod.saveEntry(
|
||||
entryData: saveData,
|
||||
isTemplate: isTemplate,
|
||||
|
||||
@@ -15,8 +15,8 @@ class _IntroScreenState extends State<IntroScreen> {
|
||||
TextEditingController ffApiAddress = TextEditingController();
|
||||
TextEditingController exApiAddress = TextEditingController();
|
||||
|
||||
String selectedFFApiAddress = "Test";
|
||||
String selectedEXApiAddress = "Test";
|
||||
String selectedFFApiAddress = "https://data.dbb-wolf.de/app24.php";
|
||||
String selectedEXApiAddress = "https://data.dbb-wolf.de/api_exkursion.php";
|
||||
String? selectedBLand = "Sachsen";
|
||||
|
||||
Future<void> _saveData() async {
|
||||
@@ -38,8 +38,8 @@ class _IntroScreenState extends State<IntroScreen> {
|
||||
Future.delayed(Duration.zero, () async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
setState(() {
|
||||
ffApiAddress.text = prefs.getString('fotofallenApiAddress') ?? "";
|
||||
exApiAddress.text = prefs.getString('exkursionenApiAddress') ?? "";
|
||||
ffApiAddress.text = prefs.getString('fotofallenApiAddress') ?? "https://data.dbb-wolf.de/app24.php";
|
||||
exApiAddress.text = prefs.getString('exkursionenApiAddress') ?? "https://data.dbb-wolf.de/api_exkursion.php";
|
||||
addresse1C.text = prefs.getString('addresse1') ?? "";
|
||||
bLandC.text = prefs.getString('bLand') ?? "Sachsen";
|
||||
});
|
||||
@@ -75,7 +75,7 @@ class _IntroScreenState extends State<IntroScreen> {
|
||||
Expanded(
|
||||
flex: 4,
|
||||
child: TextField(
|
||||
readOnly: true,
|
||||
readOnly: true,
|
||||
controller: bLandC,
|
||||
),
|
||||
),
|
||||
@@ -161,86 +161,97 @@ class _IntroScreenState extends State<IntroScreen> {
|
||||
],
|
||||
),
|
||||
const SizedBox(
|
||||
height: 25,
|
||||
height: 35,
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Text(AppLocalizations.of(context)!.ffApiAddress)),
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Text(AppLocalizations.of(context)!.ffApiAddress)),
|
||||
Row(
|
||||
children: [
|
||||
// Expanded(
|
||||
// flex: 4,
|
||||
// child: TextField(
|
||||
// decoration: InputDecoration(
|
||||
// hintText:
|
||||
// AppLocalizations.of(context)!.ffApiAddress),
|
||||
// controller: ffApiAddress,
|
||||
// ),
|
||||
// ),
|
||||
Expanded(
|
||||
flex: 4,
|
||||
flex: 1,
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText:
|
||||
AppLocalizations.of(context)!.ffApiAddress),
|
||||
controller: ffApiAddress,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: PopupMenuButton(
|
||||
icon: const Icon(Icons.arrow_drop_down),
|
||||
initialValue: selectedFFApiAddress,
|
||||
onSelected: (value) {
|
||||
setState(() {
|
||||
selectedFFApiAddress = value;
|
||||
ffApiAddress.text = value;
|
||||
});
|
||||
},
|
||||
itemBuilder: (context) => <PopupMenuEntry>[
|
||||
PopupMenuItem(
|
||||
value:
|
||||
"http://192.168.1.106/www.dbb-wolf.de/data/app24.php",
|
||||
child:
|
||||
Text(AppLocalizations.of(context)!.test)),
|
||||
PopupMenuItem(
|
||||
value: "...",
|
||||
child: Text(
|
||||
AppLocalizations.of(context)!.notest))
|
||||
],
|
||||
))
|
||||
// child: PopupMenuButton(
|
||||
// icon: const Icon(Icons.arrow_drop_down),
|
||||
// initialValue: selectedFFApiAddress,
|
||||
// onSelected: (value) {
|
||||
// setState(() {
|
||||
// selectedFFApiAddress = value;
|
||||
// ffApiAddress.text = value;
|
||||
// });
|
||||
// },
|
||||
// itemBuilder: (context) => <PopupMenuEntry>[
|
||||
// // PopupMenuItem(
|
||||
// // value:
|
||||
// // "http://192.168.1.106/www.dbb-wolf.de/data/app24.php",
|
||||
// // child:
|
||||
// // Text(AppLocalizations.of(context)!.test)),
|
||||
// PopupMenuItem(
|
||||
// value: "https://data.dbb-wolf.de/app24.php",
|
||||
// child: Text(
|
||||
// AppLocalizations.of(context)!.notest))
|
||||
// ],
|
||||
// ),
|
||||
//)
|
||||
)
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10,),
|
||||
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Align(
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Text(AppLocalizations.of(context)!.exApiAddress)),
|
||||
alignment: Alignment.bottomLeft,
|
||||
child: Text(AppLocalizations.of(context)!.exApiAddress)),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
flex: 4,
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
hintText:
|
||||
AppLocalizations.of(context)!.exApiAddress),
|
||||
controller: exApiAddress,
|
||||
),
|
||||
),
|
||||
// Expanded(
|
||||
// flex: 4,
|
||||
// child: TextField(
|
||||
// decoration: InputDecoration(
|
||||
// hintText:
|
||||
// AppLocalizations.of(context)!.exApiAddress),
|
||||
// controller: exApiAddress,
|
||||
// ),
|
||||
// ),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: PopupMenuButton(
|
||||
icon: const Icon(Icons.arrow_drop_down),
|
||||
initialValue: selectedEXApiAddress,
|
||||
onSelected: (value) {
|
||||
setState(() {
|
||||
selectedEXApiAddress = value;
|
||||
exApiAddress.text = value;
|
||||
});
|
||||
},
|
||||
itemBuilder: (context) => <PopupMenuEntry>[
|
||||
PopupMenuItem(
|
||||
value:
|
||||
"http://192.168.1.106/www.dbb-wolf.de/data/app24.php",
|
||||
child:
|
||||
Text(AppLocalizations.of(context)!.test)),
|
||||
PopupMenuItem(
|
||||
value: "...",
|
||||
child: Text(
|
||||
AppLocalizations.of(context)!.notest))
|
||||
],
|
||||
))
|
||||
child: TextField(
|
||||
controller: exApiAddress,
|
||||
),
|
||||
// child: PopupMenuButton(
|
||||
// icon: const Icon(Icons.arrow_drop_down),
|
||||
// initialValue: selectedEXApiAddress,
|
||||
// onSelected: (value) {
|
||||
// setState(() {
|
||||
// selectedEXApiAddress = value;
|
||||
// exApiAddress.text = value;
|
||||
// });
|
||||
// },
|
||||
// itemBuilder: (context) => <PopupMenuEntry>[
|
||||
// // PopupMenuItem(
|
||||
// // value:
|
||||
// // "http://192.168.1.106/www.dbb-wolf.de/data/app24.php",
|
||||
// // child:
|
||||
// // Text(AppLocalizations.of(context)!.test)),
|
||||
// PopupMenuItem(
|
||||
// value:
|
||||
// "https://data.dbb-wolf.de/api_exkursion.php",
|
||||
// child: Text(
|
||||
// AppLocalizations.of(context)!.notest))
|
||||
// ],
|
||||
// )
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class HttpRequest {
|
||||
class HttpRequestService {
|
||||
static Future<int> httpRequest({Map<String, String>? saveDataMap, String? saveDataString}) async {
|
||||
// print(jsonEncode(place));
|
||||
|
||||
@@ -25,7 +25,6 @@ class HttpRequest {
|
||||
response = await dio.post(prefs.getString('exkursionenApiAddress') ?? "",
|
||||
data: saveDataMap == null ? saveDataString : jsonEncode(saveDataMap));
|
||||
}
|
||||
|
||||
return response.statusCode!;
|
||||
} on DioException {
|
||||
return response.statusCode ?? 400;
|
||||
|
||||
@@ -1,69 +1,80 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:fforte/l10n/app_localizations.dart';
|
||||
import 'package:fforte/screens/sharedMethods/http_request.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class SendFile extends StatefulWidget {
|
||||
const SendFile({super.key});
|
||||
class SendFile {
|
||||
static Future<void> sendFile() async {
|
||||
File? pickedFile;
|
||||
|
||||
@override
|
||||
State<SendFile> createState() => _SendFileState();
|
||||
}
|
||||
FilePickerResult? result = await FilePicker.platform.pickFiles();
|
||||
|
||||
class _SendFileState extends State<SendFile> {
|
||||
File? pickedFile;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(),
|
||||
body: Column(
|
||||
children: [
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
// FilePickerResult? result =
|
||||
// await FilePicker.platform.pickFiles();
|
||||
|
||||
// if (result != null) {
|
||||
// pickedFile = File(result.files.single.path!);
|
||||
// } else {
|
||||
// pickedFile = File("");
|
||||
// }
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.pickfile)),
|
||||
Text(pickedFile.toString()),
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
final dio = Dio();
|
||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
String? fileContent = await pickedFile?.readAsString();
|
||||
|
||||
dio.options.responseType = ResponseType.plain;
|
||||
Response response = Response(
|
||||
requestOptions: RequestOptions(path: ''), statusCode: 400);
|
||||
|
||||
try {
|
||||
response = await dio.post(prefs.getString('apiAddress') ?? "",
|
||||
data: jsonEncode(fileContent));
|
||||
} on DioException catch (e) {
|
||||
if (e.response?.statusCode == 500) {
|
||||
/* print('-------------------------');
|
||||
print('code 500'); */
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (response.statusCode == 201) {
|
||||
// print(response.statusCode);
|
||||
} else {
|
||||
//print(response.statusCode);
|
||||
}
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.sendtoserver))
|
||||
],
|
||||
),
|
||||
);
|
||||
if (result != null) {
|
||||
pickedFile = File(result.files.single.path!);
|
||||
String fileContent = await pickedFile.readAsString();
|
||||
await HttpRequestService.httpRequest(saveDataString: fileContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// class SendFile extends StatefulWidget {
|
||||
// const SendFile({super.key});
|
||||
//
|
||||
// @override
|
||||
// State<SendFile> createState() => _SendFileState();
|
||||
// }
|
||||
//
|
||||
// class _SendFileState extends State<SendFile> {
|
||||
// File? pickedFile;
|
||||
//
|
||||
// @override
|
||||
// Widget build(BuildContext context) {
|
||||
// return Scaffold(
|
||||
// appBar: AppBar(),
|
||||
// body: Column(
|
||||
// children: [
|
||||
// ElevatedButton(
|
||||
// onPressed: () async {
|
||||
// FilePickerResult? result =
|
||||
// await FilePicker.platform.pickFiles();
|
||||
//
|
||||
// if (result != null) {
|
||||
// pickedFile = File(result.files.single.path!);
|
||||
// } else {
|
||||
// pickedFile = File("");
|
||||
// }
|
||||
// },
|
||||
// child: Text(AppLocalizations.of(context)!.pickfile)),
|
||||
// Text(pickedFile.toString()),
|
||||
// ElevatedButton(
|
||||
// onPressed: () async {
|
||||
// final dio = Dio();
|
||||
// final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
// String? fileContent = await pickedFile?.readAsString();
|
||||
//
|
||||
// dio.options.responseType = ResponseType.plain;
|
||||
// Response response = Response(
|
||||
// requestOptions: RequestOptions(path: ''), statusCode: 400);
|
||||
//
|
||||
// try {
|
||||
// response = await dio.post(prefs.getString('apiAddress') ?? "",
|
||||
// data: jsonEncode(fileContent));
|
||||
// } on DioException catch (e) {
|
||||
// if (e.response?.statusCode == 500) {
|
||||
// /* print('-------------------------');
|
||||
// print('code 500'); */
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// if (response.statusCode == 201) {
|
||||
// // print(response.statusCode);
|
||||
// } else {
|
||||
// //print(response.statusCode);
|
||||
// }
|
||||
// },
|
||||
// child: Text(AppLocalizations.of(context)!.sendtoserver))
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -185,7 +185,7 @@ class _ViewEntriesState extends State<ViewEntries> {
|
||||
mainEntries[index]["Datum"])),
|
||||
),
|
||||
trailing: Checkbox(
|
||||
value: mainEntries[index]['Sent'] == 0
|
||||
value: mainEntries[index]['Sent'] == "0" || mainEntries[index]["Sent"] == ""
|
||||
? false
|
||||
: true,
|
||||
onChanged: null,
|
||||
|
||||
Reference in New Issue
Block a user