From 2af0d58debae63778e050527322ce7c2fc3273ff Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Mon, 6 May 2024 22:33:39 +0530 Subject: [PATCH] feat: Revamp profile settings screen (#9352) Co-authored-by: Shivam Mishra Co-authored-by: iamsivin --- .../settings/personal/ChangePassword.vue | 137 ---- .../dashboard/settings/personal/Index.vue | 264 ------- .../settings/personal/MessageSignature.vue | 50 -- .../settings/personal/personal.routes.js | 20 - .../{personal => profile}/AccessToken.vue | 0 .../AudioAlertCondition.vue | 0 .../{personal => profile}/AudioAlertEvent.vue | 2 +- .../{personal => profile}/AudioAlertTone.vue | 0 .../AudioNotifications.vue | 0 .../settings/profile/ChangePassword.vue | 161 ++--- .../{personal => profile}/HotKeyCard.vue | 0 .../dashboard/settings/profile/Index.vue | 353 +++++----- .../settings/profile/MessageSignature.vue | 144 ++-- .../NotificationCheckBox.vue | 0 .../NotificationPreferences.vue | 2 +- .../settings/profile/NotificationSettings.vue | 649 ------------------ .../UserBasicDetails.vue | 0 .../UserProfilePicture.vue | 0 .../dashboard/settings/profile/Wrapper.vue | 19 + .../{personal => profile}/constants.js | 0 .../settings/profile/profile.routes.js | 8 +- .../dashboard/settings/settings.routes.js | 6 +- .../v3/components/Form/CheckBox.vue | 2 +- 23 files changed, 302 insertions(+), 1515 deletions(-) delete mode 100644 app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue delete mode 100644 app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue delete mode 100644 app/javascript/dashboard/routes/dashboard/settings/personal/MessageSignature.vue delete mode 100644 app/javascript/dashboard/routes/dashboard/settings/personal/personal.routes.js rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/AccessToken.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/AudioAlertCondition.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/AudioAlertEvent.vue (81%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/AudioAlertTone.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/AudioNotifications.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/HotKeyCard.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/NotificationCheckBox.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/NotificationPreferences.vue (99%) delete mode 100644 app/javascript/dashboard/routes/dashboard/settings/profile/NotificationSettings.vue rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/UserBasicDetails.vue (100%) rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/UserProfilePicture.vue (100%) create mode 100644 app/javascript/dashboard/routes/dashboard/settings/profile/Wrapper.vue rename app/javascript/dashboard/routes/dashboard/settings/{personal => profile}/constants.js (100%) diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue deleted file mode 100644 index 0c2fa9e78..000000000 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/ChangePassword.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue deleted file mode 100644 index 024811088..000000000 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/Index.vue +++ /dev/null @@ -1,264 +0,0 @@ - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/MessageSignature.vue b/app/javascript/dashboard/routes/dashboard/settings/personal/MessageSignature.vue deleted file mode 100644 index 7639465be..000000000 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/MessageSignature.vue +++ /dev/null @@ -1,50 +0,0 @@ - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/personal.routes.js b/app/javascript/dashboard/routes/dashboard/settings/personal/personal.routes.js deleted file mode 100644 index 66aaf0a11..000000000 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/personal.routes.js +++ /dev/null @@ -1,20 +0,0 @@ -import { frontendURL } from 'dashboard/helper/URLHelper'; - -const Index = () => import('./Index.vue'); - -export default { - routes: [ - { - path: frontendURL('accounts/:accountId/personal'), - name: 'personal_settings', - roles: ['administrator', 'agent'], - component: Index, - props: { - headerTitle: 'PROFILE_SETTINGS.TITLE', - icon: 'edit', - showNewButton: false, - showSidemenuIcon: false, - }, - }, - ], -}; diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/AccessToken.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/AccessToken.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/AccessToken.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/AccessToken.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertCondition.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertCondition.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertCondition.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertCondition.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertEvent.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertEvent.vue similarity index 81% rename from app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertEvent.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertEvent.vue index ef4b95a36..41d25b522 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertEvent.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertEvent.vue @@ -16,7 +16,7 @@ diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertTone.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertTone.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/AudioAlertTone.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/AudioAlertTone.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/AudioNotifications.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/AudioNotifications.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/AudioNotifications.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/AudioNotifications.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/profile/ChangePassword.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/ChangePassword.vue index 99cee0325..0c2fa9e78 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/profile/ChangePassword.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/ChangePassword.vue @@ -1,82 +1,73 @@ - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/HotKeyCard.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/HotKeyCard.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/HotKeyCard.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/profile/Index.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/Index.vue index f337b333b..45ec109aa 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/profile/Index.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/Index.vue @@ -1,152 +1,116 @@ - diff --git a/app/javascript/dashboard/routes/dashboard/settings/profile/MessageSignature.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/MessageSignature.vue index d2eb246d5..7639465be 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/profile/MessageSignature.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/MessageSignature.vue @@ -1,110 +1,50 @@ - - - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationCheckBox.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/NotificationCheckBox.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/NotificationCheckBox.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/NotificationCheckBox.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationPreferences.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/NotificationPreferences.vue similarity index 99% rename from app/javascript/dashboard/routes/dashboard/settings/personal/NotificationPreferences.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/NotificationPreferences.vue index 8d9ce39d1..986ff9aca 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/personal/NotificationPreferences.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/NotificationPreferences.vue @@ -110,7 +110,7 @@
-
-
-
-

- {{ $t('PROFILE_SETTINGS.FORM.AUDIO_NOTIFICATIONS_SECTION.TITLE') }} -

-

- {{ $t('PROFILE_SETTINGS.FORM.AUDIO_NOTIFICATIONS_SECTION.NOTE') }} -

-
-
-
- - {{ - $t( - 'PROFILE_SETTINGS.FORM.AUDIO_NOTIFICATIONS_SECTION.ALERT_TYPE.TITLE' - ) - }} - -
- - -
-
- - -
-
- - -
-
-
- - {{ - $t( - 'PROFILE_SETTINGS.FORM.AUDIO_NOTIFICATIONS_SECTION.DEFAULT_TONE.TITLE' - ) - }} - -
- -
-
-
- - {{ - $t( - 'PROFILE_SETTINGS.FORM.AUDIO_NOTIFICATIONS_SECTION.CONDITIONS.TITLE' - ) - }} - -
- - -
-
- - -
-
-
-
-
-
-

- {{ $t('PROFILE_SETTINGS.FORM.EMAIL_NOTIFICATIONS_SECTION.TITLE') }} -

-

- {{ $t('PROFILE_SETTINGS.FORM.EMAIL_NOTIFICATIONS_SECTION.NOTE') }} -

-
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
-
-

- {{ $t('PROFILE_SETTINGS.FORM.PUSH_NOTIFICATIONS_SECTION.TITLE') }} -

-

{{ $t('PROFILE_SETTINGS.FORM.PUSH_NOTIFICATIONS_SECTION.NOTE') }}

-
-
-

- {{ - $t( - 'PROFILE_SETTINGS.FORM.PUSH_NOTIFICATIONS_SECTION.HAS_ENABLED_PUSH' - ) - }} -

-
- -
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
-
- - - - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/UserBasicDetails.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/UserBasicDetails.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/UserBasicDetails.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/UserBasicDetails.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/UserProfilePicture.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/UserProfilePicture.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/UserProfilePicture.vue rename to app/javascript/dashboard/routes/dashboard/settings/profile/UserProfilePicture.vue diff --git a/app/javascript/dashboard/routes/dashboard/settings/profile/Wrapper.vue b/app/javascript/dashboard/routes/dashboard/settings/profile/Wrapper.vue new file mode 100644 index 000000000..f0931afdc --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/Wrapper.vue @@ -0,0 +1,19 @@ + + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/personal/constants.js b/app/javascript/dashboard/routes/dashboard/settings/profile/constants.js similarity index 100% rename from app/javascript/dashboard/routes/dashboard/settings/personal/constants.js rename to app/javascript/dashboard/routes/dashboard/settings/profile/constants.js diff --git a/app/javascript/dashboard/routes/dashboard/settings/profile/profile.routes.js b/app/javascript/dashboard/routes/dashboard/settings/profile/profile.routes.js index 634d15491..357c20e85 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/profile/profile.routes.js +++ b/app/javascript/dashboard/routes/dashboard/settings/profile/profile.routes.js @@ -1,6 +1,6 @@ import { frontendURL } from '../../../../helper/URLHelper'; -const SettingsContent = () => import('../Wrapper.vue'); +const SettingsContent = () => import('./Wrapper.vue'); const Index = () => import('./Index.vue'); export default { @@ -10,12 +10,6 @@ export default { name: 'profile_settings', roles: ['administrator', 'agent'], component: SettingsContent, - props: { - headerTitle: 'PROFILE_SETTINGS.TITLE', - icon: 'edit', - showNewButton: false, - showSidemenuIcon: false, - }, children: [ { path: 'settings', diff --git a/app/javascript/dashboard/routes/dashboard/settings/settings.routes.js b/app/javascript/dashboard/routes/dashboard/settings/settings.routes.js index 7bfdb2488..dd5291fe8 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/settings.routes.js +++ b/app/javascript/dashboard/routes/dashboard/settings/settings.routes.js @@ -13,12 +13,11 @@ import integrationapps from './integrationapps/integrations.routes'; import integrations from './integrations/integrations.routes'; import labels from './labels/labels.routes'; import macros from './macros/macros.routes'; -import profile from './profile/profile.routes'; import reports from './reports/reports.routes'; import store from '../../../store'; import sla from './sla/sla.routes'; import teams from './teams/teams.routes'; -import personal from './personal/personal.routes'; +import profile from './profile/profile.routes'; export default { routes: [ @@ -47,10 +46,9 @@ export default { ...integrations.routes, ...labels.routes, ...macros.routes, - ...profile.routes, ...reports.routes, ...sla.routes, ...teams.routes, - ...personal.routes, + ...profile.routes, ], }; diff --git a/app/javascript/v3/components/Form/CheckBox.vue b/app/javascript/v3/components/Form/CheckBox.vue index a047be63a..c95b4ccc6 100644 --- a/app/javascript/v3/components/Form/CheckBox.vue +++ b/app/javascript/v3/components/Form/CheckBox.vue @@ -4,7 +4,7 @@ v-model="checked" type="checkbox" :value="value" - class="flex-shrink-0 mt-0.5 border-ash-200 border checked:border-none checked:bg-primary-600 dark:checked:bg-primary-600 shadow appearance-none rounded-[4px] w-4 h-4 focus:ring-1 after:content-[''] after:text-white checked:after:content-['✓'] after:flex after:items-center after:justify-center after:text-center after:text-xs after:font-bold after:relative" + class="flex-shrink-0 mt-0.5 border-ash-200 border bg-ash-50 checked:border-none checked:bg-primary-600 dark:checked:bg-primary-600 shadow-sm appearance-none rounded-[4px] w-4 h-4 focus:ring-1 after:content-[''] after:text-white checked:after:content-['✓'] after:flex after:items-center after:justify-center after:text-center after:text-xs after:font-bold after:relative" />