From 591e7f6936987cb3c1f834427d4c56d87ec19e33 Mon Sep 17 00:00:00 2001 From: Prince Date: Sat, 19 Oct 2024 16:50:09 +0400 Subject: [PATCH 1/6] fix: add livechat widget call check --- .../Components/poi/status/limited/limited.tsx | 2 +- .../account/src/Configs/poi-error-config.tsx | 2 +- .../wallets-migration-failed.tsx | 2 +- .../cashier-locked/cashier-locked-provider.tsx | 16 ++++++++-------- .../side-notes/side-note-faq/side-note-faq.tsx | 2 +- .../cashier-onboarding-side-note-fiat.tsx | 2 +- .../src/modules/deposit-fiat/deposit-fiat.tsx | 2 +- .../open-livechat-link/open-livechat-link.tsx | 2 +- .../one-time-deposit-modal-content.tsx | 2 +- .../change-account-currency.jsx | 2 +- .../RealAccountSignup/signup-error-content.jsx | 7 +++++-- .../src/App/Containers/Redirect/redirect.jsx | 2 +- packages/core/src/Stores/notification-store.js | 14 +++++++------- .../hooks/src/useIsLiveChatWidgetAvailable.ts | 2 +- packages/hooks/src/useLiveChat.ts | 2 +- .../dp2p-blocked/dp2p-blocked-description.tsx | 2 +- .../ad-visibility-error-modal.tsx | 2 +- .../constants/phone-number-verification.tsx | 2 +- .../NeedHelpMessage/NeedHelpMessage.tsx | 2 +- .../DepositLocked/DepositLockedContent.tsx | 4 ++-- .../WithdrawalLocked/WithdrawalLockedContent.tsx | 2 +- 21 files changed, 39 insertions(+), 36 deletions(-) diff --git a/packages/account/src/Components/poi/status/limited/limited.tsx b/packages/account/src/Components/poi/status/limited/limited.tsx index 2ecc3383d653..8a00dbaa05ba 100644 --- a/packages/account/src/Components/poi/status/limited/limited.tsx +++ b/packages/account/src/Components/poi/status/limited/limited.tsx @@ -13,7 +13,7 @@ export const POILimited = () => ( window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> diff --git a/packages/account/src/Configs/poi-error-config.tsx b/packages/account/src/Configs/poi-error-config.tsx index 7857c92c1c6f..5de8fdf86989 100644 --- a/packages/account/src/Configs/poi-error-config.tsx +++ b/packages/account/src/Configs/poi-error-config.tsx @@ -5,7 +5,7 @@ import { Localize } from '@deriv/translations'; import { DerivLightNameDobPoiIcon, DerivLightDobPoiIcon, DerivLightNamePoiIcon } from '@deriv/quill-icons'; import { getIDVDocumentType } from '../Helpers/utils'; -const handleOnClick = () => window.LiveChatWidget.call('maximize'); +const handleOnClick = () => window.LiveChatWidget?.call('maximize'); export const GENERIC_ERROR_MESSAGE = ( diff --git a/packages/appstore/src/components/modals/wallets-migration-failed/wallets-migration-failed.tsx b/packages/appstore/src/components/modals/wallets-migration-failed/wallets-migration-failed.tsx index 264c6166284a..3128265a566a 100644 --- a/packages/appstore/src/components/modals/wallets-migration-failed/wallets-migration-failed.tsx +++ b/packages/appstore/src/components/modals/wallets-migration-failed/wallets-migration-failed.tsx @@ -16,7 +16,7 @@ const WalletsMigrationFailed = observer(() => { }; const handleLivechatButtonClick = () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); setWalletsMigrationFailedPopup(false); }; diff --git a/packages/cashier/src/components/cashier-locked/cashier-locked-provider.tsx b/packages/cashier/src/components/cashier-locked/cashier-locked-provider.tsx index 53afe1f1405b..e0824673dc59 100644 --- a/packages/cashier/src/components/cashier-locked/cashier-locked-provider.tsx +++ b/packages/cashier/src/components/cashier-locked/cashier-locked-provider.tsx @@ -130,7 +130,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -147,7 +147,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -378,7 +378,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -395,7 +395,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -471,7 +471,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -488,7 +488,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -505,7 +505,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -531,7 +531,7 @@ const getMessage = ({ window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> diff --git a/packages/cashier/src/components/side-notes/side-note-faq/side-note-faq.tsx b/packages/cashier/src/components/side-notes/side-note-faq/side-note-faq.tsx index 78fe6aeb4055..7d46da17c886 100644 --- a/packages/cashier/src/components/side-notes/side-note-faq/side-note-faq.tsx +++ b/packages/cashier/src/components/side-notes/side-note-faq/side-note-faq.tsx @@ -14,7 +14,7 @@ const SideNoteFAQ = ({ transaction_type }: TSideNoteFAQProps) => { const { isMobile } = useDevice(); const { is_eu } = client; - const onClickHandler = () => window.LiveChatWidget.call('maximize'); + const onClickHandler = () => window.LiveChatWidget?.call('maximize'); const deposit_faq_list = useMemo(() => { return [ diff --git a/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx b/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx index 86cfe0348dd1..03380c78ad82 100644 --- a/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx +++ b/packages/cashier/src/modules/cashier-onboarding/components/cashier-onboarding-side-notes/cashier-onboarding-side-note-fiat.tsx @@ -19,7 +19,7 @@ const CashierOnboardingSideNoteFiat: React.FC = observer(() => { window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} /> ), ]} diff --git a/packages/cashier/src/modules/deposit-fiat/deposit-fiat.tsx b/packages/cashier/src/modules/deposit-fiat/deposit-fiat.tsx index b1027bfdbdfb..f048c884f02e 100644 --- a/packages/cashier/src/modules/deposit-fiat/deposit-fiat.tsx +++ b/packages/cashier/src/modules/deposit-fiat/deposit-fiat.tsx @@ -11,7 +11,7 @@ const DepositFiat: React.FC = observer(() => { const { common, traders_hub } = useStore(); const { is_from_derivgo } = common; const { is_low_risk_cr_eu_real } = traders_hub; - const onClickHandler = () => window.LiveChatWidget.call('maximize'); + const onClickHandler = () => window.LiveChatWidget?.call('maximize'); return ( window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} > {children || } diff --git a/packages/core/src/App/Containers/OneTimeDepositModal/one-time-deposit-modal-content.tsx b/packages/core/src/App/Containers/OneTimeDepositModal/one-time-deposit-modal-content.tsx index 99e7cd03fb2d..3929b63759e2 100644 --- a/packages/core/src/App/Containers/OneTimeDepositModal/one-time-deposit-modal-content.tsx +++ b/packages/core/src/App/Containers/OneTimeDepositModal/one-time-deposit-modal-content.tsx @@ -9,7 +9,7 @@ import DepositCrypto from '@deriv/cashier/src/modules/deposit-crypto/components/ export const OneTimeDepositModalContent = ({ is_crypto_provider = false }: { is_crypto_provider?: boolean }) => { const { isDesktop } = useDevice(); - const onLiveChatClick = () => window.LiveChatWidget.call('maximize'); + const onLiveChatClick = () => window.LiveChatWidget?.call('maximize'); return (
{ closeRealAccountSignup(); - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }} />, ]} diff --git a/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx b/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx index 346dd109bb90..136e83ded9b9 100644 --- a/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx +++ b/packages/core/src/App/Containers/RealAccountSignup/signup-error-content.jsx @@ -53,7 +53,7 @@ const Message = ({ code, message, details }) => { window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> @@ -105,7 +105,10 @@ const ErrorCTA = ({ code, onConfirm }) => { return ; case 'DuplicateAccount': return ( - window.LiveChatWidget.call('maximize')} /> + window.LiveChatWidget?.call('maximize')} + /> ); case 'InputValidationFailed': case 'PoBoxInAddress': diff --git a/packages/core/src/App/Containers/Redirect/redirect.jsx b/packages/core/src/App/Containers/Redirect/redirect.jsx index f31909f72637..242e76f48c9d 100644 --- a/packages/core/src/App/Containers/Redirect/redirect.jsx +++ b/packages/core/src/App/Containers/Redirect/redirect.jsx @@ -45,7 +45,7 @@ const Redirect = observer(() => { } const openLivechat = () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }; const url_query_string = window.location.search; diff --git a/packages/core/src/Stores/notification-store.js b/packages/core/src/Stores/notification-store.js index f868e19756ab..57e6793e6510 100644 --- a/packages/core/src/Stores/notification-store.js +++ b/packages/core/src/Stores/notification-store.js @@ -823,7 +823,7 @@ export default class NotificationStore extends BaseStore { message: localize('Please contact us via live chat to unlock it.'), action: { onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to live chat'), }, @@ -1077,7 +1077,7 @@ export default class NotificationStore extends BaseStore { message: localize('Please contact us via live chat to enable withdrawals.'), action: { onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to live chat'), }, @@ -1273,7 +1273,7 @@ export default class NotificationStore extends BaseStore { ), action: { onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to live chat'), }, @@ -1386,7 +1386,7 @@ export default class NotificationStore extends BaseStore { message: localize('Please contact us via live chat.'), action: { onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to live chat'), }, @@ -1398,7 +1398,7 @@ export default class NotificationStore extends BaseStore { message: localize('Please contact us via live chat to enable withdrawals.'), action: { onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to live chat'), }, @@ -1573,7 +1573,7 @@ export default class NotificationStore extends BaseStore { ), action: { onClick: async () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, text: localize('Go to LiveChat'), }, @@ -1741,7 +1741,7 @@ export default class NotificationStore extends BaseStore { : { text: localize('Contact live chat'), onClick: () => { - window.LiveChatWidget.call('maximize'); + window.LiveChatWidget?.call('maximize'); }, }; diff --git a/packages/hooks/src/useIsLiveChatWidgetAvailable.ts b/packages/hooks/src/useIsLiveChatWidgetAvailable.ts index a8a4bf7031d4..0c2255969546 100644 --- a/packages/hooks/src/useIsLiveChatWidgetAvailable.ts +++ b/packages/hooks/src/useIsLiveChatWidgetAvailable.ts @@ -4,7 +4,7 @@ const useIsLiveChatWidgetAvailable = () => { const [is_livechat_available, setIsLivechatAvailable] = useState(false); useEffect(() => { - window.LiveChatWidget.on('ready', data => { + window.LiveChatWidget?.on('ready', data => { if (data.state.availability === 'online') setIsLivechatAvailable(true); }); }, []); diff --git a/packages/hooks/src/useLiveChat.ts b/packages/hooks/src/useLiveChat.ts index 44310642c145..3d63130d6944 100644 --- a/packages/hooks/src/useLiveChat.ts +++ b/packages/hooks/src/useLiveChat.ts @@ -38,7 +38,7 @@ const useLiveChat = (client_information: TLiveChatClientInformation) => { useEffect(() => { if (is_client_store_initialized && cs_chat_livechat) { - window.LiveChatWidget.init(); + window.LiveChatWidget?.init(); } }, [is_client_store_initialized, cs_chat_livechat]); diff --git a/packages/p2p/src/components/dp2p-blocked/dp2p-blocked-description.tsx b/packages/p2p/src/components/dp2p-blocked/dp2p-blocked-description.tsx index ad8ad941cea5..2bc7728f2b51 100644 --- a/packages/p2p/src/components/dp2p-blocked/dp2p-blocked-description.tsx +++ b/packages/p2p/src/components/dp2p-blocked/dp2p-blocked-description.tsx @@ -34,7 +34,7 @@ const Dp2pBlockedDescription = () => { window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> diff --git a/packages/p2p/src/components/modal-manager/modals/ad-visibility-error-modal/ad-visibility-error-modal.tsx b/packages/p2p/src/components/modal-manager/modals/ad-visibility-error-modal/ad-visibility-error-modal.tsx index f82692d2ffd1..0153fa909c37 100644 --- a/packages/p2p/src/components/modal-manager/modals/ad-visibility-error-modal/ad-visibility-error-modal.tsx +++ b/packages/p2p/src/components/modal-manager/modals/ad-visibility-error-modal/ad-visibility-error-modal.tsx @@ -49,7 +49,7 @@ const AdVisibilityErrorModal = ({ error_code }: TAdVisibilityErrorModalProps) => window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> diff --git a/packages/shared/src/utils/constants/phone-number-verification.tsx b/packages/shared/src/utils/constants/phone-number-verification.tsx index c1e3086c21cd..c8d3d27a5a13 100644 --- a/packages/shared/src/utils/constants/phone-number-verification.tsx +++ b/packages/shared/src/utils/constants/phone-number-verification.tsx @@ -34,7 +34,7 @@ export const getUseRequestPhoneNumberOTPErrorMessage = ( window.LiveChatWidget.call('maximize')} + onClick={() => window.LiveChatWidget?.call('maximize')} />, ]} /> diff --git a/packages/wallets/src/features/accounts/modules/TaxInformation/components/NeedHelpMessage/NeedHelpMessage.tsx b/packages/wallets/src/features/accounts/modules/TaxInformation/components/NeedHelpMessage/NeedHelpMessage.tsx index adca42a7272a..0ae52dd3eb2f 100644 --- a/packages/wallets/src/features/accounts/modules/TaxInformation/components/NeedHelpMessage/NeedHelpMessage.tsx +++ b/packages/wallets/src/features/accounts/modules/TaxInformation/components/NeedHelpMessage/NeedHelpMessage.tsx @@ -3,7 +3,7 @@ import { Localize } from '@deriv-com/translations'; import { InlineMessage, Text } from '@deriv-com/ui'; const NeedHelpMessage = () => { - const onClickLiveChat = () => window.LiveChatWidget.call('maximize'); + const onClickLiveChat = () => window.LiveChatWidget?.call('maximize'); return (
diff --git a/packages/wallets/src/features/cashier/modules/DepositLocked/DepositLockedContent.tsx b/packages/wallets/src/features/cashier/modules/DepositLocked/DepositLockedContent.tsx index 863cd6ced9e5..5090c93a2378 100644 --- a/packages/wallets/src/features/cashier/modules/DepositLocked/DepositLockedContent.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositLocked/DepositLockedContent.tsx @@ -87,7 +87,7 @@ const getDepositLockedDesc = ({