fixed saveFile

time

time

this time for real
This commit is contained in:
Nico
2025-05-20 21:40:28 +02:00
parent 53b69327ac
commit dfbfc8153f
12 changed files with 99 additions and 69 deletions

View File

@@ -4,6 +4,7 @@ import 'package:fforte/screens/sharedMethods/http_request.dart';
import 'package:fforte/screens/sharedMethods/save_file.dart';
import 'package:fforte/screens/sharedMethods/save_template.dart';
import 'package:fforte/screens/sharedMethods/save_main_entry.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:fforte/l10n/app_localizations.dart';
import 'package:geolocator/geolocator.dart';
@@ -13,6 +14,7 @@ class AddEntriesDialogHelper {
static Future<void> showTemplateDialog(
BuildContext context,
Map<String, String> saveData,
DatabasesEnum dbType,
) async {
return showDialog(
context: context,
@@ -29,7 +31,7 @@ class AddEntriesDialogHelper {
),
TextButton(
onPressed: () {
saveTemplate(saveData, DatabasesEnum.place);
saveTemplate(saveData, dbType);
Navigator.pushNamedAndRemoveUntil(
context,
'/home',
@@ -114,8 +116,7 @@ class AddEntriesDialogHelper {
return showDialog(
context: context,
barrierDismissible:
false, // Verhindert das Schließen des Dialogs durch den Benutzer
barrierDismissible: false,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (context, setState) {
@@ -136,7 +137,7 @@ class AddEntriesDialogHelper {
TextButton(
onPressed: () async {
setState(() => isLoading = true);
saveTemplate(saveData, DatabasesEnum.place);
saveTemplate(saveData, dbType);
Navigator.pushNamedAndRemoveUntil(
context,
'/home',
@@ -191,17 +192,29 @@ class AddEntriesDialogHelper {
isTemplate: isTemplate,
dbType: dbType,
);
SaveFileMethod.saveFile(
saveData,
AppLocalizations.of(context)!.savefilefailed,
saveData["CID"]!,
);
try {
if (context.mounted) {
await SaveFileMethod.saveFile(
saveData,
dbType == DatabasesEnum.place
? AppLocalizations.of(context)!.justplace
: AppLocalizations.of(context)!.excursion,
dbType,
);
if (context.mounted) Navigator.of(context).pop();
}
} catch (_) {
// User cancelled the dialog
}
setState(() => isLoading = false);
} catch (e) {
SnackBarHelper.showSnackBarMessage(
context,
AppLocalizations.of(context)!.savefilefailed,
);
if (context.mounted) {
Navigator.pop(context);
SnackBarHelper.showSnackBarMessage(
context,
AppLocalizations.of(context)!.savefilefailed,
);
}
}
},
child: Text(AppLocalizations.of(context)!.saveasfile),
@@ -209,16 +222,20 @@ class AddEntriesDialogHelper {
if (!isLoading)
TextButton(
onPressed: () {
SaveMainEntryMethod.saveEntry(
entryData: saveData,
isTemplate: isTemplate,
dbType: dbType,
);
Navigator.pushNamedAndRemoveUntil(
context,
'/home',
(route) => false,
);
try {
SaveMainEntryMethod.saveEntry(
entryData: saveData,
isTemplate: isTemplate,
dbType: dbType,
);
Navigator.pushNamedAndRemoveUntil(
context,
'/home',
(route) => false,
);
} catch (e) {
debugPrint(e.toString());
}
},
child: Text(AppLocalizations.of(context)!.justsave),
),
@@ -276,7 +293,9 @@ class AddEntriesDialogHelper {
child: Text("Ok"),
),
TextButton(
onPressed: () {},
onPressed: () {
Navigator.of(context).pop();
},
child: Text(AppLocalizations.of(context)!.cancel),
),
],
@@ -310,9 +329,7 @@ class AddEntriesDialogHelper {
child: Text("Ok"),
),
TextButton(
onPressed: () => {
Navigator.of(context).pop()
},
onPressed: () => {Navigator.of(context).pop()},
child: Text(AppLocalizations.of(context)!.cancel),
),
],