From 012a7432c977c361402b19a386d11b36872a27eb Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Thu, 20 Jun 2024 15:05:02 -0500 Subject: [PATCH 1/6] temp save --- .../[conversationId]/chat-box.svelte | 14 ++++---- .../agent-queue-log-element.svelte | 0 .../instant-log.svelte} | 2 +- .../message-state-log-element.svelte | 0 .../content-log-element.svelte | 0 .../conversation-state-log-element.svelte | 0 .../persist-log.svelte} | 33 ++++++++++--------- 7 files changed, 26 insertions(+), 23 deletions(-) rename src/routes/chat/[agentId]/[conversationId]/{content-log => instant-log}/agent-queue-log-element.svelte (100%) rename src/routes/chat/[agentId]/[conversationId]/{state-log/state-log.svelte => instant-log/instant-log.svelte} (98%) rename src/routes/chat/[agentId]/[conversationId]/{state-log => instant-log}/message-state-log-element.svelte (100%) rename src/routes/chat/[agentId]/[conversationId]/{content-log => persist-log}/content-log-element.svelte (100%) rename src/routes/chat/[agentId]/[conversationId]/{state-log => persist-log}/conversation-state-log-element.svelte (100%) rename src/routes/chat/[agentId]/[conversationId]/{content-log/content-log.svelte => persist-log/persist-log.svelte} (79%) diff --git a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte index ea77c169..6e1197e1 100644 --- a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte @@ -25,7 +25,7 @@ import { onMount, setContext, tick } from 'svelte'; import Viewport from 'svelte-viewport-info'; import { PUBLIC_LIVECHAT_ENTRY_ICON } from '$env/static/public'; - import { BOT_SENDERS, FILE_EDITORS, TEXT_EDITORS, USER_SENDERS } from '$lib/helpers/constants'; + import { BOT_SENDERS, TEXT_EDITORS, USER_SENDERS } from '$lib/helpers/constants'; import { signalr } from '$lib/services/signalr-service.js'; import { webSpeech } from '$lib/services/web-speech.js'; import { newConversation } from '$lib/services/conversation-service'; @@ -37,17 +37,17 @@ import { utcToLocal } from '$lib/helpers/datetime'; import { replaceNewLine } from '$lib/helpers/http'; import { EditorType, FileSourceType, SenderAction, UserRole } from '$lib/helpers/enums'; - import { loadFileGallery, loadLocalFiles } from '$lib/helpers/utils/gallery'; + import { loadFileGallery } from '$lib/helpers/utils/gallery'; import RichContent from './rich-content/rich-content.svelte'; import RcMessage from "./rich-content/rc-message.svelte"; import RcDisclaimer from './rich-content/rc-disclaimer.svelte'; import MessageImageGallery from '$lib/common/MessageImageGallery.svelte'; import ChatImageUploader from './chat-image/chat-image-uploader.svelte'; import ChatImageGallery from './chat-image/chat-image-gallery.svelte'; - import ContentLog from './content-log/content-log.svelte'; + import PersistLog from './persist-log/persist-log.svelte'; + import InstantLog from './instant-log/instant-log.svelte'; import _ from "lodash"; import { Pane, Splitpanes } from 'svelte-splitpanes'; - import StateLog from './state-log/state-log.svelte'; import Swal from 'sweetalert2/dist/sweetalert2.js'; import "sweetalert2/src/sweetalert2.scss"; import moment from 'moment'; @@ -884,7 +884,7 @@ {#if isLoadStateLog} - {#if isLoadContentLog} - { scrollbars = [ ...scrollbars, OverlayScrollbars(elem, options) ]; @@ -129,16 +129,19 @@ -
+
    - {#each agentQueueLogs as log} + + {#each convStateLogs as log} + {/each}
From 1d33522f0279842bbc675d1698dda4bd3078cdba Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Thu, 20 Jun 2024 23:29:50 -0500 Subject: [PATCH 2/6] change toggle button --- .../[conversationId]/chat-box.svelte | 123 +++++++++--------- .../instant-log/instant-log.svelte | 55 ++------ .../persist-log/persist-log.svelte | 9 +- 3 files changed, 75 insertions(+), 112 deletions(-) diff --git a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte index 6e1197e1..5bd2d3c7 100644 --- a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte @@ -114,10 +114,10 @@ let conversationUser; /** @type {boolean} */ - let isLoadContentLog = false; - let isLoadStateLog = false; - let isContentLogClosed = false; // initial condition - let isStateLogClosed = false; // initial condition + let isLoadPersistLog = false; + let isLoadInstantLog = false; + let isPersistLogClosed = false; // initial condition + let isInstantLogClosed = false; // initial condition let isOpenEditMsgModal = false; let isOpenUserAddStateModal = false; let isSendingMsg = false; @@ -172,11 +172,11 @@ function resizeChatWindow() { isLite = Viewport.Width <= screenWidthThreshold; if (!isLite) { - isLoadContentLog = !isContentLogClosed; - isLoadStateLog = !isStateLogClosed; + isLoadPersistLog = !isPersistLogClosed; + isLoadInstantLog = !isInstantLogClosed; } else { - isLoadContentLog = false; - isLoadStateLog = false; + isLoadPersistLog = false; + isLoadInstantLog = false; isOpenEditMsgModal = false; isOpenUserAddStateModal = false; } @@ -185,8 +185,8 @@ function initChatView() { isFrame = $page.url.searchParams.get('isFrame') === 'true'; // initial condition - isContentLogClosed = false; - isStateLogClosed = false; + isPersistLogClosed = false; + isInstantLogClosed = false; resizeChatWindow(); } @@ -351,14 +351,14 @@ /** @param {import('$types').ConversationContentLogModel} log */ function onConversationContentLogGenerated(log) { - if (!isLoadContentLog) return; + if (!isLoadPersistLog) return; contentLogs.push({ ...log }); contentLogs = contentLogs.map(x => { return { ...x }; }); } /** @param {import('$types').ConversationStateLogModel} log */ function onConversationStateLogGenerated(log) { - if (!isLoadStateLog) return; + if (!isLoadPersistLog) return; convStateLogs.push({ ...log }); convStateLogs = convStateLogs.map(x => { return { ...x }; }); @@ -366,7 +366,7 @@ /** @param {import('$types').MessageStateLogModel} log */ function onStateChangeGenerated(log) { - if (!isLoadStateLog || log == null) return; + if (!isLoadInstantLog || log == null) return; msgStateLogs.push({ ...log }); msgStateLogs = msgStateLogs.map(x => { return { ...x }; }); @@ -374,7 +374,7 @@ /** @param {import('$types').AgentQueueLogModel} log */ function onAgentQueueChanged(log) { - if (!isLoadContentLog || log == null) return; + if (!isLoadInstantLog || log == null) return; agentQueueLogs.push({ ...log }); agentQueueLogs = agentQueueLogs.map(x => { return { ...x }; }); @@ -577,34 +577,40 @@ } } - function toggleContentLog() { - isLoadContentLog = !isLoadContentLog; - if (!isLoadContentLog) { - contentLogs = []; - agentQueueLogs = []; - isContentLogClosed = true; - } else { - isContentLogClosed = false; + function openLogs() { + if (!isLoadPersistLog) { + isLoadPersistLog = true; + isPersistLogClosed = false; + } + + if (!isLoadInstantLog) { + isLoadInstantLog = true; + isInstantLogClosed = false; } + } + + function closePersistLog() { + isLoadPersistLog = false; + contentLogs = []; + convStateLogs = []; + isPersistLogClosed = true; } - function cleanContentLogScreen() { + function cleanPersistLogScreen() { contentLogs = []; + convStateLogs = []; } - function toggleStateLog() { - isLoadStateLog = !isLoadStateLog; - if (!isLoadStateLog) { - convStateLogs = []; - msgStateLogs = []; - isStateLogClosed = true; - } else { - isStateLogClosed = false; - } + function closeInstantLog() { + isLoadInstantLog = false; + msgStateLogs = []; + agentQueueLogs = []; + isInstantLogClosed = true; } - function cleanStateLogScreen() { - convStateLogs = []; + function cleanInstantLogScreen() { + msgStateLogs = []; + agentQueueLogs = []; } function toggleUserAddStateModal() { @@ -758,13 +764,11 @@ /** @param {string} messageId */ function truncateLogs(messageId) { - if (isLoadContentLog) { - const targetIdx = contentLogs.findIndex(x => x.message_id === messageId); + if (isLoadPersistLog) { + let targetIdx = contentLogs.findIndex(x => x.message_id === messageId); contentLogs = contentLogs.filter((x, idx) => idx < targetIdx); - } - - if (isLoadStateLog) { - const targetIdx = convStateLogs.findIndex(x => x.message_id === messageId); + + targetIdx = convStateLogs.findIndex(x => x.message_id === messageId); convStateLogs = convStateLogs.filter((x, idx) => idx < targetIdx); } } @@ -793,7 +797,7 @@ /** @param {string} messageId */ function highlightStateLog(messageId) { - if (!isLoadStateLog) return; + if (!isLoadInstantLog) return; const targets = document.querySelectorAll('.state-log-item'); targets.forEach(elm => { @@ -815,7 +819,7 @@ const stateLogWrapper = '.conv-state-log-scrollbar'; const elements = []; const contentLogElm = document.querySelector(`#content-log-${messageId}`); - if (isLoadContentLog && !!contentLogElm) { + if (isLoadPersistLog && !!contentLogElm) { elements.push({ elm: contentLogElm, wrapperName: contentLogWrapper @@ -823,7 +827,7 @@ } const stateLogElm = document.querySelector(`#state-log-${messageId}`); - if (isLoadStateLog && !!stateLogElm) { + if (isLoadPersistLog && !!stateLogElm) { elements.push({ elm: stateLogElm, wrapperName: stateLogWrapper @@ -882,14 +886,13 @@
- {#if isLoadStateLog} + {#if isLoadInstantLog} {/if} @@ -899,9 +902,9 @@
-
{agent?.name}
+
{agent?.name || 'Unkown'}
- {conversationUser?.full_name || ''} + {conversationUser?.full_name || conversationUser?.user_name || ''}
@@ -923,23 +926,23 @@ - {#if !isLite && !isLoadContentLog} - toggleContentLog()}>View Log + {#if !isLite && (!isLoadPersistLog || !isLoadInstantLog)} + openLogs()}>View Log {/if} - {#if !isLite && (!isLoadStateLog || !isOpenUserAddStateModal)} + {#if !isLite && (!isLoadInstantLog || !isOpenUserAddStateModal)}
  • States - {#if !isLoadStateLog} + {#if !isOpenUserAddStateModal}
    - {#if isLoadContentLog} + {#if isLoadPersistLog} {/if} diff --git a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte index 64ebe41b..27fc7038 100644 --- a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte @@ -9,17 +9,11 @@ import ConversationStateLogElement from '../persist-log/conversation-state-log-element.svelte'; import MessageStateLogElement from './message-state-log-element.svelte'; - const convStateLogTab = 1; - const msgStateLogTab = 2; - - /** @type {any[]} */ - export let convStateLogs = []; - /** @type {any[]} */ export let msgStateLogs = []; - /** @type {boolean} */ - export let autoScroll = false; + /** @type {any[]} */ + export let agentQueueLogs = []; /** @type {() => void} */ export let closeWindow; @@ -29,7 +23,6 @@ /** @type {any} */ let scrollbars = []; - let selectedTab = convStateLogTab; const options = { scrollbars: { @@ -44,11 +37,7 @@ }; onMount(async () => { - const conversationId = $page.params.conversationId; - convStateLogs = await GetStateLogs(conversationId); - const scrollbarElements = [ - document.querySelector('.conv-state-log-scrollbar'), document.querySelector('.msg-state-log-scrollbar') ].filter(Boolean); scrollbarElements.forEach(elem => { @@ -66,9 +55,7 @@ }); function refresh() { - if (autoScroll) { - scrollToBottom(); - } + scrollToBottom(); } function scrollToBottom() { @@ -82,18 +69,13 @@ } function cleanLogs() { - convStateLogs = []; + msgStateLogs = []; } function handleCleanScreen() { cleanLogs(); cleanScreen && cleanScreen(); } - - /** @param {number} tab */ - function handleTabClick(tab) { - selectedTab = tab; - }
    @@ -118,15 +100,15 @@
  • -
    + -
    +
      {#each msgStateLogs as log} @@ -134,27 +116,6 @@
    - +
    \ No newline at end of file diff --git a/src/routes/chat/[agentId]/[conversationId]/persist-log/persist-log.svelte b/src/routes/chat/[agentId]/[conversationId]/persist-log/persist-log.svelte index 4a6ca0d7..b6fdce1c 100644 --- a/src/routes/chat/[agentId]/[conversationId]/persist-log/persist-log.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/persist-log/persist-log.svelte @@ -3,7 +3,7 @@ import { OverlayScrollbars } from 'overlayscrollbars'; import { afterUpdate, onDestroy, onMount } from 'svelte'; import { page } from '$app/stores'; - import { GetContentLogs } from '$lib/services/logging-service'; + import { GetContentLogs, GetStateLogs } from '$lib/services/logging-service'; import NavBar from '$lib/common/nav-bar/NavBar.svelte'; import NavItem from '$lib/common/nav-bar/NavItem.svelte'; import ContentLogElement from './content-log-element.svelte'; @@ -47,6 +47,7 @@ onMount(async () => { const conversationId = $page.params.conversationId; contentLogs = await GetContentLogs(conversationId); + convStateLogs = await GetStateLogs(conversationId); const scrollbarElements = [ document.querySelector('.content-log-scrollbar'), @@ -84,6 +85,7 @@ function cleanLogs() { contentLogs = []; + convStateLogs = []; } function handleCleanScreen() { @@ -129,11 +131,8 @@
    -
    +
      - {#each convStateLogs as log} {/each} From 5d8a17ee03f1ff6d164953054287819bd56001f3 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Thu, 20 Jun 2024 23:43:00 -0500 Subject: [PATCH 3/6] refine text area style --- src/lib/scss/custom/pages/_chat.scss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/scss/custom/pages/_chat.scss b/src/lib/scss/custom/pages/_chat.scss index 799c9b35..d4cd9ba2 100644 --- a/src/lib/scss/custom/pages/_chat.scss +++ b/src/lib/scss/custom/pages/_chat.scss @@ -287,8 +287,11 @@ } .chat-input-section { - padding: 2vmin 2%; + padding: 0 2%; height: 8%; + display: flex; + flex-direction: column; + justify-content: space-evenly; } .chat-input-hide { From d6340dc27af2f82257a6b95764b765bff504f6d2 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Fri, 21 Jun 2024 18:00:11 -0500 Subject: [PATCH 4/6] refine log section style --- src/lib/scss/custom/pages/_chat.scss | 30 +++++- .../[conversationId]/chat-box.svelte | 1 + .../instant-log/instant-log.svelte | 95 ++++++++++++++----- 3 files changed, 102 insertions(+), 24 deletions(-) diff --git a/src/lib/scss/custom/pages/_chat.scss b/src/lib/scss/custom/pages/_chat.scss index d4cd9ba2..894247cf 100644 --- a/src/lib/scss/custom/pages/_chat.scss +++ b/src/lib/scss/custom/pages/_chat.scss @@ -364,6 +364,32 @@ flex: 2%; } + .instant-log-body { + display: flex; + flex-direction: column; + gap: 20px; + overflow-y: scroll; + scrollbar-width: none; + + .instant-log-section { + border-radius: 10px; + border: solid 3px yellow; + margin: 0px 30px; + flex: 0.5; + display: flex; + flex-direction: column; + height: 350px; + min-height: 350px; + + .close-icon { + font-size: 20px; + color: red; + padding: 0 5px; + cursor: pointer; + } + } + } + .nav-group { margin: 0px 3px; } @@ -466,8 +492,8 @@ } .queue-change-container { - margin-top: 0px; - margin-bottom: 0px; + margin-top: 10px; + margin-bottom: 10px; padding: 0px 10px; .log-content { diff --git a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte index 5bd2d3c7..b2ac5c12 100644 --- a/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/chat-box.svelte @@ -891,6 +891,7 @@ diff --git a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte index 27fc7038..1eca356c 100644 --- a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte @@ -2,12 +2,8 @@ import 'overlayscrollbars/overlayscrollbars.css'; import { OverlayScrollbars } from 'overlayscrollbars'; import { afterUpdate, onDestroy, onMount } from 'svelte'; - import { page } from '$app/stores'; - import { GetStateLogs } from '$lib/services/logging-service'; - import NavBar from '$lib/common/nav-bar/NavBar.svelte'; - import NavItem from '$lib/common/nav-bar/NavItem.svelte'; - import ConversationStateLogElement from '../persist-log/conversation-state-log-element.svelte'; import MessageStateLogElement from './message-state-log-element.svelte'; + import AgentQueueLogElement from './agent-queue-log-element.svelte'; /** @type {any[]} */ export let msgStateLogs = []; @@ -15,6 +11,9 @@ /** @type {any[]} */ export let agentQueueLogs = []; + /** @type {boolean} */ + export let autoScroll = false; + /** @type {() => void} */ export let closeWindow; @@ -24,6 +23,13 @@ /** @type {any} */ let scrollbars = []; + /** @type {boolean} */ + let closeMsgStateLog = false; + let closeAgentQueueLog = false; + + const msgStateLogTab = 1; + const agentQueueLogTab = 2; + const options = { scrollbars: { visibility: 'auto', @@ -38,7 +44,8 @@ onMount(async () => { const scrollbarElements = [ - document.querySelector('.msg-state-log-scrollbar') + document.querySelector('.msg-state-log-scrollbar'), + document.querySelector('.agent-queue-log-scrollbar') ].filter(Boolean); scrollbarElements.forEach(elem => { scrollbars = [ ...scrollbars, OverlayScrollbars(elem, options) ]; @@ -55,6 +62,10 @@ }); function refresh() { + // if (autoScroll) { + // closeMsgStateLog = true; + // closeAgentQueueLog = true; + // } scrollToBottom(); } @@ -70,12 +81,24 @@ function cleanLogs() { msgStateLogs = []; + agentQueueLogs = []; } function handleCleanScreen() { cleanLogs(); cleanScreen && cleanScreen(); } + + /** + * @param {number} type + */ + function closeLog(type) { + if (type === msgStateLogTab) { + closeMsgStateLog = true; + } else if (type === agentQueueLogTab) { + closeAgentQueueLog = true; + } + }
      @@ -100,22 +123,50 @@
    - - -
    -
      - {#each msgStateLogs as log} - - {/each} -
    +
    +
    +
    + {}} + on:click={() => closeLog(msgStateLogTab)} + > + + +
    +
    +
      + {#each msgStateLogs as log} + + {/each} +
    +
    +
    + +
    +
    + {}} + on:click={() => closeLog(agentQueueLogTab)} + > + + +
    +
    +
      + {#each agentQueueLogs as log} + + {/each} +
    +
    +
    - - + +
    \ No newline at end of file From 7944bb34602ccd855e0a1b9aabf481090ddc6542 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Sat, 22 Jun 2024 21:45:05 -0500 Subject: [PATCH 5/6] refine color --- src/lib/scss/custom/pages/_chat.scss | 12 ++++---- .../agent-queue-log-element.svelte | 2 +- .../instant-log/instant-log.svelte | 28 ++++++++----------- .../message-state-log-element.svelte | 2 +- 4 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/lib/scss/custom/pages/_chat.scss b/src/lib/scss/custom/pages/_chat.scss index 894247cf..d420a9b5 100644 --- a/src/lib/scss/custom/pages/_chat.scss +++ b/src/lib/scss/custom/pages/_chat.scss @@ -373,13 +373,13 @@ .instant-log-section { border-radius: 10px; - border: solid 3px yellow; - margin: 0px 30px; - flex: 0.5; + background-color: var(--bs-primary) !important; + margin: 0px 60px; + flex: 0 0 500px; display: flex; flex-direction: column; - height: 350px; - min-height: 350px; + height: 500px; + min-height: 500px; .close-icon { font-size: 20px; @@ -469,7 +469,7 @@ padding-left: 10px; .state-key { - color: var(--bs-primary); + // color: var(--bs-primary); } .state-source { diff --git a/src/routes/chat/[agentId]/[conversationId]/instant-log/agent-queue-log-element.svelte b/src/routes/chat/[agentId]/[conversationId]/instant-log/agent-queue-log-element.svelte index 8e72c7bc..d81915c4 100644 --- a/src/routes/chat/[agentId]/[conversationId]/instant-log/agent-queue-log-element.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/instant-log/agent-queue-log-element.svelte @@ -7,6 +7,6 @@
    - {data?.log} + {data?.log}
    \ No newline at end of file diff --git a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte index 1eca356c..8106ea73 100644 --- a/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte +++ b/src/routes/chat/[agentId]/[conversationId]/instant-log/instant-log.svelte @@ -23,10 +23,6 @@ /** @type {any} */ let scrollbars = []; - /** @type {boolean} */ - let closeMsgStateLog = false; - let closeAgentQueueLog = false; - const msgStateLogTab = 1; const agentQueueLogTab = 2; @@ -62,11 +58,9 @@ }); function refresh() { - // if (autoScroll) { - // closeMsgStateLog = true; - // closeAgentQueueLog = true; - // } - scrollToBottom(); + if (autoScroll) { + scrollToBottom(); + } } function scrollToBottom() { @@ -90,13 +84,13 @@ } /** - * @param {number} type + * @param {number} logType */ - function closeLog(type) { - if (type === msgStateLogTab) { - closeMsgStateLog = true; - } else if (type === agentQueueLogTab) { - closeAgentQueueLog = true; + function closeLog(logType) { + if (logType === msgStateLogTab) { + msgStateLogs = []; + } else if (logType === agentQueueLogTab) { + agentQueueLogs = []; } } @@ -124,7 +118,7 @@
    -
    +
    -
    +
    -
    +
    {`${data?.name}`} {#if !!data?.source} From a1d074b7789754aaf8bae8d4061af547499e9628 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Sat, 22 Jun 2024 21:46:53 -0500 Subject: [PATCH 6/6] minor change --- src/lib/scss/custom/pages/_chat.scss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/scss/custom/pages/_chat.scss b/src/lib/scss/custom/pages/_chat.scss index d420a9b5..78b7b4dd 100644 --- a/src/lib/scss/custom/pages/_chat.scss +++ b/src/lib/scss/custom/pages/_chat.scss @@ -385,7 +385,10 @@ font-size: 20px; color: red; padding: 0 5px; - cursor: pointer; + + i { + cursor: pointer; + } } } }