let AI comment everything because well... yeah...

This commit is contained in:
Nico
2025-06-06 21:00:32 +02:00
parent 9c84d0c375
commit cc110ac104
44 changed files with 1230 additions and 646 deletions

View File

@@ -1,15 +1,26 @@
// * Shared method for sending files to the server
// * Allows users to:
// * - Select a file using the system file picker
// * - Send the file contents to the server
// * Legacy widget implementation is kept for reference
import 'package:fforte/screens/sharedMethods/http_request.dart';
import 'package:file_picker/file_picker.dart';
import 'dart:io';
/// Helper class for sending files to the server
class SendFile {
/// Let user pick a file and send its contents to the server
/// Uses the system file picker for file selection
/// Sends file content using the HttpRequestService
static Future<void> sendFile() async {
File? pickedFile;
// Open file picker dialog
FilePickerResult? result = await FilePicker.platform.pickFiles();
if (result != null) {
// Read and send file contents
pickedFile = File(result.files.single.path!);
String fileContent = await pickedFile.readAsString();
await HttpRequestService.httpRequest(saveDataString: fileContent);
@@ -17,64 +28,67 @@ class SendFile {
}
}
// 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))
// ],
// ),
// );
// }
// }
// * Legacy widget implementation kept for reference
// * This was a stateful widget version of the file sender
// * with additional UI elements and error handling
/*
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) {
return;
}
}
if (response.statusCode == 201) {
// Success handling was here
} else {
// Error handling was here
}
},
child: Text(AppLocalizations.of(context)!.sendtoserver))
],
),
);
}
}
*/