From 7455df35e3dc1e44546f465eb177a924777ae4aa Mon Sep 17 00:00:00 2001
From: Maksim Sukharev <antreesy.web@gmail.com>
Date: Tue, 18 Apr 2023 15:06:29 +0200
Subject: fix(status): Store locally status message when editing

Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
---
 apps/user_status/src/components/SetStatusModal.vue | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

(limited to 'apps/user_status/src/components/SetStatusModal.vue')

diff --git a/apps/user_status/src/components/SetStatusModal.vue b/apps/user_status/src/components/SetStatusModal.vue
index 0ee8b3a1e18..73e07573e5c 100644
--- a/apps/user_status/src/components/SetStatusModal.vue
+++ b/apps/user_status/src/components/SetStatusModal.vue
@@ -43,7 +43,7 @@
 			<div class="set-status-modal__custom-input">
 				<CustomMessageInput ref="customMessageInput"
 					:icon="icon"
-					:message="message"
+					:message="editedMessage"
 					@change="setMessage"
 					@submit="saveStatus"
 					@select-icon="setIcon" />
@@ -108,6 +108,7 @@ export default {
 	data() {
 		return {
 			clearAt: null,
+			editedMessage: '',
 			isSavingStatus: false,
 			statuses: getAllStatusOptions(),
 		}
@@ -153,6 +154,15 @@ export default {
 		},
 	},
 
+	watch: {
+		message: {
+			immediate: true,
+			handler(newValue) {
+				this.editedMessage = newValue
+			},
+		},
+	},
+
 	/**
 	 * Loads the current status when a user opens dialog
 	 */
@@ -194,11 +204,7 @@ export default {
 		 * @param {string} message The new message
 		 */
 		setMessage(message) {
-			this.$store.dispatch('setCustomMessage', {
-				message,
-				icon: this.icon,
-				clearAt: this.clearAt,
-			})
+			this.editedMessage = message
 		},
 		/**
 		 * Sets a new clearAt value
@@ -240,7 +246,7 @@ export default {
 					})
 				} else {
 					await this.$store.dispatch('setCustomMessage', {
-						message: this.message,
+						message: this.editedMessage,
 						icon: this.icon,
 						clearAt: this.clearAt,
 					})
-- 
cgit v1.2.3

