diff --git a/packages/extension-koni-ui/src/Popup/Root.tsx b/packages/extension-koni-ui/src/Popup/Root.tsx index 3bcc36ae1a..4cfc56a99d 100644 --- a/packages/extension-koni-ui/src/Popup/Root.tsx +++ b/packages/extension-koni-ui/src/Popup/Root.tsx @@ -254,7 +254,7 @@ function DefaultRoute ({ children }: { children: React.ReactNode }): React.React if (infoSession - latestSession.timeCalculate > latestSession.timeBackup && sessionLatest.remind && !needUnlock && - ![createPasswordUrl, welcomeUrl, loginUrl, accountNewSeedPhrase, createDoneUrl].includes(location.pathname)) { + location.pathname.includes('home')) { activeModal(REMIND_BACKUP_SEED_PHRASE_MODAL); } }, [activeModal, location.pathname, needUnlock, sessionLatest.remind]); diff --git a/packages/extension-koni-ui/src/Popup/Transaction/variants/Earn.tsx b/packages/extension-koni-ui/src/Popup/Transaction/variants/Earn.tsx index 5894c6897c..84942f6c2a 100644 --- a/packages/extension-koni-ui/src/Popup/Transaction/variants/Earn.tsx +++ b/packages/extension-koni-ui/src/Popup/Transaction/variants/Earn.tsx @@ -11,13 +11,13 @@ import { AccountSelector, AlertBox, AmountInput, EarningPoolSelector, EarningVal import { EarningProcessItem } from '@subwallet/extension-koni-ui/components/Earning'; import { getInputValuesFromString } from '@subwallet/extension-koni-ui/components/Field/AmountInput'; import { EarningInstructionModal } from '@subwallet/extension-koni-ui/components/Modal/Earning'; -import { BN_ZERO, EARNING_INSTRUCTION_MODAL, LATEST_SESSION, SELECT_ACCOUNT_MODAL, STAKE_ALERT_DATA } from '@subwallet/extension-koni-ui/constants'; +import { BN_ZERO, EARNING_INSTRUCTION_MODAL, STAKE_ALERT_DATA } from '@subwallet/extension-koni-ui/constants'; import { useChainConnection, useFetchChainState, useGetBalance, useGetNativeTokenSlug, useInitValidateTransaction, useNotification, usePreCheckAction, useRestoreTransaction, useSelector, useTransactionContext, useWatchTransaction, useYieldPositionDetail } from '@subwallet/extension-koni-ui/hooks'; import { insufficientMessages } from '@subwallet/extension-koni-ui/hooks/transaction/useHandleSubmitTransaction'; import { fetchPoolTarget, getOptimalYieldPath, submitJoinYieldPool, validateYieldProcess } from '@subwallet/extension-koni-ui/messaging'; import { DEFAULT_YIELD_PROCESS, EarningActionType, earningReducer } from '@subwallet/extension-koni-ui/reducer'; import { store } from '@subwallet/extension-koni-ui/stores'; -import { EarnParams, FormCallbacks, FormFieldData, SessionStorage, ThemeProps } from '@subwallet/extension-koni-ui/types'; +import { EarnParams, FormCallbacks, FormFieldData, ThemeProps } from '@subwallet/extension-koni-ui/types'; import { convertFieldToObject, isAccountAll, parseNominations, reformatAddress, simpleCheckForm } from '@subwallet/extension-koni-ui/utils'; import { ActivityIndicator, Button, ButtonProps, Form, Icon, ModalContext, Number } from '@subwallet/react-ui'; import BigN from 'bignumber.js'; @@ -26,7 +26,6 @@ import { CheckCircle, PlusCircle } from 'phosphor-react'; import React, { useCallback, useContext, useEffect, useMemo, useReducer, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import styled from 'styled-components'; -import { useLocalStorage } from 'usehooks-ts'; import { isEthereumAddress } from '@polkadot/util-crypto'; @@ -43,19 +42,11 @@ const instructionModalId = EARNING_INSTRUCTION_MODAL; // Not enough balance to xcm; export const insufficientXCMMessages = ['You can only enter a maximum']; -const DEFAULT_SESSION_VALUE: SessionStorage = { - remind: false, - timeCalculate: Date.now(), - timeBackup: 300000, - finishStep: true -}; -const AccountSelectorModalId = SELECT_ACCOUNT_MODAL; const Component = () => { const { t } = useTranslation(); const notify = useNotification(); - const { activeModal, checkActive } = useContext(ModalContext); - const [sessionLatest] = useLocalStorage(LATEST_SESSION, DEFAULT_SESSION_VALUE); + const { activeModal } = useContext(ModalContext); const { closeAlert, defaultData, goBack, onDone, openAlert, persistData, @@ -847,11 +838,11 @@ const Component = () => { }, [chainState?.active, forceFetchValidator, slug, chainValue, fromValue]); useEffect(() => { - if (!compound && !screenLoading && !sessionLatest.finishStep && !checkActive(AccountSelectorModalId)) { + if (!compound && !screenLoading) { isClickInfoButtonRef.current = false; activeModal(instructionModalId); } - }, [activeModal, checkActive, compound, screenLoading, sessionLatest.finishStep]); + }, [activeModal, compound, screenLoading]); const subHeaderButtons: ButtonProps[] = useMemo(() => { return [ @@ -864,11 +855,11 @@ const Component = () => { } isClickInfoButtonRef.current = true; - !sessionLatest.finishStep && checkActive(AccountSelectorModalId) && activeModal(instructionModalId); + activeModal(instructionModalId); } } ]; - }, [activeModal, checkActive, screenLoading, sessionLatest.finishStep, submitLoading]); + }, [activeModal, screenLoading, submitLoading]); useEffect(() => { setSubHeaderRightButtons(subHeaderButtons); diff --git a/packages/extension-koni-ui/src/Popup/Transaction/variants/Swap.tsx b/packages/extension-koni-ui/src/Popup/Transaction/variants/Swap.tsx index 483c8ec101..b8ac970462 100644 --- a/packages/extension-koni-ui/src/Popup/Transaction/variants/Swap.tsx +++ b/packages/extension-koni-ui/src/Popup/Transaction/variants/Swap.tsx @@ -13,7 +13,7 @@ import { AccountSelector, AddressInput, AlertBox, HiddenInput, MetaInfo, PageWra import { SwapFromField, SwapToField } from '@subwallet/extension-koni-ui/components/Field/Swap'; import { AddMoreBalanceModal, ChooseFeeTokenModal, SlippageModal, SwapIdleWarningModal, SwapQuotesSelectorModal, SwapTermsOfServiceModal } from '@subwallet/extension-koni-ui/components/Modal/Swap'; import { QuoteResetTime, SwapRoute } from '@subwallet/extension-koni-ui/components/Swap'; -import { BN_TEN, BN_ZERO, CONFIRM_SWAP_TERM, DEFAULT_SWAP_PARAMS, LATEST_SESSION, SELECT_ACCOUNT_MODAL, SWAP_ALL_QUOTES_MODAL, SWAP_CHOOSE_FEE_TOKEN_MODAL, SWAP_IDLE_WARNING_MODAL, SWAP_MORE_BALANCE_MODAL, SWAP_SLIPPAGE_MODAL, SWAP_TERMS_OF_SERVICE_MODAL } from '@subwallet/extension-koni-ui/constants'; +import { BN_TEN, BN_ZERO, CONFIRM_SWAP_TERM, DEFAULT_SWAP_PARAMS, SWAP_ALL_QUOTES_MODAL, SWAP_CHOOSE_FEE_TOKEN_MODAL, SWAP_IDLE_WARNING_MODAL, SWAP_MORE_BALANCE_MODAL, SWAP_SLIPPAGE_MODAL, SWAP_TERMS_OF_SERVICE_MODAL } from '@subwallet/extension-koni-ui/constants'; import { DataContext } from '@subwallet/extension-koni-ui/contexts/DataContext'; import { useChainConnection, useGetChainPrefixBySlug, useNotification, useSelector, useSetCurrentPage, useTransactionContext, useWatchTransaction } from '@subwallet/extension-koni-ui/hooks'; import { getLatestSwapQuote, handleSwapRequest, handleSwapStep, validateSwapProcess } from '@subwallet/extension-koni-ui/messaging/transaction/swap'; @@ -21,7 +21,7 @@ import { FreeBalance, FreeBalanceToEarn, TransactionContent, TransactionFooter } import { DEFAULT_SWAP_PROCESS, SwapActionType, swapReducer } from '@subwallet/extension-koni-ui/reducer'; import { RootState } from '@subwallet/extension-koni-ui/stores'; import { Theme } from '@subwallet/extension-koni-ui/themes'; -import { FormCallbacks, FormFieldData, SessionStorage, SwapParams, ThemeProps } from '@subwallet/extension-koni-ui/types'; +import { FormCallbacks, FormFieldData, SwapParams, ThemeProps } from '@subwallet/extension-koni-ui/types'; import { TokenSelectorItemType } from '@subwallet/extension-koni-ui/types/field'; import { convertFieldToObject, findAccountByAddress, isAccountAll, reformatAddress } from '@subwallet/extension-koni-ui/utils'; import { ActivityIndicator, BackgroundIcon, Button, Form, Icon, Logo, ModalContext, Number, Tooltip } from '@subwallet/react-ui'; @@ -72,21 +72,13 @@ function getTokenSelectorItem (tokenSlugs: string[], assetRegistryMap: Record { useSetCurrentPage('/transaction/swap'); const { t } = useTranslation(); const notify = useNotification(); const { closeAlert, defaultData, onDone, openAlert, persistData, setBackProps, setCustomScreenTitle } = useTransactionContext(); - const { activeModal, checkActive, inactiveAll, inactiveModal } = useContext(ModalContext); + const { activeModal, inactiveAll, inactiveModal } = useContext(ModalContext); const { accounts, currentAccount, isAllAccount } = useSelector((state) => state.accountState); const assetRegistryMap = useSelector((state) => state.assetRegistry.assetRegistry); @@ -109,7 +101,6 @@ const Component = () => { const [isFormInvalid, setIsFormInvalid] = useState(false); const [currentOptimalSwapPath, setOptimalSwapPath] = useState(undefined); - const [sessionLatest] = useLocalStorage(LATEST_SESSION, DEFAULT_SESSION_VALUE); const [confirmedTerm, setConfirmedTerm] = useLocalStorage(CONFIRM_SWAP_TERM, ''); const [showQuoteArea, setShowQuoteArea] = useState(false); const optimalQuoteRef = useRef(undefined); @@ -1085,12 +1076,10 @@ const Component = () => { }, [currentQuoteRequest, hasInternalConfirmations, quoteAliveUntil, requestUserInteractToContinue]); useEffect(() => { - if (!confirmedTerm && sessionLatest.finishStep && !checkActive(AccountSelectorModalId)) { + if (!confirmedTerm) { activeModal(SWAP_TERMS_OF_SERVICE_MODAL); - } else if (confirmedTerm) { - inactiveModal(SWAP_TERMS_OF_SERVICE_MODAL); } - }, [sessionLatest.finishStep, activeModal, confirmedTerm, checkActive, inactiveModal]); + }, [activeModal, confirmedTerm]); useEffect(() => { if (requestUserInteractToContinue) { diff --git a/packages/extension-koni-ui/src/components/Modal/RemindBackupSeedPhraseModal.tsx b/packages/extension-koni-ui/src/components/Modal/RemindBackupSeedPhraseModal.tsx index c7e0990cde..a2c3765b6f 100644 --- a/packages/extension-koni-ui/src/components/Modal/RemindBackupSeedPhraseModal.tsx +++ b/packages/extension-koni-ui/src/components/Modal/RemindBackupSeedPhraseModal.tsx @@ -140,14 +140,14 @@ const RemindBackupSeedPhraseModal = styled(Component)(({ theme: { token } lineHeight: token.lineHeightHeading6 }, + '.__modal-user-guide': { + marginLeft: token.marginXXS + }, + '.ant-sw-modal-footer': { borderTop: 'none', display: 'flex', gap: token.sizeSM - }, - - '.__modal-user-guide': { - marginLeft: token.marginXXS } }; });