diff --git a/src/actions/ConversationActions.js b/src/actions/ConversationActions.js index a25a8b8..d66e6d9 100644 --- a/src/actions/ConversationActions.js +++ b/src/actions/ConversationActions.js @@ -1,9 +1,9 @@ -import { groupBy, isNotEmpty, pick, sortArrayByOrder, sortBy } from '@/utils/commons'; +import { groupBy, isNotEmpty, pick, sortArrayByOrder, sortBy } from '@haina/utils-commons'; import { fetchJSON, postJSON, postForm } from '@/utils/request' import { parseRenderMessageList } from '@/channel/bubbleMsgUtils'; import { API_HOST } from '@/config'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import dayjs from 'dayjs'; /** diff --git a/src/actions/EmailActions.js b/src/actions/EmailActions.js index 2f11be9..9b814e1 100644 --- a/src/actions/EmailActions.js +++ b/src/actions/EmailActions.js @@ -1,6 +1,6 @@ import { fetchJSON, postForm, postJSON } from '@/utils/request'; import { API_HOST, API_HOST_V3, DATE_FORMAT, DATEEND_FORMAT, DATETIME_FORMAT, EMAIL_HOST, EMAIL_HOST_v3 } from '@/config'; -import { buildTree, groupBy, isEmpty, objectMapper, omitEmpty, uniqWith } from '@/utils/commons'; +import { buildTree, groupBy, isEmpty, objectMapper, omitEmpty, uniqWith } from '@haina/utils-commons'; import { readIndexDB, writeIndexDB } from '@/utils/indexedDB'; import dayjs from 'dayjs'; import { internalEventEmitter } from '@/utils/EventEmitterService'; diff --git a/src/channel/bubbleMsgUtils.js b/src/channel/bubbleMsgUtils.js index 6695da0..6f0c1eb 100644 --- a/src/channel/bubbleMsgUtils.js +++ b/src/channel/bubbleMsgUtils.js @@ -1,4 +1,4 @@ -import { cloneDeep, isEmpty, olog, fixTo2Decimals, pick, objectMapper } from "@/utils/commons"; +import { cloneDeep, isEmpty, olog, fixTo2Decimals, pick, objectMapper } from "@haina/utils-commons"; import dayjs from "dayjs"; import { v4 as uuid } from "uuid"; @@ -692,12 +692,12 @@ export const whatsappMsgTypeMapped = { unsupported: { type: 'text', data: (msg) => ({ id: msg.wamid, text: `[对方删除消息](${msg.wamid})`, dateString: `${dayjs(msg.sendTime).format('MM-DD HH:mm')} [ WhatsApp未提供消息内容 ] 客人删除消息/会话` }), - renderForReply: (msg) => ({ id: msg?.wamid || msg.id, message: `[Message type unsupported](${msg.wamid})` }), + renderForReply: (msg) => ({ id: msg?.wamid || msg?.id || '', message: `[Message type unsupported](${msg.wamid})` }), }, unresolvable: { type: 'text', data: (msg) => ({ id: msg.wamid, text: `[无法解析](${msg.wamid})`, }), - renderForReply: (msg) => ({ id: msg?.wamid || msg.id, message: `[无法解析](${msg.wamid})` }), + renderForReply: (msg) => ({ id: msg?.wamid || msg?.id || '', message: `[无法解析](${msg.wamid})` }), }, reaction: { type: 'text', diff --git a/src/components/DnDModal.jsx b/src/components/DnDModal.jsx index 9ee7714..135aac3 100644 --- a/src/components/DnDModal.jsx +++ b/src/components/DnDModal.jsx @@ -2,7 +2,7 @@ import { createContext, useEffect, useState } from 'react'; import {} from 'antd'; import Modal from '@dckj/react-better-modal'; import '@dckj/react-better-modal/dist/index.css'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import useStyleStore from '@/stores/StyleStore'; const DnDModal = ({ children, open, setOpen, onCancel, onMove, onResize, initial = {}, title, footer=null, ...props }) => { diff --git a/src/components/EditorInput.jsx b/src/components/EditorInput.jsx index cf61514..c101978 100644 --- a/src/components/EditorInput.jsx +++ b/src/components/EditorInput.jsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react' import LexicalEditor from '@/components/LexicalEditor' -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; /** * 封装的编辑组件, 用于在Form.Item 中使用 diff --git a/src/components/LexicalEditor/index.jsx b/src/components/LexicalEditor/index.jsx index 0b14f8d..cc3bf60 100644 --- a/src/components/LexicalEditor/index.jsx +++ b/src/components/LexicalEditor/index.jsx @@ -51,7 +51,7 @@ import FormatPaintPlugin from './plugins/FormatPaint'; import { TextNode, $getRoot, $getSelection, $createParagraphNode } from 'lexical'; import { $generateHtmlFromNodes, $generateNodesFromDOM, } from '@lexical/html'; // import { } from '@lexical/clipboard'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import {useSettings} from './context/SettingsContext'; import './styles.css'; diff --git a/src/components/OrderProfile.jsx b/src/components/OrderProfile.jsx index 767d5ff..8cee2db 100644 --- a/src/components/OrderProfile.jsx +++ b/src/components/OrderProfile.jsx @@ -16,7 +16,7 @@ import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { App, Flex, Select, Tooltip, Divider, Typography, Skeleton, Checkbox, Drawer, Button, Empty, Form, Input } from 'antd' import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions, remindStatusOptions } from '@/stores/OrderStore' -import { copy, isEmpty } from '@/utils/commons' +import { copy, isEmpty } from '@haina/utils-commons' import { useShallow } from 'zustand/react/shallow' import useConversationStore from '@/stores/ConversationStore' import useAuthStore from '@/stores/AuthStore' diff --git a/src/components/SearchInput.jsx b/src/components/SearchInput.jsx index 35ab651..eb3343f 100644 --- a/src/components/SearchInput.jsx +++ b/src/components/SearchInput.jsx @@ -1,6 +1,6 @@ import React, { useMemo, useRef, useState } from 'react'; import { Select, Spin } from 'antd'; -import { debounce } from '@/utils/commons'; +import { debounce } from '@haina/utils-commons'; function DebounceSelect({ fetchOptions, debounceTimeout = 800, ...props }) { const [fetching, setFetching] = useState(false); diff --git a/src/hooks/useConversation.js b/src/hooks/useConversation.js index 39d3dc7..6449102 100644 --- a/src/hooks/useConversation.js +++ b/src/hooks/useConversation.js @@ -1,7 +1,7 @@ import useAuthStore from '@/stores/AuthStore'; import useConversationStore from '@/stores/ConversationStore'; import { fetchConversationsList, fetchOrderConversationsList, postNewOrEditConversationItem } from '@/actions/ConversationActions'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; const CHAT_ITEM_RECORD = { "sn": null, diff --git a/src/hooks/useEmail.js b/src/hooks/useEmail.js index df793c8..36e305c 100644 --- a/src/hooks/useEmail.js +++ b/src/hooks/useEmail.js @@ -1,5 +1,5 @@ import { useState, useEffect, useCallback } from 'react' -import { isEmpty, objectMapper, olog, } from '@/utils/commons' +import { isEmpty, objectMapper, olog, } from '@haina/utils-commons' import { readIndexDB } from '@/utils/indexedDB' import { getEmailDetailAction, postResendEmailAction, getSalesSignatureAction, getEmailOrderAction, queryEmailListAction, searchEmailListAction, getReminderEmailTemplateAction, saveEmailDraftOrSendAction, updateEmailAction, getEmailChangesChannel, EMAIL_CHANNEL_NAME } from '@/actions/EmailActions' import { App } from 'antd' diff --git a/src/hooks/useGlobalNotify.js b/src/hooks/useGlobalNotify.js index fdc73a0..ffae0e2 100644 --- a/src/hooks/useGlobalNotify.js +++ b/src/hooks/useGlobalNotify.js @@ -1,5 +1,5 @@ import { useEffect } from 'react' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' import { App, notification } from 'antd' import useConversationStore from '@/stores/ConversationStore' diff --git a/src/maintenance/index.jsx b/src/maintenance/index.jsx index 1d91dd5..ef9dbcd 100644 --- a/src/maintenance/index.jsx +++ b/src/maintenance/index.jsx @@ -1,4 +1,4 @@ -import { clearAllCaches } from '@/utils/commons'; +import { clearAllCaches } from '@haina/utils-commons'; import { BUILD_VERSION, BUILD_DATE } from '@/config' const MaintenancePage = () => { diff --git a/src/stores/AuthStore.js b/src/stores/AuthStore.js index a70b85b..eb200b5 100644 --- a/src/stores/AuthStore.js +++ b/src/stores/AuthStore.js @@ -1,7 +1,7 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { fetchJSON } from '@/utils/request' -import { isEmpty, isNotEmpty } from '@/utils/commons' +import { isEmpty, isNotEmpty } from '@haina/utils-commons' import { API_HOST, BUILD_VERSION } from '@/config' import { usingStorage } from '@/utils/usingStorage'; diff --git a/src/stores/CallCenterStore.js b/src/stores/CallCenterStore.js index 99ffa81..f886da2 100644 --- a/src/stores/CallCenterStore.js +++ b/src/stores/CallCenterStore.js @@ -1,7 +1,7 @@ import { create } from "zustand"; import { VonageClient, ClientConfig, ConfigRegion, LoggingLevel } from '@vonage/client-sdk' import { fetchJSON } from "@/utils/request"; -import { prepareUrl, isNotEmpty, } from "@/utils/commons"; +import { prepareUrl, isNotEmpty, } from "@haina/utils-commons"; import { VONAGE_URL, DATETIME_FORMAT } from "@/config"; import dayjs from "dayjs"; diff --git a/src/stores/ConversationStore.js b/src/stores/ConversationStore.js index f8e463c..550ea8f 100644 --- a/src/stores/ConversationStore.js +++ b/src/stores/ConversationStore.js @@ -1,6 +1,6 @@ import { create } from 'zustand'; import { RealTimeAPI } from '@/channel/realTimeAPI'; -import { olog, isEmpty, groupBy, sortArrayByOrder, pick, sortKeys, omit, sortObjectsByKeysMap, merge } from '@/utils/commons'; +import { olog, isEmpty, groupBy, sortArrayByOrder, pick, sortKeys, omit, sortObjectsByKeysMap, merge } from '@haina/utils-commons'; import { logWebsocket, clean7DaysWebsocketLog } from '@/utils/indexedDB' import { receivedMsgTypeMapped, handleNotification } from '@/channel/bubbleMsgUtils'; import { fetchConversationsList, fetchTemplates, fetchConversationsSearch, UNREAD_MARK, fetchTags } from '@/actions/ConversationActions'; diff --git a/src/stores/CustomerRelationStore.js b/src/stores/CustomerRelationStore.js index 4645ff3..a82822f 100644 --- a/src/stores/CustomerRelationStore.js +++ b/src/stores/CustomerRelationStore.js @@ -2,7 +2,7 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { fetchJSON, postForm } from '@/utils/request' import { HT3, EMAIL_HOST } from '@/config' -import { isNotEmpty, prepareUrl } from '@/utils/commons' +import { isNotEmpty, prepareUrl } from '@haina/utils-commons' export const useCustomerRelationStore = create((set, get) => ({ loading: false, diff --git a/src/stores/EmailSlice.js b/src/stores/EmailSlice.js index d862837..0257a68 100644 --- a/src/stores/EmailSlice.js +++ b/src/stores/EmailSlice.js @@ -1,5 +1,5 @@ import { getEmailDirAction, getMailboxCountAction, getRootMailboxDirAction, getEmailChangesChannel, EMAIL_CHANNEL_NAME } from '@/actions/EmailActions' -import { buildTree, isEmpty, olog, sortArrayByOrder } from '@/utils/commons' +import { buildTree, isEmpty, olog, sortArrayByOrder } from '@haina/utils-commons' import { readIndexDB, writeIndexDB, createIndexedDBStore, clean7DaysMailboxLog } from '@/utils/indexedDB'; import { internalEventEmitter } from '@/utils/EventEmitterService'; diff --git a/src/stores/OrderStore.js b/src/stores/OrderStore.js index 1b6f421..262f56f 100644 --- a/src/stores/OrderStore.js +++ b/src/stores/OrderStore.js @@ -2,7 +2,7 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { fetchJSON, postForm, postJSON } from '@/utils/request' import { API_HOST, API_HOST_V3, EMAIL_HOST } from '@/config' -import { isEmpty, isNotEmpty, prepareUrl, uniqWith } from '@/utils/commons' +import { isEmpty, isNotEmpty, prepareUrl, uniqWith } from '@haina/utils-commons' const initialState = { orderList: [], diff --git a/src/stores/SnippetStore.js b/src/stores/SnippetStore.js index d4bb4e7..75546c8 100644 --- a/src/stores/SnippetStore.js +++ b/src/stores/SnippetStore.js @@ -2,7 +2,7 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { fetchJSON, postForm } from '@/utils/request' import { API_HOST } from '@/config' -import { copy } from '@/utils/commons' +import { copy } from '@haina/utils-commons' const useSnippetStore = create(devtools((set, get) => ({ diff --git a/src/utils/indexedDB.js b/src/utils/indexedDB.js index cf09e31..ba6a1d8 100644 --- a/src/utils/indexedDB.js +++ b/src/utils/indexedDB.js @@ -1,4 +1,4 @@ -import { isEmpty } from './commons'; +import { isEmpty } from '@haina/utils-commons'; /** * */ diff --git a/src/utils/pagespy.js b/src/utils/pagespy.js index f1a1c5e..dde5de8 100644 --- a/src/utils/pagespy.js +++ b/src/utils/pagespy.js @@ -1,4 +1,4 @@ -import { loadScript } from '@/utils/commons' +import { loadScript } from '@haina/utils-commons' import { fetchJSON } from '@/utils/request' import { readWebsocketLog } from '@/utils/indexedDB' import { BUILD_VERSION, BUILD_DATE } from '@/config' @@ -6,78 +6,78 @@ import { BUILD_VERSION, BUILD_DATE } from '@/config' /** * @deprecated */ -export const loadPageSpy = (title) => { - if (import.meta.env.DEV || window.$pageSpy) return +// export const loadPageSpy = (title) => { +// if (import.meta.env.DEV || window.$pageSpy) return - const PageSpyConfig = { api: 'page-spy.mycht.cn', project: 'Sales CRM', title: title + '(v' + BUILD_VERSION + ')', autoRender: false, offline: true } +// const PageSpyConfig = { api: 'page-spy.mycht.cn', project: 'Sales CRM', title: title + '(v' + BUILD_VERSION + ')', autoRender: false, offline: true } - const PageSpySrc = [ - 'https://page-spy.mycht.cn/page-spy/index.min.js' + `?${BUILD_DATE}`, - 'https://page-spy.mycht.cn/plugin/data-harbor/index.min.js' + `?${BUILD_DATE}`, - 'https://page-spy.mycht.cn/plugin/rrweb/index.min.js' + `?${BUILD_DATE}`, - ] - Promise.all(PageSpySrc.map((src) => loadScript(src))).then(() => { - // 注册插件 - window.$harbor = new DataHarborPlugin() - window.$rrweb = new RRWebPlugin() - ;[window.$harbor, window.$rrweb].forEach((p) => { - PageSpy.registerPlugin(p) - }) - window.$pageSpy = new PageSpy(PageSpyConfig) +// const PageSpySrc = [ +// 'https://page-spy.mycht.cn/page-spy/index.min.js' + `?${BUILD_DATE}`, +// 'https://page-spy.mycht.cn/plugin/data-harbor/index.min.js' + `?${BUILD_DATE}`, +// 'https://page-spy.mycht.cn/plugin/rrweb/index.min.js' + `?${BUILD_DATE}`, +// ] +// Promise.all(PageSpySrc.map((src) => loadScript(src))).then(() => { +// // 注册插件 +// window.$harbor = new DataHarborPlugin() +// window.$rrweb = new RRWebPlugin() +// ;[window.$harbor, window.$rrweb].forEach((p) => { +// PageSpy.registerPlugin(p) +// }) +// window.$pageSpy = new PageSpy(PageSpyConfig) - // PageSpy.registerPlugin(new DataHarborPlugin()); - // PageSpy.registerPlugin(new RRWebPlugin()); - // 实例化 PageSpy - // window.$pageSpy = new PageSpy({ api: 'page-spy.mycht.cn', project: 'Sales CRM', title: title + '(v' + BUILD_VERSION + ')', autoRender: false, offline: true, }); - console.log('[PageSpy]', window.$pageSpy.version) - // window.addEventListener('beforeunload', (e) => { - // e.preventDefault() // If you prevent default behavior in Mozilla Firefox - // e.returnValue = '' // Chrome requires returnValue to be set +// // PageSpy.registerPlugin(new DataHarborPlugin()); +// // PageSpy.registerPlugin(new RRWebPlugin()); +// // 实例化 PageSpy +// // window.$pageSpy = new PageSpy({ api: 'page-spy.mycht.cn', project: 'Sales CRM', title: title + '(v' + BUILD_VERSION + ')', autoRender: false, offline: true, }); +// console.log('[PageSpy]', window.$pageSpy.version) +// // window.addEventListener('beforeunload', (e) => { +// // e.preventDefault() // If you prevent default behavior in Mozilla Firefox +// // e.returnValue = '' // Chrome requires returnValue to be set - // window.$harbor.upload({ clearCache: false, remark: '自动上传' }) // 上传日志 { clearCache: true, remark: '' } - // }) - window.onerror = async function (msg, url, lineNo, columnNo, error) { - await readWebsocketLog() - // 上传最近 3 分钟的日志 - const now = Date.now() - await window.$harbor.uploadPeriods({ - startTime: now - 3 * 60000, - endTime: now, - remark: `\`onerror\`自动上传. ${msg}`, - }) - } - }) -} +// // window.$harbor.upload({ clearCache: false, remark: '自动上传' }) // 上传日志 { clearCache: true, remark: '' } +// // }) +// window.onerror = async function (msg, url, lineNo, columnNo, error) { +// await readWebsocketLog() +// // 上传最近 3 分钟的日志 +// const now = Date.now() +// await window.$harbor.uploadPeriods({ +// startTime: now - 3 * 60000, +// endTime: now, +// remark: `\`onerror\`自动上传. ${msg}`, +// }) +// } +// }) +// } /** * @deprecated */ -export const uploadPageSpyLog = async () => { - // window.$pageSpy.triggerPlugins('onOfflineLog', 'upload'); - // if (window.$pageSpy) { - // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } - // } +// export const uploadPageSpyLog = async () => { +// // window.$pageSpy.triggerPlugins('onOfflineLog', 'upload'); +// // if (window.$pageSpy) { +// // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } +// // } - if (import.meta.env.DEV) return true; +// if (import.meta.env.DEV) return true; - if (window.$pageSpy) { - try { - await readWebsocketLog() - // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } - // 上传最近 1 小时的日志, 直接upload 所有日志: 413 Payload Too Large - const now = Date.now(); - await window.$harbor.uploadPeriods({ - startTime: now - 60 * 60000, - endTime: now, - }); - return true; - } catch (error) { - return false; - } - } else { - return false; - } -} +// if (window.$pageSpy) { +// try { +// await readWebsocketLog() +// // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } +// // 上传最近 1 小时的日志, 直接upload 所有日志: 413 Payload Too Large +// const now = Date.now(); +// await window.$harbor.uploadPeriods({ +// startTime: now - 60 * 60000, +// endTime: now, +// }); +// return true; +// } catch (error) { +// return false; +// } +// } else { +// return false; +// } +// } export const sendNotify = async (message) => { @@ -101,25 +101,25 @@ export const sendNotify = async (message) => { /** * @deprecated */ - const uploadLog = async () => { - await readWebsocketLog() - if (window.$pageSpy) { - // window.$pageSpy.triggerPlugins('onOfflineLog', 'upload') - try { - // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } - // 上传最近 1 小时的日志, 直接upload 所有日志: 413 Payload Too Large - const now = Date.now() - await window.$harbor.uploadPeriods({ - startTime: now - 60 * 60000, - endTime: now, - }) - messageApi.info('Success') - // clearWebsocketLog() - sendNotify() - } catch (error) { - messageApi.error('Failure') - } - } else { - messageApi.error('Failure') - } - } + // const uploadLog = async () => { + // await readWebsocketLog() + // if (window.$pageSpy) { + // // window.$pageSpy.triggerPlugins('onOfflineLog', 'upload') + // try { + // // await window.$harbor.upload() // 上传日志 { clearCache: true, remark: '' } + // // 上传最近 1 小时的日志, 直接upload 所有日志: 413 Payload Too Large + // const now = Date.now() + // await window.$harbor.uploadPeriods({ + // startTime: now - 60 * 60000, + // endTime: now, + // }) + // messageApi.info('Success') + // // clearWebsocketLog() + // sendNotify() + // } catch (error) { + // messageApi.error('Failure') + // } + // } else { + // messageApi.error('Failure') + // } + // } diff --git a/src/views/CallCenter.jsx b/src/views/CallCenter.jsx index 3ce4ae6..8b2d7fa 100644 --- a/src/views/CallCenter.jsx +++ b/src/views/CallCenter.jsx @@ -2,7 +2,7 @@ import { useCallback, useState, useEffect } from "react"; import { Grid, Divider, Layout, Flex, Spin, Input, Col, Row, List, Typography, Alert } from "antd"; import { PhoneOutlined, CustomerServiceOutlined, AudioOutlined } from "@ant-design/icons"; import { useParams, useHref, useNavigate } from "react-router-dom"; -import { isEmpty } from "@/utils/commons"; +import { isEmpty } from "@haina/utils-commons"; import callCenterStore from "@/stores/CallCenterStore"; import useAuthStore from "@/stores/AuthStore"; diff --git a/src/views/ChatHistory.jsx b/src/views/ChatHistory.jsx index 2a41e33..dca15f5 100644 --- a/src/views/ChatHistory.jsx +++ b/src/views/ChatHistory.jsx @@ -6,7 +6,7 @@ import ConversationsList from './Conversations/History/ConversationsList'; import MessagesMatchList from './Conversations/History/MessagesMatchList'; import MessagesList from './Conversations/History/MessagesList'; import ImageAlbumPreview from './Conversations/History/ImageAlumPreview'; -import { flush, pick } from '@/utils/commons'; +import { flush, pick } from '@haina/utils-commons'; import { fetchConversationsSearch, CONVERSATION_PAGE_SIZE } from '@/actions/ConversationActions'; import EmailDetail from './Conversations/Online/Components/EmailDetail'; import SupplierEmailDrawer from './Conversations/Online/Components/EmailListDrawer'; diff --git a/src/views/ChatUnassign.jsx b/src/views/ChatUnassign.jsx index 4e83f2a..bac066b 100644 --- a/src/views/ChatUnassign.jsx +++ b/src/views/ChatUnassign.jsx @@ -6,7 +6,7 @@ import ConversationsList from './Conversations/History/ConversationsList'; import MessagesMatchList from './Conversations/History/MessagesMatchList'; import MessagesList from './Conversations/History/MessagesList'; import ImageAlbumPreview from './Conversations/History/ImageAlumPreview'; -import { flush, pick } from '@/utils/commons'; +import { flush, pick } from '@haina/utils-commons'; import { fetchConversationsSearch, fetchConversationsUnassigned } from '@/actions/ConversationActions'; const { Sider, Content } = Layout; diff --git a/src/views/ClearCache.jsx b/src/views/ClearCache.jsx index 1faf709..80d2272 100644 --- a/src/views/ClearCache.jsx +++ b/src/views/ClearCache.jsx @@ -1,6 +1,6 @@ import { createContext, useContext, useEffect, useState } from 'react'; import { App } from 'antd'; -import { calcCacheSizes, clearAllCaches } from '@/utils/commons'; +import { calcCacheSizes, clearAllCaches } from '@haina/utils-commons'; const ClearCache = (props) => { const { message } = App.useApp(); diff --git a/src/views/Conversations/History/MessagesList.jsx b/src/views/Conversations/History/MessagesList.jsx index 58832bf..c1169a6 100644 --- a/src/views/Conversations/History/MessagesList.jsx +++ b/src/views/Conversations/History/MessagesList.jsx @@ -4,7 +4,7 @@ import { LoadingOutlined } from '@ant-design/icons'; import { MessageBox } from 'react-chat-elements'; import { MESSAGE_PAGE_SIZE, fetchMessagesHistory } from '@/actions/ConversationActions'; import useFormStore from '@/stores/FormStore'; -import { isEmpty, stringToColour, groupBy, isNotEmpty, TagColorStyle } from '@/utils/commons'; +import { isEmpty, stringToColour, groupBy, isNotEmpty, TagColorStyle } from '@haina/utils-commons'; import { useShallow } from 'zustand/react/shallow'; import MergeConversationTo from './MergeConversationTo'; import BubbleIM from '../Online/Components/BubbleIM'; diff --git a/src/views/Conversations/History/MessagesMatchList.jsx b/src/views/Conversations/History/MessagesMatchList.jsx index 6c7a740..3f3906f 100644 --- a/src/views/Conversations/History/MessagesMatchList.jsx +++ b/src/views/Conversations/History/MessagesMatchList.jsx @@ -1,6 +1,6 @@ import { ChatItem } from 'react-chat-elements'; import useFormStore from '@/stores/FormStore'; -import { isNotEmpty } from '@/utils/commons'; +import { isNotEmpty } from '@haina/utils-commons'; const MessagesMatchList = ({ ...props }) => { const [formValues] = useFormStore((state) => [state.chatHistoryForm]); diff --git a/src/views/Conversations/History/SearchForm.jsx b/src/views/Conversations/History/SearchForm.jsx index fed37f1..bc21404 100644 --- a/src/views/Conversations/History/SearchForm.jsx +++ b/src/views/Conversations/History/SearchForm.jsx @@ -2,7 +2,7 @@ import { memo } from 'react'; import { Form, Flex, Input, Button, DatePicker, Select } from 'antd'; import SearchInput from '@/components/SearchInput'; -import { isNotEmpty } from '@/utils/commons'; +import { isNotEmpty } from '@haina/utils-commons'; import { fetchSalesAgentWithDD as fetchSalesAgent, fetchCustomerList } from '@/actions/CommonActions'; const { RangePicker } = DatePicker; diff --git a/src/views/Conversations/Online/Components/BubbleEmail.jsx b/src/views/Conversations/Online/Components/BubbleEmail.jsx index 8383f25..3dac9d5 100644 --- a/src/views/Conversations/Online/Components/BubbleEmail.jsx +++ b/src/views/Conversations/Online/Components/BubbleEmail.jsx @@ -2,7 +2,7 @@ import { memo } from 'react'; import { App } from 'antd'; import { MailOutlined } from '@ant-design/icons'; import { MessageBox } from 'react-chat-elements'; -import { isEmpty, } from '@/utils/commons'; +import { isEmpty, } from '@haina/utils-commons'; import { useEmailDetail, } from '@/hooks/useEmail'; const BubbleEmail = ({ onOpenEditor, onOpenEmail, ...message }) => { diff --git a/src/views/Conversations/Online/Components/BubbleIM.jsx b/src/views/Conversations/Online/Components/BubbleIM.jsx index 6498092..33cf033 100644 --- a/src/views/Conversations/Online/Components/BubbleIM.jsx +++ b/src/views/Conversations/Online/Components/BubbleIM.jsx @@ -2,7 +2,7 @@ import { memo } from 'react'; import { App, Button, Image } from 'antd'; import { ExportOutlined, CopyOutlined, PhoneOutlined } from '@ant-design/icons'; import { MessageBox } from 'react-chat-elements'; -import { groupBy, isEmpty, TagColorStyle } from '@/utils/commons'; +import { groupBy, isEmpty, TagColorStyle } from '@haina/utils-commons'; import { parseSimpleMarkdown } from '@/channel/bubbleMsgUtils'; import useConversationStore from '@/stores/ConversationStore'; import { useShallow } from 'zustand/react/shallow'; diff --git a/src/views/Conversations/Online/Components/ChatListFilter.jsx b/src/views/Conversations/Online/Components/ChatListFilter.jsx index ba3945a..98e0f2f 100644 --- a/src/views/Conversations/Online/Components/ChatListFilter.jsx +++ b/src/views/Conversations/Online/Components/ChatListFilter.jsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from 'react'; import { Button, Tag, Radio, Popover, Form, Space, Tooltip } from 'antd'; -import { isEmpty, objectMapper, TagColorStyle } from '@/utils/commons'; +import { isEmpty, objectMapper, TagColorStyle } from '@haina/utils-commons'; import useConversationStore from '@/stores/ConversationStore'; import { OrderLabelDefaultOptions } from '@/stores/OrderStore'; import { FilterOutlined, FilterTwoTone } from '@ant-design/icons'; diff --git a/src/views/Conversations/Online/Components/ChatListItem.jsx b/src/views/Conversations/Online/Components/ChatListItem.jsx index 0865a7a..77f54c2 100644 --- a/src/views/Conversations/Online/Components/ChatListItem.jsx +++ b/src/views/Conversations/Online/Components/ChatListItem.jsx @@ -5,7 +5,7 @@ import { CloseCircleOutlined, MinusCircleOutlined } from '@ant-design/icons'; import { fetchConversationItemClose, fetchConversationsSearch, fetchConversationItemUnread, fetchConversationItemTop, postConversationTags, deleteConversationTags, fetchCleanUnreadMsgCount } from '@/actions/ConversationActions'; import { ChatItem } from 'react-chat-elements'; // import ConversationsNewItem from './ConversationsNewItem'; -import { flush, isEmpty, isNotEmpty, stringToColour, TagColorStyle } from '@/utils/commons'; +import { flush, isEmpty, isNotEmpty, stringToColour, TagColorStyle } from '@haina/utils-commons'; import useConversationStore from '@/stores/ConversationStore'; import useAuthStore from '@/stores/AuthStore'; import ChannelLogo from './ChannelLogo'; diff --git a/src/views/Conversations/Online/Components/EmailBind.jsx b/src/views/Conversations/Online/Components/EmailBind.jsx index f6c999d..aa6371b 100644 --- a/src/views/Conversations/Online/Components/EmailBind.jsx +++ b/src/views/Conversations/Online/Components/EmailBind.jsx @@ -1,7 +1,7 @@ import { useState } from 'react' import { App, Modal, Button, Table, Form, Row, Col, Input, Checkbox } from 'antd' import { ApiOutlined } from '@ant-design/icons' -import { isEmpty, cloneDeep } from '@/utils/commons' +import { isEmpty, cloneDeep } from '@haina/utils-commons' import { fetchJSON } from '@/utils/request' import AdvanceSearchForm from '../../../orders/AdvanceSearchForm' import { API_HOST } from '@/config' diff --git a/src/views/Conversations/Online/Components/EmailDetail.jsx b/src/views/Conversations/Online/Components/EmailDetail.jsx index e0eeb8f..f6d4fbd 100644 --- a/src/views/Conversations/Online/Components/EmailDetail.jsx +++ b/src/views/Conversations/Online/Components/EmailDetail.jsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react' import { App, Button, Divider, Avatar } from 'antd' import { LoadingOutlined, ApiOutlined } from '@ant-design/icons'; import { EditIcon, ReplyIcon, ResendIcon, ShareForwardIcon } from '@/components/Icons' -import { isEmpty, TagColorStyle } from '@/utils/commons' +import { isEmpty, TagColorStyle } from '@haina/utils-commons' import EmailEditorPopup from '../Input/EmailEditorPopup' import DnDModal from '@/components/DnDModal' import useStyleStore from '@/stores/StyleStore' diff --git a/src/views/Conversations/Online/Components/EmailDetailInline.jsx b/src/views/Conversations/Online/Components/EmailDetailInline.jsx index c9af54e..f8209c6 100644 --- a/src/views/Conversations/Online/Components/EmailDetailInline.jsx +++ b/src/views/Conversations/Online/Components/EmailDetailInline.jsx @@ -2,7 +2,7 @@ import { useState, useEffect, useRef, useMemo } from 'react' import { App, Button, Divider, Avatar, List, Flex, Typography, Tooltip, Empty } from 'antd' import { LoadingOutlined, ApiOutlined, FilePdfOutlined, FileOutlined, FileWordOutlined, FileExcelOutlined, FileJpgOutlined, FileImageOutlined, FileTextOutlined, FileGifOutlined, GlobalOutlined, FileZipOutlined, DeleteOutlined, ExpandOutlined } from '@ant-design/icons' import { EditIcon, MailCheckIcon, ReplyAllIcon, ReplyIcon, ResendIcon, ShareForwardIcon, SendPlaneFillIcon, InboxIcon } from '@/components/Icons' -import { isEmpty, TagColorStyle } from '@/utils/commons' +import { isEmpty, TagColorStyle } from '@haina/utils-commons' import EmailEditorPopup from '../Input/EmailEditorPopup' import DnDModal from '@/components/DnDModal' import useStyleStore from '@/stores/StyleStore' diff --git a/src/views/Conversations/Online/Components/EmailListDrawer.jsx b/src/views/Conversations/Online/Components/EmailListDrawer.jsx index 9849138..1c2364a 100644 --- a/src/views/Conversations/Online/Components/EmailListDrawer.jsx +++ b/src/views/Conversations/Online/Components/EmailListDrawer.jsx @@ -4,7 +4,7 @@ import { CloseOutlined, DownloadOutlined } from '@ant-design/icons'; import dayjs from 'dayjs' import { InboxIcon, SendPlaneFillIcon, ExpandIcon } from '@/components/Icons' import EmailDetailInline from './EmailDetailInline' -import { debounce, isEmpty } from '@/utils/commons' +import { debounce, isEmpty } from '@haina/utils-commons' import useConversationStore from '@/stores/ConversationStore'; const EmailListDrawer = ({ showExpandBtn=true, title, list: otherEmailList, currentConversationID, opi_sn, oid, emailItem: clickItem, onOpenEditor, ...props }) => { diff --git a/src/views/Conversations/Online/Components/EmailQuotation.jsx b/src/views/Conversations/Online/Components/EmailQuotation.jsx index b959128..330bc70 100644 --- a/src/views/Conversations/Online/Components/EmailQuotation.jsx +++ b/src/views/Conversations/Online/Components/EmailQuotation.jsx @@ -5,7 +5,7 @@ import { useOrderStore } from '@/stores/OrderStore' import useAuthStore from '@/stores/AuthStore' import useConversationStore from '@/stores/ConversationStore' import { getEmailQuotationDraftAction } from '@/actions/EmailActions' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' const EmailQuotation = ({ sfi_sn, ...props }) => { const {notification} = App.useApp() diff --git a/src/views/Conversations/Online/Components/MessageListFilter.jsx b/src/views/Conversations/Online/Components/MessageListFilter.jsx index 2307357..59db520 100644 --- a/src/views/Conversations/Online/Components/MessageListFilter.jsx +++ b/src/views/Conversations/Online/Components/MessageListFilter.jsx @@ -3,7 +3,7 @@ import { App, Button, Popover, Tabs, List, Image, Avatar, Card, Flex, Space,Typo import { FileSearchOutlined, LoadingOutlined } from '@ant-design/icons'; import { RotateLeftOutlined, RotateRightOutlined, ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons' import { InboxIcon, SendPlaneFillIcon } from '@/components/Icons'; -import { groupBy, isEmpty, TagColorStyle as CalColorStyle } from '@/utils/commons'; +import { groupBy, isEmpty, TagColorStyle as CalColorStyle } from '@haina/utils-commons'; import { useShallow } from 'zustand/react/shallow'; import EmailDetail from './EmailDetail'; import { MESSAGE_PAGE_SIZE, fetchMessagesHistory } from '@/actions/ConversationActions'; diff --git a/src/views/Conversations/Online/ConversationBind.jsx b/src/views/Conversations/Online/ConversationBind.jsx index b1a4c49..e01002c 100644 --- a/src/views/Conversations/Online/ConversationBind.jsx +++ b/src/views/Conversations/Online/ConversationBind.jsx @@ -1,6 +1,6 @@ import { useState } from 'react'; import { App, Modal, Button, Table } from 'antd'; -import { isEmpty, cloneDeep } from '@/utils/commons'; +import { isEmpty, cloneDeep } from '@haina/utils-commons'; import { fetchJSON } from '@/utils/request'; import AdvanceSearchForm from './../../orders/AdvanceSearchForm'; import { API_HOST } from '@/config'; diff --git a/src/views/Conversations/Online/ConversationsList.jsx b/src/views/Conversations/Online/ConversationsList.jsx index f637f1d..6c85101 100644 --- a/src/views/Conversations/Online/ConversationsList.jsx +++ b/src/views/Conversations/Online/ConversationsList.jsx @@ -4,7 +4,7 @@ import { App, Input, Button, Empty, Tooltip, List } from 'antd'; import { PlusOutlined, LoadingOutlined, HistoryOutlined, FireOutlined,AudioTwoTone } from '@ant-design/icons'; import { fetchConversationsList, fetchOrderConversationsList, CONVERSATION_PAGE_SIZE } from '@/actions/ConversationActions'; import ConversationsNewItem from './ConversationsNewItem'; -import { debounce, flush, isEmpty, isNotEmpty, pick } from '@/utils/commons'; +import { debounce, flush, isEmpty, isNotEmpty, pick } from '@haina/utils-commons'; import useConversationStore from '@/stores/ConversationStore'; import useAuthStore from '@/stores/AuthStore'; // import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions } from "@/stores/OrderStore"; diff --git a/src/views/Conversations/Online/ConversationsNewItem.jsx b/src/views/Conversations/Online/ConversationsNewItem.jsx index 3bf6aeb..6e5de52 100644 --- a/src/views/Conversations/Online/ConversationsNewItem.jsx +++ b/src/views/Conversations/Online/ConversationsNewItem.jsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; import { Form, Input, Modal } from 'antd'; -import { isEmpty, isNotEmpty, pick } from '@/utils/commons'; +import { isEmpty, isNotEmpty, pick } from '@haina/utils-commons'; import useConversationStore from '@/stores/ConversationStore'; import { phoneNumberToWAID } from '@/channel/bubbleMsgUtils'; import { useConversationNewItem } from '@/hooks/useConversation'; diff --git a/src/views/Conversations/Online/Input/ComposerTools.jsx b/src/views/Conversations/Online/Input/ComposerTools.jsx index a2002ba..930394a 100644 --- a/src/views/Conversations/Online/Input/ComposerTools.jsx +++ b/src/views/Conversations/Online/Input/ComposerTools.jsx @@ -6,7 +6,7 @@ import InputMediaUpload from './MediaUpload' import PaymentlinkBtn from './PaymentlinkBtn' import SnippestBtn from './SnippestBtn' import useConversationStore from '@/stores/ConversationStore' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' const ComposerTools = ({ channel, invokeSendUploadMessage, invokeSendMessage, invokeUploadFileMessage, inputEmoji, ...props }) => { const websocket = useConversationStore((state) => state.websocket) diff --git a/src/views/Conversations/Online/Input/EmailComposer.jsx b/src/views/Conversations/Online/Input/EmailComposer.jsx index 62f3626..14429f2 100644 --- a/src/views/Conversations/Online/Input/EmailComposer.jsx +++ b/src/views/Conversations/Online/Input/EmailComposer.jsx @@ -4,11 +4,11 @@ import { DownOutlined, DollarOutlined, ExpandAltOutlined, ExpandOutlined, SendOu import EmailEditorPopup from './EmailEditorPopup' import useStyleStore from '@/stores/StyleStore' import useAuthStore from '@/stores/AuthStore' -// import { isEmpty, } from '@/utils/commons'; +// import { isEmpty, } from '@haina/utils-commons'; import useConversationStore from '@/stores/ConversationStore' import { useOrderStore } from '@/stores/OrderStore' import { EditIcon } from '@/components/Icons' -import { cloneDeep, isEmpty } from '@/utils/commons' +import { cloneDeep, isEmpty } from '@haina/utils-commons' import { v4 as uuid } from 'uuid' import { postSendEmail } from '@/actions/EmailActions' import { sentMsgTypeMapped, } from '@/channel/bubbleMsgUtils'; diff --git a/src/views/Conversations/Online/Input/EmailEditorPopup.jsx b/src/views/Conversations/Online/Input/EmailEditorPopup.jsx index 31ffb49..22f115a 100644 --- a/src/views/Conversations/Online/Input/EmailEditorPopup.jsx +++ b/src/views/Conversations/Online/Input/EmailEditorPopup.jsx @@ -10,7 +10,7 @@ import useAuthStore from '@/stores/AuthStore'; import LexicalEditor from '@/components/LexicalEditor'; import { v4 as uuid } from 'uuid'; -import { cloneDeep, debounce, isEmpty, } from '@/utils/commons'; +import { cloneDeep, debounce, isEmpty, } from '@haina/utils-commons'; import { writeIndexDB } from '@/utils/indexedDB'; import './EmailEditor.css'; import { postSendEmail } from '@/actions/EmailActions'; diff --git a/src/views/Conversations/Online/Input/InputComposer.jsx b/src/views/Conversations/Online/Input/InputComposer.jsx index a41cf73..06c0cc0 100644 --- a/src/views/Conversations/Online/Input/InputComposer.jsx +++ b/src/views/Conversations/Online/Input/InputComposer.jsx @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import useAuthStore from '@/stores/AuthStore'; import useConversationStore from '@/stores/ConversationStore'; import { SendOutlined, CloseCircleOutlined, LoadingOutlined, FileOutlined } from '@ant-design/icons' -import { isEmpty, } from '@/utils/commons'; +import { isEmpty, } from '@haina/utils-commons'; import { v4 as uuid } from 'uuid'; import { sentMsgTypeMapped, whatsappSupportFileTypes, uploadProgressSimulate, WABAccountsMapped } from '@/channel/bubbleMsgUtils'; import { OSS_URL as aliOSSHost, DEFAULT_WABA } from '@/config'; diff --git a/src/views/Conversations/Online/Input/MediaUpload.jsx b/src/views/Conversations/Online/Input/MediaUpload.jsx index 9f9bc2b..1637ed3 100644 --- a/src/views/Conversations/Online/Input/MediaUpload.jsx +++ b/src/views/Conversations/Online/Input/MediaUpload.jsx @@ -4,7 +4,7 @@ import { FileAddOutlined } from '@ant-design/icons'; import { v4 as uuid } from 'uuid'; import { API_HOST, OSS_URL as aliOSSHost } from '@/config'; import { whatsappSupportFileTypes, uploadProgressSimulate } from '@/channel/bubbleMsgUtils'; -import { isEmpty, sanitizeFilename } from '@/utils/commons'; +import { isEmpty, sanitizeFilename } from '@haina/utils-commons'; // import useConversationStore from '@/stores/ConversationStore'; const ImageUpload = ({ disabled, invokeUploadFileMessage, invokeSendUploadMessage }) => { diff --git a/src/views/Conversations/Online/Input/Template.jsx b/src/views/Conversations/Online/Input/Template.jsx index 15572bd..0b07416 100644 --- a/src/views/Conversations/Online/Input/Template.jsx +++ b/src/views/Conversations/Online/Input/Template.jsx @@ -3,9 +3,9 @@ import { App, Popover, Flex, Button, List, Input, Tabs, Tag, Alert, Divider } fr import { MessageOutlined, SendOutlined } from '@ant-design/icons'; import useAuthStore from '@/stores/AuthStore'; import useConversationStore from '@/stores/ConversationStore'; -import { cloneDeep, flush, getNestedValue, groupBy, objectMapper, removeFormattingChars, sortArrayByOrder, sortObjectsByKeysMap, TagColorStyle } from '@/utils/commons'; +import { cloneDeep, flush, getNestedValue, groupBy, objectMapper, removeFormattingChars, sortArrayByOrder, sortObjectsByKeysMap, TagColorStyle } from '@haina/utils-commons'; import { replaceTemplateString, whatsappTemplateBtnParamTypesMapped } from '@/channel/bubbleMsgUtils'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import useStyleStore from '@/stores/StyleStore'; const splitTemplate = (template) => { diff --git a/src/views/Conversations/Online/MessagesList.jsx b/src/views/Conversations/Online/MessagesList.jsx index 00e140c..526a8cb 100644 --- a/src/views/Conversations/Online/MessagesList.jsx +++ b/src/views/Conversations/Online/MessagesList.jsx @@ -4,7 +4,7 @@ import { App, Button } from 'antd'; import { DownOutlined, LoadingOutlined } from '@ant-design/icons'; import { useShallow } from 'zustand/react/shallow'; import useConversationStore from '@/stores/ConversationStore'; -import { groupBy, isEmpty, } from '@/utils/commons'; +import { groupBy, isEmpty, } from '@haina/utils-commons'; import BubbleEmail from './Components/BubbleEmail'; import BubbleIM from './Components/BubbleIM'; diff --git a/src/views/Conversations/Online/MessagesWrapper.jsx b/src/views/Conversations/Online/MessagesWrapper.jsx index fb87a6e..8994b78 100644 --- a/src/views/Conversations/Online/MessagesWrapper.jsx +++ b/src/views/Conversations/Online/MessagesWrapper.jsx @@ -11,7 +11,7 @@ import ConversationNewItem from './ConversationsNewItem'; import EmailEditorPopup from './Input/EmailEditorPopup'; import EmailDetail from './Components/EmailDetail'; import { useOrderStore, } from "@/stores/OrderStore"; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import useStyleStore from '@/stores/StyleStore'; import EmailListDrawer from './Components/EmailListDrawer'; import { POPUP_FEATURES } from '@/config'; diff --git a/src/views/Conversations/Online/ReplyWrapper.jsx b/src/views/Conversations/Online/ReplyWrapper.jsx index 8346976..d1d0dbd 100644 --- a/src/views/Conversations/Online/ReplyWrapper.jsx +++ b/src/views/Conversations/Online/ReplyWrapper.jsx @@ -7,7 +7,7 @@ import { WABIcon } from '@/components/Icons'; import useConversationStore from '@/stores/ConversationStore'; import { useShallow } from 'zustand/react/shallow'; import useStyleStore from '@/stores/StyleStore'; -import { isEmpty } from '@/utils/commons'; +import { isEmpty } from '@haina/utils-commons'; import { DEFAULT_CHANNEL } from '@/config'; import { WABAccounts, WABAccountsMapped } from '@/channel/bubbleMsgUtils'; import useAuthStore, { PERM_USE_WHATSAPP } from '@/stores/AuthStore'; diff --git a/src/views/Conversations/Online/order/CustomerProfile.jsx b/src/views/Conversations/Online/order/CustomerProfile.jsx index 2287fa1..48c0b58 100644 --- a/src/views/Conversations/Online/order/CustomerProfile.jsx +++ b/src/views/Conversations/Online/order/CustomerProfile.jsx @@ -4,7 +4,7 @@ import { useEffect, useState, useRef, useCallback } from "react"; import { useNavigate, } from "react-router-dom"; import { useShallow } from 'zustand/react/shallow'; -import { copy, isEmpty } from "@/utils/commons"; +import { copy, isEmpty } from "@haina/utils-commons"; import { Conditional } from "@/components/Conditional"; import useConversationStore from "@/stores/ConversationStore"; import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions, remindStatusOptions, fetchSetRemindStateAction, remindStatusOptionsMapped } from "@/stores/OrderStore"; diff --git a/src/views/NewEmail.jsx b/src/views/NewEmail.jsx index 85590c6..3e9e5c3 100644 --- a/src/views/NewEmail.jsx +++ b/src/views/NewEmail.jsx @@ -9,7 +9,7 @@ import useAuthStore from '@/stores/AuthStore' import LexicalEditor from '@/components/LexicalEditor' import { v4 as uuid } from 'uuid' -import { cloneDeep, debounce, isEmpty, olog, omitEmpty } from '@/utils/commons' +import { cloneDeep, debounce, isEmpty, olog, omitEmpty } from '@haina/utils-commons' import { writeIndexDB, readIndexDB, deleteIndexDBbyKey, } from '@/utils/indexedDB'; import '@/views/Conversations/Online/Input/EmailEditor.css' diff --git a/src/views/ReloadPrompt.jsx b/src/views/ReloadPrompt.jsx index 647bd03..e6a3d51 100644 --- a/src/views/ReloadPrompt.jsx +++ b/src/views/ReloadPrompt.jsx @@ -1,5 +1,5 @@ // import './ReloadPrompt.css'; -import { clearAllCaches } from '@/utils/commons'; +import { clearAllCaches } from '@haina/utils-commons'; import { useRegisterSW } from 'virtual:pwa-register/react'; // import { pwaInfo } from 'virtual:pwa-info'; @@ -65,7 +65,7 @@ function ReloadPrompt({ force, ...props }) { needRefresh ? updateServiceWorker(true) : forceReload() }}> {force ? '系统更新' : `新版本发布了,点击👉马上更新`}{needRefresh && '🚀'} - } type="info" showIcon icon={'🎉'} /> + } type="info" showIcon={needRefresh} icon={needRefresh ? '🎉' : null} /> )} diff --git a/src/views/accounts/HtmlPreview.jsx b/src/views/accounts/HtmlPreview.jsx index e58f66a..3ea2118 100644 --- a/src/views/accounts/HtmlPreview.jsx +++ b/src/views/accounts/HtmlPreview.jsx @@ -1,6 +1,6 @@ import { Empty, Skeleton, Divider, Flex, Button } from 'antd' import { Conditional } from '@/components/Conditional' -import { isNotEmpty } from '@/utils/commons' +import { isNotEmpty } from '@haina/utils-commons' const HtmlPreview = (props) => { const { loading = false, value, onEdit, onCopied, onDelete } = props diff --git a/src/views/accounts/LocalWhatsAppQRCode.jsx b/src/views/accounts/LocalWhatsAppQRCode.jsx index a5639ff..4ea9daf 100644 --- a/src/views/accounts/LocalWhatsAppQRCode.jsx +++ b/src/views/accounts/LocalWhatsAppQRCode.jsx @@ -4,7 +4,7 @@ import { ReloadOutlined, CheckCircleFilled, ExclamationCircleFilled } from '@ant import useAuthStore from '@/stores/AuthStore' import { fetchQRCode } from '@/actions/WaiAction' import useConversationStore from '@/stores/ConversationStore' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' // 把 QR Code 转换成二维码,用来本地测试 WhatsApp Baileys 框架 const LocalWhatsAppQRCode = () => { diff --git a/src/views/accounts/Profile.jsx b/src/views/accounts/Profile.jsx index 2d2a814..e6b8410 100644 --- a/src/views/accounts/Profile.jsx +++ b/src/views/accounts/Profile.jsx @@ -6,7 +6,7 @@ import { Conditional } from '@/components/Conditional' import { PERM_USE_WHATSAPP } from '@/stores/AuthStore' import { usingStorage } from '@/utils/usingStorage'; -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' import { WAI_SERVER_KEY } from '@/config'; import WAIQRCode from './WAIQRCode'; diff --git a/src/views/accounts/WAIQRCode.jsx b/src/views/accounts/WAIQRCode.jsx index 5a7273b..6e781a3 100644 --- a/src/views/accounts/WAIQRCode.jsx +++ b/src/views/accounts/WAIQRCode.jsx @@ -4,7 +4,7 @@ import { ReloadOutlined, CheckCircleFilled, ExclamationCircleFilled } from '@ant import useAuthStore from '@/stores/AuthStore' import { fetchQRCode } from '@/actions/WaiAction' import useConversationStore from '@/stores/ConversationStore' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' const connectionStateMappedQRCodeState = { open: 'scanned', diff --git a/src/views/dingding/Callback.jsx b/src/views/dingding/Callback.jsx index 47cb48e..f42c09a 100644 --- a/src/views/dingding/Callback.jsx +++ b/src/views/dingding/Callback.jsx @@ -1,5 +1,5 @@ import useAuthStore from '@/stores/AuthStore' -import { isNotEmpty } from '@/utils/commons' +import { isNotEmpty } from '@haina/utils-commons' import { Flex, Result, Spin } from 'antd' import { useEffect } from 'react' import { useNavigate } from 'react-router-dom' @@ -82,4 +82,4 @@ function Callback() { } } -export default Callback \ No newline at end of file +export default Callback diff --git a/src/views/dingding/Login.jsx b/src/views/dingding/Login.jsx index 0fbbf85..dc3dfac 100644 --- a/src/views/dingding/Login.jsx +++ b/src/views/dingding/Login.jsx @@ -1,7 +1,7 @@ import { Flex, Result, Spin } from 'antd' import { useState } from 'react' import { useNavigate } from 'react-router-dom' -import { isNotEmpty } from '@/utils/commons' +import { isNotEmpty } from '@haina/utils-commons' import * as dd from 'dingtalk-jsapi' // 获取微应用免登授权码 diff --git a/src/views/orders/AdvanceSearchForm.jsx b/src/views/orders/AdvanceSearchForm.jsx index dbe9fb2..16d0d27 100644 --- a/src/views/orders/AdvanceSearchForm.jsx +++ b/src/views/orders/AdvanceSearchForm.jsx @@ -1,5 +1,5 @@ import { OrderLabelDefaultOptions, OrderStatusDefaultOptions, RemindStateDefaultOptions } from '@/stores/OrderStore'; -import { copy, objectMapper } from '@/utils/commons'; +import { copy, objectMapper } from '@haina/utils-commons'; import { Button, Col, DatePicker, Form, Input, Row, Select } from 'antd'; import dayjs from 'dayjs'; import { memo } from 'react'; diff --git a/src/views/orders/Follow.jsx b/src/views/orders/Follow.jsx index d1bcd94..90c1000 100644 --- a/src/views/orders/Follow.jsx +++ b/src/views/orders/Follow.jsx @@ -1,5 +1,5 @@ import useAuthStore from '@/stores/AuthStore' -import { pick } from '@/utils/commons' +import { pick } from '@haina/utils-commons' import { UnorderedListOutlined, LeftOutlined } from '@ant-design/icons' import { Flex, Segmented, Tree, Typography, Layout, Splitter, Button, Tooltip, Badge } from 'antd' import { useEffect, useMemo, useState, useRef } from 'react' diff --git a/src/views/orders/components/MailBox.jsx b/src/views/orders/components/MailBox.jsx index 95f727d..0d196a3 100644 --- a/src/views/orders/components/MailBox.jsx +++ b/src/views/orders/components/MailBox.jsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react' import { ReloadOutlined, RightOutlined, LeftOutlined, MailOutlined, DeleteOutlined, CloseCircleOutlined } from '@ant-design/icons' import { Flex, Button, Tooltip, List, Checkbox, Space, Breadcrumb, Skeleton } from 'antd' import { useEmailList } from '@/hooks/useEmail' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' import { MailboxDirIcon } from './MailboxDirIcon' import { AttachmentIcon, MailCheckIcon } from '@/components/Icons' import NewEmailButton from './NewEmailButton' diff --git a/src/views/orders/components/MailOrderSearchModal.jsx b/src/views/orders/components/MailOrderSearchModal.jsx index 18f230f..1de548c 100644 --- a/src/views/orders/components/MailOrderSearchModal.jsx +++ b/src/views/orders/components/MailOrderSearchModal.jsx @@ -3,7 +3,7 @@ import { SearchOutlined } from '@ant-design/icons' import { Button, Modal, Form, Input, Checkbox, Radio, DatePicker, Divider, Typography, Flex } from 'antd' import dayjs from 'dayjs' import { getEmailDirAction, queryHTOrderListAction, } from '@/actions/EmailActions' -import { isEmpty, objectMapper, pick } from '@/utils/commons' +import { isEmpty, objectMapper, pick } from '@haina/utils-commons' import useConversationStore from '@/stores/ConversationStore' const MailOrderSearchModal = ({ ...props }) => { diff --git a/src/views/orders/components/NewEmailButton.jsx b/src/views/orders/components/NewEmailButton.jsx index f4099f5..a5ec143 100644 --- a/src/views/orders/components/NewEmailButton.jsx +++ b/src/views/orders/components/NewEmailButton.jsx @@ -2,7 +2,7 @@ import { useMemo } from 'react' import { App, Dropdown } from 'antd' import useConversationStore from '@/stores/ConversationStore' import { emailTemplates, openPopup } from '@/hooks/useEmail' -import { isEmpty } from '@/utils/commons' +import { isEmpty } from '@haina/utils-commons' const NewEmailButton = ({ ...props }) => { const { notification } = App.useApp()