//api file // import 'package:http/http.dart' as http; // import 'dart:convert'; // class SerializableMessage { // final String name; // final String from; // final String path; // final String subject; // final String date; // SerializableMessage({ // required this.name, // required this.from, // required this.path, // required this.subject, // required this.date, // }); // factory SerializableMessage.fromJson(Map json) { // return SerializableMessage( // name: json['name'], // from: json['from'], // path: json['path'], // subject: json['subject'], // date: json['date'], // ); // } // } // class ApiService { // static const String baseUrl = '127.0.0.1:3001'; // Future>> fetchEmailsByFolder(String folder) async { // Map> messagesMap = {}; // try { // var url = Uri.http(baseUrl, '/sorted_threads_by_date', {'folder': folder}); // var response = await http.get(url); // if (response.statusCode == 200) { // Map json = jsonDecode(response.body); // json.forEach((key, value) { // List messages = (value as List) // .map((item) => SerializableMessage.fromJson(item)) // .toList(); // messagesMap[key] = messages; // }); // } // } catch (e) { // print('fetchEmailsByFolder caught error: $e'); // } // return messagesMap; // } // Future> fetchFolders() async { // List folders = []; // try { // var url = Uri.http(baseUrl, '/folders'); // var response = await http.get(url); // if (response.statusCode == 200) { // folders = List.from(json.decode(response.body)); // } // } catch (e) { // print('fetchFolders caught error: $e'); // } // return folders; // } // Future fetchEmailContent(String path) async { // try { // var url = Uri.http(baseUrl, path); // var response = await http.get(url); // if (response.statusCode == 200) { // return response.body; // } else { // print('Failed to load email content'); // } // } catch (e) { // print('fetchEmailContent caught error: $e'); // } // return ''; // } // }