Skip to content

Commit

Permalink
feat: mobile edit chat session in chat message page
Browse files Browse the repository at this point in the history
  • Loading branch information
zmhu committed Dec 21, 2023
1 parent 9478f2a commit 141e19e
Showing 1 changed file with 76 additions and 22 deletions.
98 changes: 76 additions & 22 deletions lib/pages/chat_message_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,38 @@ class ChatMessagePage extends StatelessWidget {
tracker.trackEvent("chat", {"uuid": settingsController.settings.uuid});
}

handelMenuClick(int item, BuildContext context) {
logger.d("handelMenuClick: $item");
if (item == 0) {
Get.toNamed('/editchat', parameters: {
'opt': 'edit',
'sid': chatSessionController.currentSession.sid
})!
.then((value) {
logger.d("edit return");
chatSessionController.update();
});
} else if (item == 1) {
Get.defaultDialog(
title: "Clean Session".tr,
onCancel: () {
Get.back();
},
onConfirm: () {
// onDelete(message);
chatMessageController
.cleanSessionMessages(chatSessionController.currentSession.sid);
chatMessageController.update();
Get.back();
},
textCancel: "Cancel".tr,
textConfirm: "Confirm".tr,
middleText: "Confirm clean session?".tr,
radius: 5,
);
}
}

@override
Widget build(BuildContext context) {
// print("messages.length: ${messages.length}");
Expand All @@ -103,30 +135,52 @@ class ChatMessagePage extends StatelessWidget {
return Scaffold(
appBar: AppBar(
title: GetBuilder<ChatSessionController>(builder: (controller) {
return Text(session.name);
return Text(controller.currentSession.name);
}),
actions: [
IconButton(
onPressed: () {
Get.defaultDialog(
title: "Clean Session".tr,
onCancel: () {
Get.back();
},
onConfirm: () {
// onDelete(message);
chatMessageController.cleanSessionMessages(
chatSessionController.currentSession.sid);
chatMessageController.update();
Get.back();
},
textCancel: "Cancel".tr,
textConfirm: "Confirm".tr,
middleText: "Confirm clean session?".tr,
radius: 5,
);
},
icon: const Icon(Icons.cleaning_services))
PopupMenuButton<int>(
onSelected: (item) {
handelMenuClick(item, context);
},
itemBuilder: (context) => [
PopupMenuItem<int>(
value: 0,
child: ListTile(
dense: true,
leading: const Icon(Icons.edit),
title: Text("Edit".tr),
)),
PopupMenuItem<int>(
value: 1,
child: ListTile(
dense: true,
leading: const Icon(Icons.cleaning_services),
title: Text("Clean".tr),
)),
],
),
// IconButton(onPressed: () {}, icon: const Icon(Icons.edit)),
// IconButton(
// onPressed: () {
// Get.defaultDialog(
// title: "Clean Session".tr,
// onCancel: () {
// Get.back();
// },
// onConfirm: () {
// // onDelete(message);
// chatMessageController.cleanSessionMessages(
// chatSessionController.currentSession.sid);
// chatMessageController.update();
// Get.back();
// },
// textCancel: "Cancel".tr,
// textConfirm: "Confirm".tr,
// middleText: "Confirm clean session?".tr,
// radius: 5,
// );
// },
// icon: const Icon(Icons.cleaning_services))
],
),
body: SafeArea(
Expand Down

0 comments on commit 141e19e

Please sign in to comment.