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