diff --git a/package-lock.json b/package-lock.json index 278d565b..a1f7d09b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@datadog/browser-rum": "^5.31.1", "@deriv-com/analytics": "^1.5.3", - "@deriv-com/auth-client": "^1.2.13", + "@deriv-com/auth-client": "^1.2.15", "@deriv-com/quill-ui": "1.18.1", "@deriv-com/translations": "^1.3.9", "@deriv-com/ui": "^1.37.1", @@ -2594,12 +2594,11 @@ } }, "node_modules/@deriv-com/auth-client": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/@deriv-com/auth-client/-/auth-client-1.2.13.tgz", - "integrity": "sha512-fHgG0AcPILhr/dWlb8Z5sWFI1D92uzd/6c4hSNwvTU369vLMY5IKoNHu8ERDR9reg9AiBMqVvNpk8Xc+kfwR0g==", + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@deriv-com/auth-client/-/auth-client-1.2.15.tgz", + "integrity": "sha512-tplrAeklKg/o1EZZXd6FSowvfwKzebzyUPLk0S/HN/tGeCDljCu8jo2aMXeJGzX9G338686nPYq2EnfeCnVgUg==", "dependencies": { "@deriv-com/utils": "^0.0.42", - "@testing-library/react": "^16.0.1", "js-cookie": "3.0.5", "oidc-client-ts": "^3.1.0" }, @@ -5342,6 +5341,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -5399,6 +5399,7 @@ "version": "16.0.1", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "dev": true, "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -5469,7 +5470,8 @@ "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -5813,7 +5815,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", - "devOptional": true, + "dev": true, "dependencies": { "@types/react": "*" } @@ -6692,6 +6694,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, "dependencies": { "dequal": "^2.0.3" } @@ -9548,6 +9551,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, "engines": { "node": ">=6" } @@ -9786,7 +9790,8 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true }, "node_modules/dom-converter": { "version": "0.2.0", @@ -20814,6 +20819,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -20827,6 +20833,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, @@ -20837,7 +20844,8 @@ "node_modules/pretty-format/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, "node_modules/pretty-ms": { "version": "9.1.0", diff --git a/package.json b/package.json index ea7fb10e..7f4fd7fd 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dependencies": { "@datadog/browser-rum": "^5.31.1", "@deriv-com/analytics": "^1.5.3", - "@deriv-com/auth-client": "^1.2.13", + "@deriv-com/auth-client": "^1.2.15", "@deriv-com/quill-ui": "1.18.1", "@deriv-com/translations": "^1.3.9", "@deriv-com/ui": "^1.37.1", diff --git a/src/app/App.tsx b/src/app/App.tsx index cd785eba..51110957 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -2,11 +2,11 @@ import { initSurvicate } from '../public-path'; import { Fragment, lazy, Suspense } from 'react'; import React from 'react'; import { createBrowserRouter, createRoutesFromElements, Route, RouterProvider } from 'react-router-dom'; +import ChunkLoader from '@/components/loader/chunk-loader'; import RoutePromptDialog from '@/components/route-prompt-dialog'; import CallbackPage from '@/pages/callback'; import Endpoint from '@/pages/endpoint'; import { initializeI18n, localize, TranslationProvider } from '@deriv-com/translations'; -import { Loader } from '@deriv-com/ui'; import { URLUtils } from '@deriv-com/utils'; import { StoreProvider } from '../hooks/useStore'; import CoreStoreProvider from './CoreStoreProvider'; @@ -26,14 +26,7 @@ const router = createBrowserRouter( path='/' element={ - -
- {localize('Please wait while we connect to the server...')} -
- - } + fallback={} > diff --git a/src/app/CoreStoreProvider.tsx b/src/app/CoreStoreProvider.tsx index 90313aec..60cb237f 100644 --- a/src/app/CoreStoreProvider.tsx +++ b/src/app/CoreStoreProvider.tsx @@ -90,7 +90,11 @@ const CoreStoreProvider: React.FC<{ children: React.ReactNode }> = observer(({ c const data = res.data as TSocketResponseData<'balance'>; const { msg_type, error } = data; - if (error?.code === 'AuthorizationRequired') { + if ( + error?.code === 'AuthorizationRequired' || + error?.code === 'DisabledClient' || + error?.code === 'InvalidToken' + ) { await oAuthLogout(); } diff --git a/src/app/app-content.jsx b/src/app/app-content.jsx index 2860b8a8..9e06dfc3 100644 --- a/src/app/app-content.jsx +++ b/src/app/app-content.jsx @@ -2,6 +2,7 @@ import React, { useEffect } from 'react'; import { observer } from 'mobx-react-lite'; import { ToastContainer } from 'react-toastify'; import useLiveChat from '@/components/chat/useLiveChat'; +import ChunkLoader from '@/components/loader/chunk-loader'; import { getUrlBase } from '@/components/shared'; import TncStatusUpdateModal from '@/components/tnc-status-update-modal'; import TransactionDetailsModal from '@/components/transaction-details'; @@ -15,7 +16,6 @@ import initDatadog from '@/utils/datadog'; import { setSmartChartsPublicPath } from '@deriv/deriv-charts'; import { ThemeProvider } from '@deriv-com/quill-ui'; import { localize } from '@deriv-com/translations'; -import { Loader } from '@deriv-com/ui'; import Audio from '../components/audio'; import BlocklyLoading from '../components/blockly-loading'; import BotStopped from '../components/bot-stopped'; @@ -159,10 +159,7 @@ const AppContent = observer(() => { if (common?.error) return null; return is_loading ? ( -
- -
{localize('Please wait while we connect to the server...')}
-
+ ) : ( <> diff --git a/src/app/app-root.scss b/src/app/app-root.scss index 12c71e2a..7f4095b3 100644 --- a/src/app/app-root.scss +++ b/src/app/app-root.scss @@ -1,11 +1,12 @@ .app-root { height: 100vh; + width: 100vw; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; .load-message { - margin-top: 9rem; + margin-top: 6rem; } } diff --git a/src/app/app-root.tsx b/src/app/app-root.tsx index 2b47fc6d..7ea13967 100644 --- a/src/app/app-root.tsx +++ b/src/app/app-root.tsx @@ -2,22 +2,17 @@ import { lazy, Suspense, useEffect, useRef, useState } from 'react'; import { observer } from 'mobx-react-lite'; import ErrorBoundary from '@/components/error-component/error-boundary'; import ErrorComponent from '@/components/error-component/error-component'; +import ChunkLoader from '@/components/loader/chunk-loader'; import TradingAssesmentModal from '@/components/trading-assesment-modal'; import { api_base } from '@/external/bot-skeleton'; import { useStore } from '@/hooks/useStore'; import { localize } from '@deriv-com/translations'; -import { Loader } from '@deriv-com/ui'; import './app-root.scss'; const AppContent = lazy(() => import('./app-content')); const AppRootLoader = () => { - return ( -
- -
{localize('Please wait while we connect to the server...')}
-
- ); + return ; }; const ErrorComponentWrapper = observer(() => { diff --git a/src/components/blockly-loading/blockly-loading.tsx b/src/components/blockly-loading/blockly-loading.tsx index b263b671..cad534b5 100644 --- a/src/components/blockly-loading/blockly-loading.tsx +++ b/src/components/blockly-loading/blockly-loading.tsx @@ -11,6 +11,7 @@ const BlocklyLoading = observer(() => { {is_loading && (
+
Loading Blockly...
)} diff --git a/src/components/layout/header/account-switcher.tsx b/src/components/layout/header/account-switcher.tsx index 391c557e..aa634160 100644 --- a/src/components/layout/header/account-switcher.tsx +++ b/src/components/layout/header/account-switcher.tsx @@ -119,7 +119,9 @@ const RenderAccountItems = ({ if (!account.is_disabled) switchAccount(account.loginid); }} onResetBalance={ - isVirtual && activeLoginId === account.loginid + isVirtual && + activeLoginId === account.loginid && + Number(account.balance) !== 10000 ? () => { api_base?.api?.send({ topup_virtual: 1, diff --git a/src/components/layout/header/header.scss b/src/components/layout/header/header.scss index 229af44c..6202247d 100644 --- a/src/components/layout/header/header.scss +++ b/src/components/layout/header/header.scss @@ -73,6 +73,10 @@ border-width: 1px; height: 2.4rem; min-width: 4.8rem; + + span { + color: var(--text-prominent) !important; + } } } } diff --git a/src/components/layout/index.tsx b/src/components/layout/index.tsx index 12d2ef8a..24fc1f38 100644 --- a/src/components/layout/index.tsx +++ b/src/components/layout/index.tsx @@ -35,7 +35,7 @@ const Layout = () => { - {isDesktop &&