diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue
index 5ec3996e9..db3778d2d 100644
--- a/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue
+++ b/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue
@@ -1,48 +1,146 @@
-
-
- Change password
-
-
-
-
+
+
-
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue
index 52a19e653..b25075328 100644
--- a/app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue
+++ b/app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue
@@ -9,15 +9,14 @@
class="flex justify-between items-center px-2 w-full h-10 rounded-t-[5px]"
>
{{ heading }}
-
-
+
+
export default {
props: {
+ active: {
+ type: Boolean,
+ default: false,
+ },
heading: {
type: String,
default: '',
@@ -43,14 +46,6 @@ export default {
type: String,
default: '',
},
- active: {
- type: Boolean,
- default: false,
- },
- buttonText: {
- type: String,
- default: 'Active',
- },
src: {
type: String,
default: '',
diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue
index e43926a75..bec8eb9a6 100644
--- a/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue
+++ b/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue
@@ -86,36 +86,35 @@
:heading="keyOption.heading"
:content="keyOption.content"
:src="keyOption.src"
- :active="keyOption.key === 'enter'"
+ :active="isEditorHotKeyEnabled(uiSettings, keyOption.key)"
+ @click="toggleEditorMessageKey(keyOption.key)"
/>
-
+
-
-
-
-
-
-
+
+
@@ -129,8 +128,6 @@ import MessageSignature from './MessageSignature.vue';
import PersonalWrapper from './PersonalWrapper.vue';
import HotKeyCard from './HotKeyCard.vue';
import ChangePassword from './ChangePassword.vue';
-import NotificationPreferences from './NotificationPreferences.vue';
-import AudioNotifications from './AudioNotifications.vue';
import AccessToken from './AccessToken.vue';
import globalConfigMixin from 'shared/mixins/globalConfigMixin';
import uiSettingsMixin, {
@@ -141,6 +138,7 @@ import { required, minLength, email } from 'vuelidate/lib/validators';
import { mapGetters } from 'vuex';
import { clearCookiesOnLogout } from '../../../../store/utils/api';
import { hasValidAvatarUrl } from 'dashboard/helper/URLHelper';
+import NotificationSettings from './NotificationSettings.vue';
export default {
components: {
@@ -149,8 +147,7 @@ export default {
PersonalWrapper,
HotKeyCard,
ChangePassword,
- NotificationPreferences,
- AudioNotifications,
+ NotificationSettings,
AccessToken,
},
mixins: [alertMixin, globalConfigMixin, uiSettingsMixin],
diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationSettings.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationSettings.vue
new file mode 100644
index 000000000..192fd8ee1
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationSettings.vue
@@ -0,0 +1,592 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Notification preferences
+
+
+
+
+
+
+
+
+
+ Push notification
+
+
+
+
+
+
+
+
+ A new conversation is created
+
+
+
+
+
+
+
+
+
+
+
+
+ Conversation is assigned to you
+
+
+
+
+
+
+
+
+
+
+
+
+ You are mentioned in a conversation
+
+
+
+
+
+
+
+
+
+
+
+
+ New message is created in an assigned conversation
+
+
+
+
+
+
+
+
+
+
+
+
+ New message is created in an participating conversation
+
+
+
+
+
+
+
+
+
+
+
+
+ Conversation misses first response SLA
+
+
+
+
+
+
+
+
+
+
+
+
+ Conversation misses next response SLA
+
+
+
+
+
+
+
+
+
+
+
+
+ Conversation misses resolution SLA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+