From e753365493e1a3ac00251e1b652b0b85397b0abc Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Mon, 10 Apr 2023 13:37:12 +0530 Subject: [PATCH] feat: Add the ability to change the agent availability status (#6855) * Add the option change agent availability * Remove callout * Move `AVAILABILITY_STATUS_KEYS` to constants * Update app/javascript/dashboard/i18n/locale/en/agentMgmt.json Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> --- .../components/layout/AvailabilityStatus.vue | 3 +- app/javascript/dashboard/constants.js | 1 + .../dashboard/i18n/locale/en/agentMgmt.json | 6 +++ .../dashboard/settings/agents/EditAgent.vue | 40 +++++++++++++++++++ .../dashboard/settings/agents/Index.vue | 1 + 5 files changed, 50 insertions(+), 1 deletion(-) diff --git a/app/javascript/dashboard/components/layout/AvailabilityStatus.vue b/app/javascript/dashboard/components/layout/AvailabilityStatus.vue index 213dcc94d..b6bf66064 100644 --- a/app/javascript/dashboard/components/layout/AvailabilityStatus.vue +++ b/app/javascript/dashboard/components/layout/AvailabilityStatus.vue @@ -52,8 +52,9 @@ import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu'; import WootDropdownHeader from 'shared/components/ui/dropdown/DropdownHeader'; import WootDropdownDivider from 'shared/components/ui/dropdown/DropdownDivider'; import AvailabilityStatusBadge from '../widgets/conversation/AvailabilityStatusBadge'; +import wootConstants from 'dashboard/constants'; -const AVAILABILITY_STATUS_KEYS = ['online', 'busy', 'offline']; +const { AVAILABILITY_STATUS_KEYS } = wootConstants; export default { components: { diff --git a/app/javascript/dashboard/constants.js b/app/javascript/dashboard/constants.js index 2263154bd..71dd68051 100644 --- a/app/javascript/dashboard/constants.js +++ b/app/javascript/dashboard/constants.js @@ -24,5 +24,6 @@ export default { DOCS_URL: '//www.chatwoot.com/docs/product/', TESTIMONIAL_URL: 'https://testimonials.cdn.chatwoot.com/content.json', SMALL_SCREEN_BREAKPOINT: 1024, + AVAILABILITY_STATUS_KEYS: ['online', 'busy', 'offline'], }; export const DEFAULT_REDIRECT_URL = '/app/'; diff --git a/app/javascript/dashboard/i18n/locale/en/agentMgmt.json b/app/javascript/dashboard/i18n/locale/en/agentMgmt.json index 0f965c717..13e7e818c 100644 --- a/app/javascript/dashboard/i18n/locale/en/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/agentMgmt.json @@ -33,6 +33,7 @@ "PLACEHOLDER": "Please select a role", "ERROR": "Role is required" }, + "EMAIL": { "LABEL": "Email Address", "PLACEHOLDER": "Please enter an email address of the agent" @@ -74,6 +75,11 @@ "LABEL": "Email Address", "PLACEHOLDER": "Please enter an email address of the agent" }, + "AGENT_AVAILABILITY": { + "LABEL": "Availability", + "PLACEHOLDER": "Please select an availability status", + "ERROR": "Availability is required" + }, "SUBMIT": "Edit Agent" }, "BUTTON_TEXT": "Edit", diff --git a/app/javascript/dashboard/routes/dashboard/settings/agents/EditAgent.vue b/app/javascript/dashboard/routes/dashboard/settings/agents/EditAgent.vue index e01d33b5e..feca6c61c 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/agents/EditAgent.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/agents/EditAgent.vue @@ -28,6 +28,24 @@ + +
+ +