TF-2945 Apply quick select for read receipt in composer on web

This commit is contained in:
dab246
2024-07-10 13:57:55 +07:00
committed by Dat H. Pham
parent 0a8a0b0a6d
commit c8ea2da3cf
6 changed files with 78 additions and 45 deletions
@@ -467,6 +467,7 @@ class ComposerView extends GetWidget<ComposerController> {
Obx(() => BottomBarComposerWidget(
isCodeViewEnabled: controller.richTextWebController!.codeViewEnabled,
isFormattingOptionsEnabled: controller.richTextWebController!.isFormattingOptionsEnabled,
hasReadReceipt: controller.hasRequestReadReceipt.value,
openRichToolbarAction: controller.richTextWebController!.toggleFormattingOptions,
attachFileAction: () => controller.openFilePickerByType(context, FileType.any),
insertImageAction: () => controller.insertImage(context, constraints.maxWidth),
@@ -474,14 +475,7 @@ class ComposerView extends GetWidget<ComposerController> {
deleteComposerAction: () => controller.handleClickDeleteComposer(context),
saveToDraftAction: () => controller.handleClickSaveAsDraftsButton(context),
sendMessageAction: () => controller.handleClickSendButton(context),
requestReadReceiptAction: (position) {
controller.openPopupMenuAction(
context,
position,
_createReadReceiptPopupItems(context),
radius: ComposerStyle.popupMenuRadius
);
},
requestReadReceiptAction: () => controller.toggleRequestReadReceipt(context),
)),
],
),
@@ -776,6 +770,7 @@ class ComposerView extends GetWidget<ComposerController> {
Obx(() => BottomBarComposerWidget(
isCodeViewEnabled: controller.richTextWebController!.codeViewEnabled,
isFormattingOptionsEnabled: controller.richTextWebController!.isFormattingOptionsEnabled,
hasReadReceipt: controller.hasRequestReadReceipt.value,
openRichToolbarAction: controller.richTextWebController!.toggleFormattingOptions,
attachFileAction: () => controller.openFilePickerByType(context, FileType.any),
insertImageAction: () => controller.insertImage(context, constraints.maxWidth),
@@ -783,14 +778,7 @@ class ComposerView extends GetWidget<ComposerController> {
deleteComposerAction: () => controller.handleClickDeleteComposer(context),
saveToDraftAction: () => controller.handleClickSaveAsDraftsButton(context),
sendMessageAction: () => controller.handleClickSendButton(context),
requestReadReceiptAction: (position) {
controller.openPopupMenuAction(
context,
position,
_createReadReceiptPopupItems(context),
radius: ComposerStyle.popupMenuRadius
);
},
requestReadReceiptAction: () => controller.toggleRequestReadReceipt(context),
)),
]),
);
@@ -799,26 +787,6 @@ class ComposerView extends GetWidget<ComposerController> {
);
}
List<PopupMenuEntry> _createReadReceiptPopupItems(BuildContext context) {
return [
PopupMenuItem(
padding: EdgeInsets.zero,
child: PopupItemWidget(
controller.imagePaths.icReadReceipt,
AppLocalizations.of(context).requestReadReceipt,
styleName: ComposerStyle.popupItemTextStyle,
padding: ComposerStyle.popupItemPadding,
selectedIcon: controller.imagePaths.icFilterSelected,
isSelected: controller.hasRequestReadReceipt.value,
onCallbackAction: () {
popBack();
controller.toggleRequestReadReceipt();
}
)
),
];
}
List<PopupMenuEntry> _createMoreOptionPopupItems(BuildContext context) {
return [
PopupMenuItem(
@@ -849,7 +817,7 @@ class ComposerView extends GetWidget<ComposerController> {
isSelected: controller.hasRequestReadReceipt.value,
onCallbackAction: () {
popBack();
controller.toggleRequestReadReceipt();
controller.toggleRequestReadReceipt(context);
}
)
),