state bug fixed :))))
This commit is contained in:
parent
45c605f464
commit
ae5fc1304a
@ -181,27 +181,27 @@ class _EmailPageState extends State<EmailPage> {
|
||||
return content;
|
||||
}
|
||||
|
||||
Future<String> _getThreadMessagesJson(String threadId) async {
|
||||
String jsonResponse = "";
|
||||
// Future<String> _getThreadMessagesJson(String threadId) async {
|
||||
// String jsonResponse = "";
|
||||
|
||||
try {
|
||||
var url =
|
||||
Uri.http('127.0.0.1:3001', 'get_thread_messages', {'id': threadId});
|
||||
// print(url);
|
||||
var response = await http.get(url);
|
||||
// print(response.statusCode);
|
||||
// print(response.body);
|
||||
if (response.statusCode == 200) {
|
||||
jsonResponse = response.body; // Here you get the JSON response
|
||||
} else {
|
||||
throw Exception('Failed to load thread messages');
|
||||
}
|
||||
} catch (e) {
|
||||
print('_getThreadMessagesJson caught error: $e');
|
||||
}
|
||||
// try {
|
||||
// var url =
|
||||
// Uri.http('127.0.0.1:3001', 'get_thread_messages', {'id': threadId});
|
||||
// // print(url);
|
||||
// var response = await http.get(url);
|
||||
// // print(response.statusCode);
|
||||
// // print(response.body);
|
||||
// if (response.statusCode == 200) {
|
||||
// jsonResponse = response.body; // Here you get the JSON response
|
||||
// } else {
|
||||
// throw Exception('Failed to load thread messages');
|
||||
// }
|
||||
// } catch (e) {
|
||||
// print('_getThreadMessagesJson caught error: $e');
|
||||
// }
|
||||
|
||||
return jsonResponse; // Returns the JSON string
|
||||
}
|
||||
// return jsonResponse; // Returns the JSON string
|
||||
// }
|
||||
|
||||
Future<List<Widget>> _getDrawerItems() async {
|
||||
List<String> drawerItems = [];
|
||||
@ -263,9 +263,10 @@ class _EmailPageState extends State<EmailPage> {
|
||||
),
|
||||
),
|
||||
body: EmailListScreen(
|
||||
emails: emails,
|
||||
getEmailContent: _getEmailContent,
|
||||
getJsonEmail: _getThreadMessagesJson),
|
||||
emails: emails,
|
||||
getEmailContent: _getEmailContent,
|
||||
// getJsonEmail: _getThreadMessagesJson
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -273,12 +274,13 @@ class _EmailPageState extends State<EmailPage> {
|
||||
class EmailListScreen extends StatelessWidget {
|
||||
final List emails;
|
||||
final Future<String> Function(String) getEmailContent;
|
||||
final Future<String> Function(String) getJsonEmail;
|
||||
// final Future<String> Function(String) getJsonEmail;
|
||||
|
||||
EmailListScreen(
|
||||
{required this.emails,
|
||||
required this.getEmailContent,
|
||||
required this.getJsonEmail});
|
||||
EmailListScreen({
|
||||
required this.emails,
|
||||
required this.getEmailContent,
|
||||
// required this.getJsonEmail
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -302,27 +304,31 @@ class EmailListScreen extends StatelessWidget {
|
||||
trailing: Text(emails[index].date.toString()),
|
||||
onTap: () async {
|
||||
String emailContent = await getEmailContent(emails[index].id);
|
||||
String jsonContent =
|
||||
await getJsonEmail(emails[index].uid.toString());
|
||||
// String jsonContent =
|
||||
// await getJsonEmail(emails[index].uid.toString());
|
||||
// print(emails[index]);
|
||||
String from = emails[index].from;
|
||||
String name = emails[index].name;
|
||||
String to = emails[index].to;
|
||||
String cc = emails[index].cc;
|
||||
String hash = emails[index].hash;
|
||||
String subject = emails[index].subject;
|
||||
String date = emails[index].date;
|
||||
String uid = emails[index].uid;
|
||||
String list = emails[index].list;
|
||||
String id = emails[index].id;
|
||||
String in_reply_to = emails[index].in_reply_to;
|
||||
// String jsonbuilt =
|
||||
String from = emails[index].from.toString();
|
||||
String name = emails[index].name.toString();
|
||||
String to = emails[index].to.toString();
|
||||
String cc = emails[index].cc.toString();
|
||||
String hash = emails[index].hash.toString();
|
||||
String subject = emails[index].subject.toString();
|
||||
String date = emails[index].date.toString();
|
||||
String uid = emails[index].uid.toString();
|
||||
String list = emails[index].list.toString();
|
||||
String id = emails[index].id.toString();
|
||||
String in_reply_to = emails[index].in_reply_to.toString();
|
||||
// String jsonbuilt =
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => EmailView(
|
||||
emailContent: emailContent,
|
||||
jsonEmail: jsonContent,
|
||||
// jsonEmail: jsonContent,
|
||||
from: from, name: name, to: to, cc: cc, hash: hash,
|
||||
subject: subject, date: date,
|
||||
uid: uid, list: list, id: id,
|
||||
in_reply_to: in_reply_to,
|
||||
)),
|
||||
);
|
||||
});
|
||||
@ -337,23 +343,49 @@ class EmailListScreen extends StatelessWidget {
|
||||
|
||||
class EmailView extends StatefulWidget {
|
||||
final String emailContent;
|
||||
final String jsonEmail;
|
||||
|
||||
|
||||
// final String jsonEmail;
|
||||
final String from;
|
||||
final String name;
|
||||
final String to;
|
||||
final String cc;
|
||||
final String hash;
|
||||
final String subject;
|
||||
final String date;
|
||||
final String uid;
|
||||
final String list;
|
||||
final String id;
|
||||
final String in_reply_to;
|
||||
|
||||
const EmailView(
|
||||
{Key? key, required this.emailContent, required this.jsonEmail})
|
||||
{Key? key,
|
||||
required this.emailContent,
|
||||
// required this.jsonEmail,
|
||||
required this.from,
|
||||
required this.name,
|
||||
required this.to,
|
||||
required this.cc,
|
||||
required this.hash,
|
||||
required this.subject,
|
||||
required this.date,
|
||||
required this.uid,
|
||||
required this.list,
|
||||
required this.id,
|
||||
required this.in_reply_to})
|
||||
: super(key: key);
|
||||
@override
|
||||
_EmailViewState createState() => _EmailViewState();
|
||||
}
|
||||
|
||||
class _EmailViewState extends State<EmailView> {
|
||||
late Key iframeKey;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
iframeKey = Key("iframe-${widget.id}");
|
||||
ui.platformViewRegistry.registerViewFactory(
|
||||
'html-view33',
|
||||
// 'html-view33'
|
||||
iframeKey.toString(),
|
||||
(int viewId) => html.IFrameElement()
|
||||
..width = '100%'
|
||||
..height = '100%'
|
||||
@ -368,10 +400,10 @@ class _EmailViewState extends State<EmailView> {
|
||||
appBar: AppBar(
|
||||
title: Text(widget.name),
|
||||
),
|
||||
body: Container(
|
||||
child: HtmlElementView(
|
||||
viewType: 'html-view33',
|
||||
),
|
||||
body: HtmlElementView(
|
||||
key: iframeKey,
|
||||
viewType: iframeKey.toString(),
|
||||
// 'html-view33',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user