From e589f0a5775c0bba4e1672bf41364fc996f8b3ff Mon Sep 17 00:00:00 2001 From: Dmytro Shcherbonos Date: Mon, 4 Nov 2024 22:32:03 +0200 Subject: [PATCH 1/4] Long-term closed session modal --- public/locales/en-US/translations.json | 7 +- .../LongTermClosedSessionModal.js | 48 ++++++++++++ src/modals/ModalsWrapper/ModalsWrapper.js | 2 + src/redux/actions/ws.js | 5 ++ src/redux/constants/modals.js | 2 + src/redux/constants/ws.js | 1 + src/redux/middleware/ws/on_message.js | 10 +-- src/redux/reducers/ws/api_client.js | 2 +- src/redux/sagas/ws/index.js | 2 + src/redux/sagas/ws/on_client_status_update.js | 73 +++++++++++++++++++ 10 files changed, 141 insertions(+), 11 deletions(-) create mode 100644 src/modals/LongTermClosedSessionModal/LongTermClosedSessionModal.js create mode 100644 src/redux/sagas/ws/on_client_status_update.js diff --git a/public/locales/en-US/translations.json b/public/locales/en-US/translations.json index ef56b99db..01db1f413 100644 --- a/public/locales/en-US/translations.json +++ b/public/locales/en-US/translations.json @@ -447,6 +447,10 @@ "reboot": "Reboot", "restart": "Restart" }, + "longTermClosedSessionModal": { + "title": "Warning - session closed for too long", + "description": "The connection to Bitfinex has been down for over 30 minutes, this might have brought instabilities to your trading operations. Please review carefully all your current trading activity on LIVE mode." + }, "noConnectionActionModal": { "title": "Connection issue", "description": "This action can't be run because the app is encountering connection issues.\nWe are trying to reconnect automatically.\nTry again once you see 'WS connected' present on the status bar at the bottom right-corner." @@ -920,7 +924,8 @@ "launchNoSave": "Launch without saving", "updateAndRestart": "Update and Restart", "saveAndContinue": "Save and Continue", - "starred": "Starred" + "starred": "Starred", + "continueToApp": "Continue to the App" }, "crashHandler": { "text1": "An error occurred that caused the Bitfinex Honey UI to halt. Please, restart the application to proceed working with it", diff --git a/src/modals/LongTermClosedSessionModal/LongTermClosedSessionModal.js b/src/modals/LongTermClosedSessionModal/LongTermClosedSessionModal.js new file mode 100644 index 000000000..fa9499876 --- /dev/null +++ b/src/modals/LongTermClosedSessionModal/LongTermClosedSessionModal.js @@ -0,0 +1,48 @@ +import React from 'react' +import { useDispatch, useSelector } from 'react-redux' + +import { Trans, useTranslation } from 'react-i18next' +import { getUIModalStateForKey } from '../../redux/selectors/ui' +import { UI_MODAL_KEYS } from '../../redux/constants/modals' +import UIActions from '../../redux/actions/ui' +import Modal from '../../ui/Modal' + +const LongTermClosedSessionModal = () => { + const isVisible = useSelector(state => getUIModalStateForKey( + state, + UI_MODAL_KEYS.LONG_TERM_CLOSED_SESSION_MODAL, + )) + + const dispatch = useDispatch() + const { t } = useTranslation() + + const onClose = () => dispatch(UIActions.changeUIModalState( + UI_MODAL_KEYS.LONG_TERM_CLOSED_SESSION_MODAL, + false, + )) + + return ( + + , + }} + /> + + + {t('ui.continueToApp')} + + + + ) +} + +export default LongTermClosedSessionModal diff --git a/src/modals/ModalsWrapper/ModalsWrapper.js b/src/modals/ModalsWrapper/ModalsWrapper.js index 0c36e9003..51c58c9db 100644 --- a/src/modals/ModalsWrapper/ModalsWrapper.js +++ b/src/modals/ModalsWrapper/ModalsWrapper.js @@ -3,6 +3,7 @@ import PropTypes from 'prop-types' import AppSettingsModal from '../AppSettingsModal' import CloseSessionModal from '../CloseSessionModal' import DMSRemovalDisclaimerModal from '../DMSRemovalDisclaimerModal' +import LongTermClosedSessionModal from '../LongTermClosedSessionModal/LongTermClosedSessionModal' const BadConnectionModal = lazy(() => import('../BadConnectionModal')) const NoConnectionActionModal = lazy(() => import('../NoConnectionActionModal')) @@ -29,6 +30,7 @@ const ModalsWrapper = ({ isElectronApp }) => { )} + diff --git a/src/redux/actions/ws.js b/src/redux/actions/ws.js index e7d98e7e2..b17abf82c 100644 --- a/src/redux/actions/ws.js +++ b/src/redux/actions/ws.js @@ -148,6 +148,11 @@ export default { payload: { balance }, }), + setAPIClientStatus: ({ status, mode }) => ({ + type: t.DATA_SET_API_CLIENT_STATUS, + payload: { status, mode }, + }), + recvOrders: ({ orders }) => ({ type: t.DATA_ORDERS, payload: { orders }, diff --git a/src/redux/constants/modals.js b/src/redux/constants/modals.js index e83990df3..6a2a95927 100644 --- a/src/redux/constants/modals.js +++ b/src/redux/constants/modals.js @@ -14,4 +14,6 @@ export const UI_MODAL_KEYS = { RESET_PAPER_API_KEY_MODAL: 'ResetPaperApiKeyModal', HELP_US_IMPROVE_HONEY_MODAL: 'HelpUsImproveHoneyModal', DMS_REMOVAL_DISCLAIMER: 'DMSRemovalDisclaimerModal', + LONG_TERM_CLOSED_SESSION_MODAL: 'longTermClosedSessionModal', + LONG_TERM_CLOSED_SESSION_MODAL_ALREADY_SHOWN: 'longTermClosedSessionModalAlreadyShown', } diff --git a/src/redux/constants/ws.js b/src/redux/constants/ws.js index f68bafd1d..727a1ea0a 100644 --- a/src/redux/constants/ws.js +++ b/src/redux/constants/ws.js @@ -32,6 +32,7 @@ export default { DATA_API_CREDENTIALS_CONFIGURED: 'WS_DATA_API_CREDENTIALS_CONFIGURED', UPDATE_API_CREDENTIALS_CONFIGURED: 'WS_UPDATE_API_CREDENTIALS_CONFIGURED', DATA_CLIENT_STATUS_UPDATE: 'WS_DATA_CLIENT_STATUS_UPDATE', + DATA_SET_API_CLIENT_STATUS: 'WS_DATA_SET_API_CLIENT_STATUS', DATA_POSITIONS: 'WS_DATA_POSITIONS', DATA_POSITION: 'WS_DATA_POSITION', DATA_POSITION_CLOSE: 'WS_DATA_POSITION_CLOSE', diff --git a/src/redux/middleware/ws/on_message.js b/src/redux/middleware/ws/on_message.js index 9b214553a..0a6bd0c68 100644 --- a/src/redux/middleware/ws/on_message.js +++ b/src/redux/middleware/ws/on_message.js @@ -17,7 +17,7 @@ import tokenStore from '../../../util/token_store' import { isElectronApp, HONEY_AUTH_URL } from '../../config' import { UI_MODAL_KEYS } from '../../constants/modals' import { UI_KEYS } from '../../constants/ui_keys' -import { WS_CONNECTION } from '../../constants/ws' + import { SETTINGS_KEYS, getCurrentStrategy } from '../../selectors/ui' import { LOG_LEVELS } from '../../../constants/logging' @@ -323,14 +323,6 @@ export default (alias, store) => (e = {}) => { const [, , mode, status] = payload store.dispatch(WSActions.recvClientStatusUpdate({ status, mode })) - if (status === WS_CONNECTION.CLOSED) { - store.dispatch(UIActions.setUIValue(UI_KEYS.isBadInternetConnection, true)) - } - - if (status === WS_CONNECTION.OPENED) { - store.dispatch(UIActions.setUIValue(UI_KEYS.isBadInternetConnection, false)) - } - break } diff --git a/src/redux/reducers/ws/api_client.js b/src/redux/reducers/ws/api_client.js index e1f9da12a..25bbb8154 100644 --- a/src/redux/reducers/ws/api_client.js +++ b/src/redux/reducers/ws/api_client.js @@ -12,7 +12,7 @@ export default function (state = getInitialState(), action = {}) { const { type, payload = {} } = action switch (type) { - case t.DATA_CLIENT_STATUS_UPDATE: { + case t.DATA_SET_API_CLIENT_STATUS: { const { status, mode } = payload return { diff --git a/src/redux/sagas/ws/index.js b/src/redux/sagas/ws/index.js index bcaad39b4..818c36f1b 100644 --- a/src/redux/sagas/ws/index.js +++ b/src/redux/sagas/ws/index.js @@ -15,6 +15,7 @@ import onResetData from './on_reset_data' import onExportStrategiesBeforeReset from './on_export_strategies_before_reset_data.js' import onAlgoOrderStopped from './on_ao_stopped' import cancelAlgoOrder from './cancel_algo_order' +import onClientStatusUpdate from './on_client_status_update' export default function* () { yield takeEvery(t.BUFF_SEND, messageQueueWorker) @@ -29,6 +30,7 @@ export default function* () { yield takeEvery(t.DATA_ALGO_ORDER_STOPPED, onAlgoOrderStopped) yield takeLatest(t.EXPORT_STRATEGIES_ON_RESET, onExportStrategiesBeforeReset) yield takeEvery(t.CANCEL_ALGO_ORDER, cancelAlgoOrder) + yield takeEvery(t.DATA_CLIENT_STATUS_UPDATE, onClientStatusUpdate) yield fork(connectionWorker) yield fork(pingRebootAppWorker) diff --git a/src/redux/sagas/ws/on_client_status_update.js b/src/redux/sagas/ws/on_client_status_update.js new file mode 100644 index 000000000..a27124aa0 --- /dev/null +++ b/src/redux/sagas/ws/on_client_status_update.js @@ -0,0 +1,73 @@ +import _isEmpty from 'lodash/isEmpty' +import { put, select } from 'redux-saga/effects' + +import { WS_CONNECTION } from '../../constants/ws' +import { UI_KEYS } from '../../constants/ui_keys' +import UIActions from '../../actions/ui' +import WSActions from '../../actions/ws' +import { UI_MODAL_KEYS } from '../../constants/modals' +import { + getActiveStrategies, + getFilteredLocalAlgoOrders, + getSocket, +} from '../../selectors/ws' +import { getUIModalStateForKey } from '../../selectors/ui' +import { getAPIClientState } from '../../selectors/ws/api_client_state' + +const LONG_TERM_CLOSED_SESSION_MODAL_DELAY = 30 * 60 * 1000 // 30m + +function* longTermModalStateSwitch(state) { + yield put( + UIActions.changeUIModalState( + UI_MODAL_KEYS.LONG_TERM_CLOSED_SESSION_MODAL, + state, + ), + ) + yield put( + UIActions.changeUIModalState( + UI_MODAL_KEYS.LONG_TERM_CLOSED_SESSION_MODAL_ALREADY_SHOWN, + state, + ), + ) +} + +export default function* onClientStatusUpdate({ payload }) { + const { status } = payload + + const lastStatus = yield select(getAPIClientState) + const activeStrategies = yield select(getActiveStrategies) + const algoOrders = yield select(getFilteredLocalAlgoOrders) + + const isStatusChanged = status !== lastStatus + + const isLongTermClosedSessionModalAlreadyShown = yield select((state) => getUIModalStateForKey( + state, + UI_MODAL_KEYS.LONG_TERM_CLOSED_SESSION_MODAL_ALREADY_SHOWN, + ), + ) + + if (status === WS_CONNECTION.CLOSED) { + if (isStatusChanged) { + yield put(UIActions.setUIValue(UI_KEYS.isBadInternetConnection, true)) + } + + const socket = yield select(getSocket) + if ( + (!_isEmpty(activeStrategies) || !_isEmpty(algoOrders)) + && !isLongTermClosedSessionModalAlreadyShown + && socket?.lastActivity + && Date.now() - socket.lastActivity >= LONG_TERM_CLOSED_SESSION_MODAL_DELAY + ) { + yield longTermModalStateSwitch(true) + } + } + + if (status === WS_CONNECTION.OPENED) { + if (isStatusChanged) { + yield put(UIActions.setUIValue(UI_KEYS.isBadInternetConnection, false)) + } + yield longTermModalStateSwitch(false) + } + + yield put(WSActions.setAPIClientStatus(payload)) +} From 9dae2d696e48f55643ab80fcb74f21946b14b100 Mon Sep 17 00:00:00 2001 From: Dmytro Shcherbonos Date: Fri, 8 Nov 2024 14:14:51 +0200 Subject: [PATCH 2/4] Removed BadConnectionModal, due to DMS removal --- public/locales/en-US/translations.json | 7 --- public/locales/es-EM/translations.json | 10 ---- public/locales/pt-BR/translations.json | 10 ---- public/locales/ru-RU/translations.json | 10 ---- public/locales/tr-TR/translations.json | 10 ---- public/locales/zh-CN/translations.json | 10 ---- public/locales/zh-TW/translations.json | 10 ---- .../BadConnectionModal.container.js | 16 ------ .../BadConnectionModal/BadConnectionModal.js | 52 ------------------- src/modals/BadConnectionModal/index.js | 3 -- src/modals/BadConnectionModal/style.scss | 8 --- src/modals/ModalsWrapper/ModalsWrapper.js | 2 - 12 files changed, 148 deletions(-) delete mode 100644 src/modals/BadConnectionModal/BadConnectionModal.container.js delete mode 100644 src/modals/BadConnectionModal/BadConnectionModal.js delete mode 100644 src/modals/BadConnectionModal/index.js delete mode 100644 src/modals/BadConnectionModal/style.scss diff --git a/public/locales/en-US/translations.json b/public/locales/en-US/translations.json index 01db1f413..5514e9e7c 100644 --- a/public/locales/en-US/translations.json +++ b/public/locales/en-US/translations.json @@ -440,13 +440,6 @@ "title": "Atomic Orders", "noOrders": "No active atomic orders" }, - "badConnectionModal": { - "title": "Connection issue", - "description": "There has been a connection issue, all running strategies and algorithmic orders have been cancelled.", - "checkbox": "{{action}} automatically", - "reboot": "Reboot", - "restart": "Restart" - }, "longTermClosedSessionModal": { "title": "Warning - session closed for too long", "description": "The connection to Bitfinex has been down for over 30 minutes, this might have brought instabilities to your trading operations. Please review carefully all your current trading activity on LIVE mode." diff --git a/public/locales/es-EM/translations.json b/public/locales/es-EM/translations.json index 33bee8d70..99c61adcd 100644 --- a/public/locales/es-EM/translations.json +++ b/public/locales/es-EM/translations.json @@ -358,16 +358,6 @@ "title": "Órdenes Atómicas", "noOrders": "Sin órdenes atómicas activas" }, - "badConnectionModal": { - "title": "Error de conexión", - "text1": "Hemos notado varios problemas de conexión a internet. Es necesario {{action}} la aplicación para continuar con el funcionamiento normal.", - "text2": "Asegúrate de tener una conexión a internet estable y buena.", - "text3": "Bitfinex Honey hará {{action}} después de presionar 'Aceptar'.", - "text4": "La aplicación hará {{action}} automáticamente en {{countdown}} segundos.", - "checkbox": "{{action}} automáticamente", - "reboot": "reiniciar", - "restart": "Reiniciar" - }, "balancesTableModal": { "title": "Balances", "hideZeroCheckbox": "Ocultar Balances Cero", diff --git a/public/locales/pt-BR/translations.json b/public/locales/pt-BR/translations.json index 160c07463..34ec2545c 100644 --- a/public/locales/pt-BR/translations.json +++ b/public/locales/pt-BR/translations.json @@ -358,16 +358,6 @@ "title": "Ordens Atomic", "noOrders": "Nenhuma ordem atomic ativa" }, - "badConnectionModal": { - "title": "Problema com a conexão", - "text1": "Notamos vários problemas de conexão com a internet. É necessário {{action}} o aplicativo para que ele continue a funcionar normalmente.", - "text2": "Certifique-se de ter uma conexão com a internet estável e boa.", - "text3": "O Bitfinex Honey irá {{action}} depois de você pressionar \"Ok\".", - "text4": "O aplicativo irá {{action}} automaticamente em {{countdown}} segundos.", - "checkbox": "{{action}} automaticamente", - "reboot": "reiniciar", - "restart": "Reiniciar" - }, "balancesTableModal": { "title": "Saldos", "hideZeroCheckbox": "Ocultar saldos de Zero", diff --git a/public/locales/ru-RU/translations.json b/public/locales/ru-RU/translations.json index 97f74fdcf..6a9aa07ec 100644 --- a/public/locales/ru-RU/translations.json +++ b/public/locales/ru-RU/translations.json @@ -358,16 +358,6 @@ "title": "Atomic ордеры", "noOrders": "Нет активных atomic ордеров" }, - "badConnectionModal": { - "title": "Не удалось подключиться", - "text1": "Мы заметили проблемы с подключением к Интернету. Для продолжения нормальной работы необходимо выполнить {{action}} приложения.", - "text2": "Убедитесь, что у вас стабильное и хорошее интернет-соединение.", - "text3": "Bitfinex Honey совершит {{action}} после того, как вы нажмете «ОК».", - "text4": "Приложение автоматически совершит {{action}} через {{countdown}} секунд.", - "checkbox": "совершать {{action}} автоматически", - "reboot": "перезагрузку", - "restart": "Перезапуск" - }, "balancesTableModal": { "title": "Балансы", "hideZeroCheckbox": "Скрыть небольшие остатки", diff --git a/public/locales/tr-TR/translations.json b/public/locales/tr-TR/translations.json index 0e7fee91e..520a293d1 100644 --- a/public/locales/tr-TR/translations.json +++ b/public/locales/tr-TR/translations.json @@ -358,16 +358,6 @@ "title": "Atomic Orders", "noOrders": "No active atomic orders" }, - "badConnectionModal": { - "title": "Connection issue", - "text1": "Birkaç internet bağlantısı sorunu fark ettik. Normal çalışmaya devam edebilmek için uygulamanın {{action}} yapılması gerekir.", - "text2": "Please make sure you have stable and good internet connection.", - "text3": "Bitfinex Honey, siz 'Tamam' a bastıktan sonra {{action}} yapacaktır.", - "text4": "Uygulama, {{countdown}} saniye içinde otomatik olarak {{action}} yapacaktır.", - "checkbox": "Otomatik olarak {{action}}", - "reboot": "yeniden başlat", - "restart": "Yeniden Başlat" - }, "balancesTableModal": { "title": "Balances", "hideZeroCheckbox": "Hide Zero Balances", diff --git a/public/locales/zh-CN/translations.json b/public/locales/zh-CN/translations.json index 91735b501..a6b82e1b0 100644 --- a/public/locales/zh-CN/translations.json +++ b/public/locales/zh-CN/translations.json @@ -358,16 +358,6 @@ "title": "自动订单", "noOrders": "无待成交自动订单" }, - "badConnectionModal": { - "title": "连接问题", - "text1": "我们注意到数次连接问题。此需{{action}} 应用程式以继续正常运作。", - "text2": "请确保您有稳定且良好的网路连接", - "text3": "点击Okay后,将{{action}} Bitfinex Honey。", - "text4": "将于{{countdown}} 秒内,自动{{action}} 应用程式。", - "checkbox": "自动{{action}}", - "reboot": "重新启用", - "restart": "重新开始" - }, "balancesTableModal": { "title": "余额", "hideZeroCheckbox": "隐藏无余额", diff --git a/public/locales/zh-TW/translations.json b/public/locales/zh-TW/translations.json index a1f4137d8..836cfdc87 100644 --- a/public/locales/zh-TW/translations.json +++ b/public/locales/zh-TW/translations.json @@ -358,16 +358,6 @@ "title": "自動訂單", "noOrders": "無待執行的自動訂單" }, - "badConnectionModal": { - "title": "連線問題", - "text1": "網路連線發生問題。 請 {{action}} 應用程序以恢復正常運作。", - "text2": "請確保您的網路連線狀態穩定且良好。", - "text3": "按下「Okay」後,Bitfinex Honey 將 {{action}}。", - "text4": "此應用程序將在 {{countdown}} 秒後自動 {{action}}。", - "checkbox": "自動 {{action}}", - "reboot": "重新加載", - "restart": "重新啟動" - }, "balancesTableModal": { "title": "餘額", "hideZeroCheckbox": "隱藏0餘額", diff --git a/src/modals/BadConnectionModal/BadConnectionModal.container.js b/src/modals/BadConnectionModal/BadConnectionModal.container.js deleted file mode 100644 index 5c56912e6..000000000 --- a/src/modals/BadConnectionModal/BadConnectionModal.container.js +++ /dev/null @@ -1,16 +0,0 @@ -import { connect } from 'react-redux' -import UIActions from '../../redux/actions/ui' -import { UI_KEYS } from '../../redux/constants/ui_keys' -import { getUIState } from '../../redux/selectors/ui' - -import BadConnectionModal from './BadConnectionModal' - -const mapStateToProps = (state = {}) => ({ - visible: getUIState(state, UI_KEYS.isBadInternetConnection, false), -}) - -const mapDispatchToProps = dispatch => ({ - changeBadInternetConnectionState: (visible) => dispatch(UIActions.setUIValue(UI_KEYS.isBadInternetConnection, visible)), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(BadConnectionModal) diff --git a/src/modals/BadConnectionModal/BadConnectionModal.js b/src/modals/BadConnectionModal/BadConnectionModal.js deleted file mode 100644 index a5aac2266..000000000 --- a/src/modals/BadConnectionModal/BadConnectionModal.js +++ /dev/null @@ -1,52 +0,0 @@ -import React, { memo } from 'react' -import PropTypes from 'prop-types' - -import { useTranslation } from 'react-i18next' -import Modal from '../../ui/Modal' -import { isElectronApp } from '../../redux/config' - -import './style.css' - -const BadConnection = ({ - changeBadInternetConnectionState, visible, -}) => { - const { t } = useTranslation() - - const onClose = () => { - changeBadInternetConnectionState(false) - } - - const onRestart = () => { - const path = isElectronApp ? '/index.html' : '' - location.replace(path) // eslint-disable-line - } - - const action = isElectronApp ? t('badConnectionModal.reboot') : t('badConnectionModal.restart') - - return ( - -

{t('badConnectionModal.description')}

- - - {action} - - - {t('ui.ok')} - - -
- ) -} - -BadConnection.propTypes = { - changeBadInternetConnectionState: PropTypes.func.isRequired, - visible: PropTypes.bool.isRequired, -} - -export default memo(BadConnection) diff --git a/src/modals/BadConnectionModal/index.js b/src/modals/BadConnectionModal/index.js deleted file mode 100644 index bdc9aba3c..000000000 --- a/src/modals/BadConnectionModal/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import BadConnectionModal from './BadConnectionModal.container' - -export default BadConnectionModal diff --git a/src/modals/BadConnectionModal/style.scss b/src/modals/BadConnectionModal/style.scss deleted file mode 100644 index bf3cdbace..000000000 --- a/src/modals/BadConnectionModal/style.scss +++ /dev/null @@ -1,8 +0,0 @@ -.hfui-bad-conn-modal__wrapper { - .modal__body .modal__footer { - display: flex; - justify-content: flex-end; - align-items: baseline; - margin-left: 0; - } -} diff --git a/src/modals/ModalsWrapper/ModalsWrapper.js b/src/modals/ModalsWrapper/ModalsWrapper.js index 51c58c9db..bcb2c1045 100644 --- a/src/modals/ModalsWrapper/ModalsWrapper.js +++ b/src/modals/ModalsWrapper/ModalsWrapper.js @@ -5,7 +5,6 @@ import CloseSessionModal from '../CloseSessionModal' import DMSRemovalDisclaimerModal from '../DMSRemovalDisclaimerModal' import LongTermClosedSessionModal from '../LongTermClosedSessionModal/LongTermClosedSessionModal' -const BadConnectionModal = lazy(() => import('../BadConnectionModal')) const NoConnectionActionModal = lazy(() => import('../NoConnectionActionModal')) const OldFormatModal = lazy(() => import('../OldFormatModal')) const AOPauseModal = lazy(() => import('../AOPauseModal')) @@ -29,7 +28,6 @@ const ModalsWrapper = ({ isElectronApp }) => { )} - From 78362071115b36c5a49cddba638661dea52394fb Mon Sep 17 00:00:00 2001 From: Dmytro Shcherbonos Date: Fri, 8 Nov 2024 15:40:17 +0200 Subject: [PATCH 3/4] New icon --- src/components/Navbar/style.scss | 4 ++-- src/pages/Authentication/style.scss | 9 +++++-- src/ui/HFIcon/index.js | 37 +++++++++-------------------- 3 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/components/Navbar/style.scss b/src/components/Navbar/style.scss index 8603e4ea6..9a6c8fb48 100644 --- a/src/components/Navbar/style.scss +++ b/src/components/Navbar/style.scss @@ -32,9 +32,9 @@ body.hosted { transition: margin-top 0.2s ease-in; .hfui-navbar__logo { - width: 83px; - margin-right: spacing(); + margin-right: spacing(0.5); height: 100%; + width: 100px; } &.marginTop { diff --git a/src/pages/Authentication/style.scss b/src/pages/Authentication/style.scss index c3e7b09e7..7877fa3ca 100644 --- a/src/pages/Authentication/style.scss +++ b/src/pages/Authentication/style.scss @@ -16,6 +16,10 @@ height: 60px; padding-top: 5px; padding-bottom: 5px; + + svg { + width: 100px; + } } .hfui-authenticationpage__content { @@ -33,7 +37,8 @@ width: 100%; } - .hfui-authenticationpage__trading-mode, .hfui-dropdown__wrapper { + .hfui-authenticationpage__trading-mode, + .hfui-dropdown__wrapper { width: 100% !important; } } @@ -216,7 +221,7 @@ } input:focus { - border: 1px solid var(--light-background-mix) + border: 1px solid var(--light-background-mix); } } diff --git a/src/ui/HFIcon/index.js b/src/ui/HFIcon/index.js index d9eed84ba..9ba80cd1b 100644 --- a/src/ui/HFIcon/index.js +++ b/src/ui/HFIcon/index.js @@ -5,34 +5,19 @@ const HFIcon = (props) => { const { fill } = props return ( - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + From 0f2167c6532b6eefd2bd69430b4763440158733b Mon Sep 17 00:00:00 2001 From: Dmytro Shcherbonos Date: Fri, 8 Nov 2024 15:46:40 +0200 Subject: [PATCH 4/4] update favicons --- public/HF-icon.png | Bin 12369 -> 13262 bytes public/HF-logo.png | Bin 26488 -> 0 bytes public/favicon-16x16.png | Bin 1231 -> 700 bytes public/favicon-32x32.png | Bin 2161 -> 1516 bytes public/favicon.ico | Bin 15086 -> 15406 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 public/HF-logo.png diff --git a/public/HF-icon.png b/public/HF-icon.png index 2b929310135b9d84a9b16e4e350c50bd70498afa..60eaf49963f5825d80385ffe6f44d20da29653ff 100644 GIT binary patch literal 13262 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 diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png index 2e67e88ba304c90b2a447886bb84bd9d57969013..dd929fe2dc2151afbbf44a61b5eeebe003aca70b 100644 GIT binary patch delta 687 zcmV;g0#ND)J8Z>kHA_wKp(|2v-#!Lw)@0y3iAMGX$IS%3GQ@wbBjPe7L^uoLXk z8QUt$dRcQBb$M1Z96+6bL4Z{^00`)kzE__62aum==ny8oV-G$Ba3SigOBV(VD!?d@ zBx4wZ&uUlVWBT!yY1Ex=S7flr6&E2Mn3Ckv_0NJm=>uiJ!sxDJsLA_fuZ0MHX@*E* z0k)A-Yepn+)_(#(QspO))*nng!o;0D5rc4!y*HOU>!#zF0lO=FP3kh900**B4rocrS&;xlef)@C~IWTHp}#CF8re5nGc&Embb zVQV=QC&&1ouxO);+lF4BFE`D5^Xsjhe!tZ;LMWgeX8Ye1K}2J@walr`3$x|l`40ei V32?1B+^+xt002ovPDHLkV1hPrKS=-p literal 1231 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 B)HDD9 delta 2149 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 literal 15086 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