From 4a63d1d89659bc5c41b6c62fd8222dfe4f2b433c Mon Sep 17 00:00:00 2001 From: Pranav Date: Sun, 11 Aug 2024 20:59:39 -0700 Subject: [PATCH] feat: Update the design for label management page (#9932) This PR is part of the settings design update series. It updates the design for the label management page. I've made a few changes to the SettingsLayout page to reduce boilerplate code. --- .../dashboard/i18n/locale/en/labelsMgmt.json | 9 +- .../dashboard/settings/SettingsLayout.vue | 26 +- .../dashboard/settings/labels/Index.vue | 284 ++++++++---------- .../settings/labels/labels.routes.js | 9 +- 4 files changed, 160 insertions(+), 168 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json index cb98993bd..a24266fb4 100644 --- a/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/labelsMgmt.json @@ -3,13 +3,18 @@ "HEADER": "Labels", "HEADER_BTN_TXT": "Add label", "LOADING": "Fetching labels", + "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", + "LEARN_MORE": "Learn more about labels", "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Labels

Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel.

Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.

", "LIST": { "404": "There are no labels available in this account.", "TITLE": "Manage labels", "DESC": "Labels let you group the conversations together.", - "TABLE_HEADER": ["Name", "Description", "Color"] + "TABLE_HEADER": [ + "Name", + "Description", + "Color" + ] }, "FORM": { "NAME": { diff --git a/app/javascript/dashboard/routes/dashboard/settings/SettingsLayout.vue b/app/javascript/dashboard/routes/dashboard/settings/SettingsLayout.vue index cfe642f54..916f821ad 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/SettingsLayout.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/SettingsLayout.vue @@ -4,21 +4,35 @@ defineProps({ type: Boolean, default: false, }, + noRecordsFound: { + type: Boolean, + default: false, + }, loadingMessage: { type: String, default: '', }, + noRecordsMessage: { + type: String, + default: '', + }, }); diff --git a/app/javascript/dashboard/routes/dashboard/settings/labels/Index.vue b/app/javascript/dashboard/routes/dashboard/settings/labels/Index.vue index 9aed65d00..0fdaf16e8 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/labels/Index.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/labels/Index.vue @@ -1,138 +1,137 @@ - - - diff --git a/app/javascript/dashboard/routes/dashboard/settings/labels/labels.routes.js b/app/javascript/dashboard/routes/dashboard/settings/labels/labels.routes.js index 088c565d0..9f5edc2dd 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/labels/labels.routes.js +++ b/app/javascript/dashboard/routes/dashboard/settings/labels/labels.routes.js @@ -1,18 +1,13 @@ import { frontendURL } from '../../../../helper/URLHelper'; -const SettingsContent = () => import('../Wrapper.vue'); +const SettingsWrapper = () => import('../SettingsWrapper.vue'); const Index = () => import('./Index.vue'); export default { routes: [ { path: frontendURL('accounts/:accountId/settings/labels'), - component: SettingsContent, - props: { - headerTitle: 'LABEL_MGMT.HEADER', - icon: 'tag', - showNewButton: false, - }, + component: SettingsWrapper, children: [ { path: '',