From 318590d4c61d78de77b4a35fbb56b34fed1ae7a5 Mon Sep 17 00:00:00 2001 From: hotequil Date: Thu, 19 Dec 2024 23:06:38 -0300 Subject: [PATCH] CU-86a5wnpn9-NEON3 - NFI Skin - Enhancement for Christmas Campaign (N3) --- package-lock.json | 112 ++++++++++++++++-- package.json | 6 +- .../assets/skins/coz-face-december-2024.png | Bin 0 -> 121102 bytes src/renderer/src/components/AccountIcon.tsx | 60 +++++++--- src/renderer/src/components/SkinCard.tsx | 24 ++-- src/renderer/src/constants/skins.tsx | 10 +- src/renderer/src/helpers/UtilsHelper.ts | 7 ++ src/renderer/src/hooks/useAccountSelector.ts | 13 ++ src/renderer/src/hooks/useAfterLogin.ts | 59 ++++----- .../src/hooks/useBlockchainActions.ts | 7 +- src/renderer/src/hooks/useNeonBackup.ts | 6 +- src/renderer/src/hooks/useSettingsSelector.ts | 1 + src/renderer/src/locales/en/modals.json | 2 +- .../modals/PersistAccount/SkinSelector.tsx | 32 ++--- .../routes/modals/PersistAccount/index.tsx | 17 ++- .../src/store/reducers/AuthReducer.ts | 50 +++++++- .../src/store/reducers/SettingsReducer.ts | 9 +- src/shared/@types/i18next-resources.d.ts | 2 +- src/shared/@types/store.ts | 1 - 19 files changed, 300 insertions(+), 118 deletions(-) create mode 100644 src/renderer/src/assets/skins/coz-face-december-2024.png diff --git a/package-lock.json b/package-lock.json index 0ca46471..55a8d87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "neon3", - "version": "3.2.1", + "version": "3.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "neon3", - "version": "3.2.1", + "version": "3.2.2", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -17,8 +17,8 @@ "@cityofzion/bs-neo-legacy": "1.6.7", "@cityofzion/bs-neo3": "1.8.9", "@cityofzion/bs-swap": "0.3.2", - "@cityofzion/neon-core": "5.5.1", - "@cityofzion/neon-js": "5.5.1", + "@cityofzion/neon-core": "5.6.0", + "@cityofzion/neon-js": "5.6.0", "@cityofzion/wallet-connect-sdk-wallet-core": "4.4.0", "@cityofzion/wallet-connect-sdk-wallet-react": "4.0.18", "@electron-toolkit/preload": "^2.0.0", @@ -812,6 +812,35 @@ "query-string": "7.1.3" } }, + "node_modules/@cityofzion/bs-neo3/node_modules/@cityofzion/neon-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-core/-/neon-core-5.5.1.tgz", + "integrity": "sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw==", + "dependencies": { + "bn.js": "5.2.1", + "bs58": "5.0.0", + "buffer": "6.0.3", + "cross-fetch": "^3.1.5", + "crypto-js": "4.1.1", + "elliptic": "6.5.4", + "ethereum-cryptography": "2.0.0", + "lodash": "4.17.21", + "loglevel": "1.8.1", + "loglevel-plugin-prefix": "0.8.4" + }, + "engines": { + "node": ">=16.19.0" + } + }, + "node_modules/@cityofzion/bs-neo3/node_modules/@cityofzion/neon-js": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-js/-/neon-js-5.5.1.tgz", + "integrity": "sha512-iCoE5PGKy3Kj36dR3aevkVOKK4yB1Mq/0WEUQzrzMkGOGBNJXa2+cTtmSi39tDkgxSHibvS77S5oZ6QGIXMCdg==", + "dependencies": { + "@cityofzion/neon-api": "^5.4.0", + "@cityofzion/neon-core": "^5.5.1" + } + }, "node_modules/@cityofzion/bs-neo3/node_modules/@ledgerhq/hw-transport": { "version": "6.30.6", "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.30.6.tgz", @@ -863,16 +892,15 @@ } }, "node_modules/@cityofzion/neon-core": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/@cityofzion/neon-core/-/neon-core-5.5.1.tgz", - "integrity": "sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw==", - "license": "MIT", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-core/-/neon-core-5.6.0.tgz", + "integrity": "sha512-46Y8A/SgKNXIMFbyNUSX63aUA9tWfe3eKmXaX97AGNNR62tPw45yBVxkfAGLECS9MVy/Y4jgi9/TacGQMEaNsQ==", "dependencies": { "bn.js": "5.2.1", "bs58": "5.0.0", "buffer": "6.0.3", "cross-fetch": "^3.1.5", - "crypto-js": "4.1.1", + "crypto-js": "4.2.0", "elliptic": "6.5.4", "ethereum-cryptography": "2.0.0", "lodash": "4.17.21", @@ -883,6 +911,11 @@ "node": ">=16.19.0" } }, + "node_modules/@cityofzion/neon-core/node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/@cityofzion/neon-dappkit": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@cityofzion/neon-dappkit/-/neon-dappkit-0.4.1.tgz", @@ -906,16 +939,24 @@ "integrity": "sha512-bQA/EBQUU6ZPmDARXB0w6I2iJqdo4S2s3xERPN91wCHd9WMkCIrtec269X1Yjd9qGoVibLMyA3xjqrOTyUBpxw==", "license": "MIT" }, - "node_modules/@cityofzion/neon-js": { + "node_modules/@cityofzion/neon-dappkit/node_modules/@cityofzion/neon-js": { "version": "5.5.1", "resolved": "https://registry.npmjs.org/@cityofzion/neon-js/-/neon-js-5.5.1.tgz", "integrity": "sha512-iCoE5PGKy3Kj36dR3aevkVOKK4yB1Mq/0WEUQzrzMkGOGBNJXa2+cTtmSi39tDkgxSHibvS77S5oZ6QGIXMCdg==", - "license": "MIT", "dependencies": { "@cityofzion/neon-api": "^5.4.0", "@cityofzion/neon-core": "^5.5.1" } }, + "node_modules/@cityofzion/neon-js": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-js/-/neon-js-5.6.0.tgz", + "integrity": "sha512-0QDgGtDjqu5JlshCJdlFSkFVygHHE8Tfdj/gmdqlFcXf37Naqg7QHQ/JjTf74AGqPVykejRP6c4qr35jRgM0/w==", + "dependencies": { + "@cityofzion/neon-api": "^5.4.0", + "@cityofzion/neon-core": "^5.6.0" + } + }, "node_modules/@cityofzion/neon-nep5": { "version": "4.9.0", "resolved": "https://registry.npmjs.org/@cityofzion/neon-nep5/-/neon-nep5-4.9.0.tgz", @@ -1026,6 +1067,26 @@ "typed-emitter": "^2.1.0" } }, + "node_modules/@cityofzion/wallet-connect-sdk-core/node_modules/@cityofzion/neon-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-core/-/neon-core-5.5.1.tgz", + "integrity": "sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw==", + "dependencies": { + "bn.js": "5.2.1", + "bs58": "5.0.0", + "buffer": "6.0.3", + "cross-fetch": "^3.1.5", + "crypto-js": "4.1.1", + "elliptic": "6.5.4", + "ethereum-cryptography": "2.0.0", + "lodash": "4.17.21", + "loglevel": "1.8.1", + "loglevel-plugin-prefix": "0.8.4" + }, + "engines": { + "node": ">=16.19.0" + } + }, "node_modules/@cityofzion/wallet-connect-sdk-core/node_modules/@cityofzion/neon-dappkit-types": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@cityofzion/neon-dappkit-types/-/neon-dappkit-types-0.4.0.tgz", @@ -1051,6 +1112,26 @@ "moment": "^2.29.4" } }, + "node_modules/@cityofzion/wallet-connect-sdk-wallet-core/node_modules/@cityofzion/neon-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-core/-/neon-core-5.5.1.tgz", + "integrity": "sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw==", + "dependencies": { + "bn.js": "5.2.1", + "bs58": "5.0.0", + "buffer": "6.0.3", + "cross-fetch": "^3.1.5", + "crypto-js": "4.1.1", + "elliptic": "6.5.4", + "ethereum-cryptography": "2.0.0", + "lodash": "4.17.21", + "loglevel": "1.8.1", + "loglevel-plugin-prefix": "0.8.4" + }, + "engines": { + "node": ">=16.19.0" + } + }, "node_modules/@cityofzion/wallet-connect-sdk-wallet-core/node_modules/@cityofzion/neon-dappkit": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@cityofzion/neon-dappkit/-/neon-dappkit-0.5.1.tgz", @@ -1074,6 +1155,15 @@ "integrity": "sha512-UjveRGBuj/OlwlX39IutXFPBalosc+dZClC32+wm5JLOsAy12vFeI+dNFe6nnV8HIrFRZSLcHyfq08ILA68LVQ==", "license": "MIT" }, + "node_modules/@cityofzion/wallet-connect-sdk-wallet-core/node_modules/@cityofzion/neon-js": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@cityofzion/neon-js/-/neon-js-5.5.1.tgz", + "integrity": "sha512-iCoE5PGKy3Kj36dR3aevkVOKK4yB1Mq/0WEUQzrzMkGOGBNJXa2+cTtmSi39tDkgxSHibvS77S5oZ6QGIXMCdg==", + "dependencies": { + "@cityofzion/neon-api": "^5.4.0", + "@cityofzion/neon-core": "^5.5.1" + } + }, "node_modules/@cityofzion/wallet-connect-sdk-wallet-core/node_modules/@ethersproject/providers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", diff --git a/package.json b/package.json index 92181f99..be64f8e8 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,8 @@ "@cityofzion/bs-neo-legacy": "1.6.7", "@cityofzion/bs-neo3": "1.8.9", "@cityofzion/bs-swap": "0.3.2", - "@cityofzion/neon-core": "5.5.1", - "@cityofzion/neon-js": "5.5.1", + "@cityofzion/neon-core": "5.6.0", + "@cityofzion/neon-js": "5.6.0", "@cityofzion/wallet-connect-sdk-wallet-core": "4.4.0", "@cityofzion/wallet-connect-sdk-wallet-react": "4.0.18", "@electron-toolkit/preload": "^2.0.0", @@ -125,4 +125,4 @@ "vite-plugin-node-polyfills": "^0.17.0", "vite-plugin-svgr": "^3.2.0" } -} \ No newline at end of file +} diff --git a/src/renderer/src/assets/skins/coz-face-december-2024.png b/src/renderer/src/assets/skins/coz-face-december-2024.png new file mode 100644 index 0000000000000000000000000000000000000000..84074510bad3922c5ad86190b077e0445d63ed53 GIT binary patch literal 121102 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
otfeR$7kdlxkcahBP+BIUj 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 n#`X1OfE;nUFU00000NkvXXu0mjfJryyI literal 0 HcmV?d00001 diff --git a/src/renderer/src/components/AccountIcon.tsx b/src/renderer/src/components/AccountIcon.tsx index 62e40e78..1685aa82 100644 --- a/src/renderer/src/components/AccountIcon.tsx +++ b/src/renderer/src/components/AccountIcon.tsx @@ -1,5 +1,6 @@ import { cloneElement } from 'react' import { ACCOUNT_COLOR_SKINS, ACCOUNT_LOCAL_SKINS } from '@renderer/constants/skins' +import { TBlockchainServiceKey } from '@shared/@types/blockchain' import { IAccountState, TNftSkin } from '@shared/@types/store' import { BlockchainIcon } from './BlockchainIcon' @@ -7,43 +8,70 @@ type TProps = { account: IAccountState } +type TAccountBlockchainCircleProps = { + blockchain: TBlockchainServiceKey +} + +const AccountBlockchainCircle = ({ blockchain }: TAccountBlockchainCircleProps) => ( +
+
+ + +
+) + const AccountIconColor = ({ account }: TProps) => { - const bgColor = ACCOUNT_COLOR_SKINS.find(({ id }) => id === account.skin.id)?.color ?? ACCOUNT_COLOR_SKINS[0].color + const color = ACCOUNT_COLOR_SKINS.find(({ id }) => id === account.skin.id)?.color + + if (!color) return null return ( -
-
-
- -
+
+
) } const AccountIconNFT = ({ account }: TProps) => { - const skin = account.skin as TNftSkin + const imgUrl = (account.skin as TNftSkin)?.imgUrl + + if (!imgUrl) return null + return ( -
- +
+ + +
) } const AccountIconLocal = ({ account }: TProps) => { - const component = ACCOUNT_LOCAL_SKINS.find(it => it.id === account.skin.id)!.component + const component = ACCOUNT_LOCAL_SKINS.find(({ id }) => id === account.skin.id)?.component + + if (!component) return null - return
{cloneElement(component, { className: 'w-full h-full' })}
+ return ( +
+ {cloneElement(component, { + 'aria-hidden': true, + className: 'w-full h-full object-cover absolute inset-0 m-auto', + })} + + +
+ ) } export const AccountIcon = ({ account }: TProps) => { return ( -
- {account.skin.type === 'color' ? ( - - ) : account.skin.type === 'nft' ? ( +
+ {account.skin.type === 'nft' ? ( - ) : ( + ) : account.skin.type === 'local' ? ( + ) : ( + )}
) diff --git a/src/renderer/src/components/SkinCard.tsx b/src/renderer/src/components/SkinCard.tsx index e671c9a0..0c06e3d1 100644 --- a/src/renderer/src/components/SkinCard.tsx +++ b/src/renderer/src/components/SkinCard.tsx @@ -1,6 +1,7 @@ import { cloneElement } from 'react' import { MdCheckCircle } from 'react-icons/md' import { StyleHelper } from '@renderer/helpers/StyleHelper' +import { match, P } from 'ts-pattern' type TProps = { showCheck: boolean @@ -14,17 +15,24 @@ export const SkinCard = ({ showCheck, image, color, className, component }: TPro return (
- {image ? ( - - ) : color ? ( -
- ) : component ? ( - cloneElement(component, { className: 'w-full h-full' }) - ) : null} + {match({ image, component, color }) + .with({ image: P.when(value => !!value) }, () => ( + + )) + .with({ component: P.when(value => !!value) }, () => + cloneElement(component, { + 'aria-hidden': true, + className: 'w-full h-full object-cover absolute inset-0 m-auto', + }) + ) + .with({ color: P.when(value => !!value) }, () => ( +
+ )) + .otherwise(() => null)}
, + unlockedContractHash: '0x76a8f8a7a901b29a33013b469949f4b08db15756', + }, +] export const LOCAL_SKINS: TLocalSkin[] = [...ACCOUNT_LOCAL_SKINS] diff --git a/src/renderer/src/helpers/UtilsHelper.ts b/src/renderer/src/helpers/UtilsHelper.ts index ca289907..9faa799e 100644 --- a/src/renderer/src/helpers/UtilsHelper.ts +++ b/src/renderer/src/helpers/UtilsHelper.ts @@ -1,5 +1,6 @@ import { getI18n } from 'react-i18next' import { AVAILABLE_RANDOM_COLORS, MANDATORY_TOKEN_COLORS } from '@renderer/constants/colors' +import { ACCOUNT_COLOR_SKINS } from '@renderer/constants/skins' import _ from 'lodash' import * as uuid from 'uuid' @@ -222,4 +223,10 @@ export class UtilsHelper { static isHexadecimal(hexadecimal: string) { return /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(hexadecimal) } + + static getSkinColor(index?: number) { + const newIndex = index ?? UtilsHelper.getRandomNumber(7) + + return ACCOUNT_COLOR_SKINS[newIndex]?.id ?? ACCOUNT_COLOR_SKINS[0].id + } } diff --git a/src/renderer/src/hooks/useAccountSelector.ts b/src/renderer/src/hooks/useAccountSelector.ts index e63c5686..ed8d1bc8 100644 --- a/src/renderer/src/hooks/useAccountSelector.ts +++ b/src/renderer/src/hooks/useAccountSelector.ts @@ -14,6 +14,10 @@ const selectAccounts = createAppSelector( } ) +const selectOwnAccounts = createAppSelector(selectAccounts, accounts => + accounts.filter(account => account.type !== 'watch') +) + const selectHasHardwareAccount = createAppSelector( [state => state.auth.data.applicationDataByLoginType, state => state.auth.currentLoginSession], (applicationDataByLoginType, currentLoginSession) => { @@ -53,6 +57,15 @@ export const useAccountsSelector = () => { } } +export const useOwnAccountsSelector = () => { + const { value: ownAccounts, ref: ownAccountsRef } = useAppSelector(selectOwnAccounts) + + return { + ownAccounts, + ownAccountsRef, + } +} + export const useAccountsByWalletIdSelector = (walletId: string) => { const { ref, value } = useAppSelector(selectAccountsByWalletId(walletId)) diff --git a/src/renderer/src/hooks/useAfterLogin.ts b/src/renderer/src/hooks/useAfterLogin.ts index be663fda..7204dd36 100644 --- a/src/renderer/src/hooks/useAfterLogin.ts +++ b/src/renderer/src/hooks/useAfterLogin.ts @@ -5,15 +5,15 @@ import { hasNft } from '@cityofzion/blockchain-service' import { useWalletConnectWallet } from '@cityofzion/wallet-connect-sdk-wallet-react' import { LOCAL_SKINS } from '@renderer/constants/skins' import { AccountHelper } from '@renderer/helpers/AccountHelper' -import { NetworkHelper } from '@renderer/helpers/NetworkHelper' import { ToastHelper } from '@renderer/helpers/ToastHelper' import { UtilsHelper } from '@renderer/helpers/UtilsHelper' import { WalletConnectHelper } from '@renderer/helpers/WalletConnectHelper' import { bsAggregator } from '@renderer/libs/blockchainService' +import { authReducerActions } from '@renderer/store/reducers/AuthReducer' import { settingsReducerActions } from '@renderer/store/reducers/SettingsReducer' import { IAccountState } from '@shared/@types/store' -import { useAccountsSelector } from './useAccountSelector' +import { useAccountsSelector, useOwnAccountsSelector } from './useAccountSelector' import { useCurrentLoginSessionSelector } from './useAuthSelector' import { useBlockchainActions } from './useBlockchainActions' import { useLogin } from './useLogin' @@ -193,50 +193,55 @@ const useRegisterDeeplinkListeners = () => { }, [commonWc, modalNavigate, navigate]) } -const useUnlockedSkins = () => { - const { unlockedSkinIdsRef } = useUnlockedSkinIdsSelector() - const { accounts } = useAccountsSelector() - const { networkByBlockchainRef } = useSelectedNetworkByBlockchainSelector() +const useUnlockSkins = () => { const dispatch = useAppDispatch() + const { unlockedSkinIds } = useUnlockedSkinIdsSelector() + const { ownAccounts } = useOwnAccountsSelector() + + const unlockSkins = async () => { + const skinIds = new Set([]) - const unlockSkins = useCallback(async () => { await Promise.allSettled( LOCAL_SKINS.map(async skin => { - if ( - unlockedSkinIdsRef.current.includes(skin.id) || - !NetworkHelper.isMainnet(skin.blockchain, networkByBlockchainRef.current[skin.blockchain]) - ) - return - - await Promise.allSettled( - accounts.map(async account => { - if (account.type === 'watch') return - + for (const account of ownAccounts) { + try { const service = bsAggregator.blockchainServicesByName[account.blockchain] - if (!hasNft(service)) return + + if (account.blockchain !== skin.blockchain || !hasNft(service)) continue const hasToken = await service.nftDataService.hasToken({ - contractHash: skin.unlockedContractHash, address: account.address, + contractHash: skin.unlockedContractHash, }) - if (hasToken) { - dispatch(settingsReducerActions.unlockSkin(skin.id)) - } - }) - ) + if (!hasToken) continue + + skinIds.add(skin.id) + + break + } catch { + /* empty */ + } + } }) ) - }, [accounts, dispatch, networkByBlockchainRef, unlockedSkinIdsRef]) + + const invalidSkinIds = unlockedSkinIds.filter(skinId => !skinIds.has(skinId)) + + dispatch(settingsReducerActions.setUnlockedSkinIds([...skinIds])) + dispatch(authReducerActions.removeAccountSkins(invalidSkinIds)) + } useEffect(() => { unlockSkins() - }, [unlockSkins]) + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) } export const useAfterLogin = () => { useRegisterWalletConnectListeners() useRegisterHardwareWalletListeners() useRegisterDeeplinkListeners() - useUnlockedSkins() + useUnlockSkins() } diff --git a/src/renderer/src/hooks/useBlockchainActions.ts b/src/renderer/src/hooks/useBlockchainActions.ts index d04d1342..1a587431 100644 --- a/src/renderer/src/hooks/useBlockchainActions.ts +++ b/src/renderer/src/hooks/useBlockchainActions.ts @@ -1,7 +1,6 @@ import { useCallback } from 'react' import { useTranslation } from 'react-i18next' import { useWalletConnectWallet } from '@cityofzion/wallet-connect-sdk-wallet-react' -import { ACCOUNT_COLOR_SKINS } from '@renderer/constants/skins' import { AccountHelper } from '@renderer/helpers/AccountHelper' import { UtilsHelper } from '@renderer/helpers/UtilsHelper' import { WalletConnectHelper } from '@renderer/helpers/WalletConnectHelper' @@ -88,8 +87,7 @@ export function useBlockchainActions() { idWallet: wallet.id, name, blockchain, - skin: skin ?? { type: 'color', id: ACCOUNT_COLOR_SKINS[UtilsHelper.getRandomNumber(7)].id }, - lastNftSkin: skin?.type === 'nft' ? skin : undefined, + skin: skin ?? { type: 'color', id: UtilsHelper.getSkinColor() }, address: generatedAccount.address, type: 'standard', encryptedKey, @@ -126,8 +124,7 @@ export function useBlockchainActions() { idWallet: wallet.id, name: name ?? t('defaultName', { accountNumber: accountOrder + 1 }), blockchain, - skin: skin ?? { type: 'color', id: ACCOUNT_COLOR_SKINS[UtilsHelper.getRandomNumber(7)].id }, - lastNftSkin: skin?.type === 'nft' ? skin : undefined, + skin: skin ?? { type: 'color', id: UtilsHelper.getSkinColor() }, address, type, encryptedKey, diff --git a/src/renderer/src/hooks/useNeonBackup.ts b/src/renderer/src/hooks/useNeonBackup.ts index 6e1d8886..36676a1b 100644 --- a/src/renderer/src/hooks/useNeonBackup.ts +++ b/src/renderer/src/hooks/useNeonBackup.ts @@ -1,6 +1,5 @@ import { useTranslation } from 'react-i18next' import { BACKUP_FILE_EXTENSION, BACKUP_VERSION, DEPRECATED_BACKUP_FILE_EXTENSION } from '@renderer/constants/backup' -import { ACCOUNT_COLOR_SKINS } from '@renderer/constants/skins' import { DateHelper } from '@renderer/helpers/DateHelper' import { UtilsHelper } from '@renderer/helpers/UtilsHelper' import { doesBlockchainSupported } from '@renderer/libs/blockchainService' @@ -13,7 +12,6 @@ import { IWalletState, TAccountType, TContactAddress, - TNftSkin, TSkin, TSwapRecord, } from '@shared/@types/store' @@ -55,7 +53,6 @@ export const backupAccountSchema = zod.object({ key: zod.string().optional(), order: zod.number(), skin: backupAccountSkinSchema, - lastNftSkin: backupAccountSkinSchema.optional(), }) export const backupWalletSchema = zod.object({ @@ -112,7 +109,7 @@ const fixAccountProperties = ( backupAccount.type === 'ledger' || backupAccount.type === 'hardware' ? 'watch' : backupAccount.type if (!backupAccount.skin || UtilsHelper.isHexadecimal(backupAccount.skin.id)) - backupAccount.skin = { id: ACCOUNT_COLOR_SKINS[UtilsHelper.getRandomNumber(7)].id, type: 'color' } + backupAccount.skin = { id: UtilsHelper.getSkinColor(), type: 'color' } return { address: backupAccount.address, @@ -122,7 +119,6 @@ const fixAccountProperties = ( name: backupAccount.name, order: backupAccount.order, skin: backupAccount.skin as TSkin, - lastNftSkin: backupAccount.lastNftSkin as TNftSkin, type, } } diff --git a/src/renderer/src/hooks/useSettingsSelector.ts b/src/renderer/src/hooks/useSettingsSelector.ts index 17290a14..b8b5bc34 100644 --- a/src/renderer/src/hooks/useSettingsSelector.ts +++ b/src/renderer/src/hooks/useSettingsSelector.ts @@ -61,6 +61,7 @@ export const useCurrencySelector = () => { export const useUnlockedSkinIdsSelector = () => { const { ref, value } = useAppSelector(state => state.settings.data.unlockedSkinIds) + return { unlockedSkinIds: value, unlockedSkinIdsRef: ref, diff --git a/src/renderer/src/locales/en/modals.json b/src/renderer/src/locales/en/modals.json index c6eb1358..f37d62b2 100644 --- a/src/renderer/src/locales/en/modals.json +++ b/src/renderer/src/locales/en/modals.json @@ -50,7 +50,7 @@ "inputPlaceholder": "Enter your account name...", "inputSubtitle": "It could be helpful to name your account with a label related to what you want to use the account for (such as ‘Investments’ or ‘Trading’).", "selectBlockchainDescription": "Please select which chain you would like to use for this account.", - "colorSelectorLabel": "Select an account colour", + "skinSelectorLabel": "Select an account skin", "saveButtonLabel": "Save", "nextButtonLabel": "Next", "cancelButtonLabel": "Cancel", diff --git a/src/renderer/src/routes/modals/PersistAccount/SkinSelector.tsx b/src/renderer/src/routes/modals/PersistAccount/SkinSelector.tsx index ca1f68c2..08bc302f 100644 --- a/src/renderer/src/routes/modals/PersistAccount/SkinSelector.tsx +++ b/src/renderer/src/routes/modals/PersistAccount/SkinSelector.tsx @@ -1,20 +1,19 @@ -import { MdAdd } from 'react-icons/md' import { SkinCard } from '@renderer/components/SkinCard' import { ACCOUNT_COLOR_SKINS, ACCOUNT_LOCAL_SKINS } from '@renderer/constants/skins' import { useUnlockedSkinIdsSelector } from '@renderer/hooks/useSettingsSelector' -import { TNftSkin, TSkin } from '@shared/@types/store' +import { IAccountState, TSkin } from '@shared/@types/store' type TProps = { label: string selectedSkin: TSkin - lastNftSkin?: TNftSkin onSelectSkin: (skin: TSkin) => void + account?: IAccountState } -export const SkinSelector = ({ label, selectedSkin, onSelectSkin, lastNftSkin }: TProps) => { +export const SkinSelector = ({ label, selectedSkin, account, onSelectSkin }: TProps) => { const { unlockedSkinIds } = useUnlockedSkinIdsSelector() - - const unlokedLocalSkins = ACCOUNT_LOCAL_SKINS.filter(skin => unlockedSkinIds.includes(skin.id)) + const unlockedLocalSkins = + account?.type === 'watch' ? [] : ACCOUNT_LOCAL_SKINS.filter(skin => unlockedSkinIds.includes(skin.id)) return (
@@ -22,25 +21,16 @@ export const SkinSelector = ({ label, selectedSkin, onSelectSkin, lastNftSkin }:
{ACCOUNT_COLOR_SKINS.map(skin => ( ))} -
- -
- - {lastNftSkin && ( - - )} + {/* TODO: create color picker here */} + {/*
*/} + {/* */} + {/*
*/} - {unlokedLocalSkins.map(skin => ( + {unlockedLocalSkins.map(skin => ( diff --git a/src/renderer/src/routes/modals/PersistAccount/index.tsx b/src/renderer/src/routes/modals/PersistAccount/index.tsx index 3b001d10..ce85eeb6 100644 --- a/src/renderer/src/routes/modals/PersistAccount/index.tsx +++ b/src/renderer/src/routes/modals/PersistAccount/index.tsx @@ -4,7 +4,7 @@ import { TbPencil, TbPlus } from 'react-icons/tb' import { Button } from '@renderer/components/Button' import { Input } from '@renderer/components/Input' import { Separator } from '@renderer/components/Separator' -import { ACCOUNT_COLOR_SKINS } from '@renderer/constants/skins' +import { UtilsHelper } from '@renderer/helpers/UtilsHelper' import { useActions } from '@renderer/hooks/useActions' import { useBlockchainActions } from '@renderer/hooks/useBlockchainActions' import { useHardwareWalletActions } from '@renderer/hooks/useHardwareWallet' @@ -13,14 +13,13 @@ import { useAppDispatch } from '@renderer/hooks/useRedux' import { SideModalLayout } from '@renderer/layouts/SideModal' import { authReducerActions } from '@renderer/store/reducers/AuthReducer' import { TBlockchainServiceKey } from '@shared/@types/blockchain' -import { IAccountState, IWalletState, TNftSkin, TSkin } from '@shared/@types/store' +import { IAccountState, IWalletState, TSkin } from '@shared/@types/store' import { SkinSelector } from './SkinSelector' type TFormData = { name: string skin: TSkin - lastNftSkin?: TNftSkin } type TLocationState = { @@ -39,15 +38,14 @@ export const PersistAccountModal = () => { const { actionData, actionState, handleAct, setDataFromEventWrapper, setData, setError } = useActions({ name: account ? account.name : '', - skin: account ? account.skin : { id: ACCOUNT_COLOR_SKINS[0].id, type: 'color' }, - lastNftSkin: account ? account.lastNftSkin : undefined, + skin: account ? account.skin : { id: UtilsHelper.getSkinColor(0), type: 'color' }, }) const handleSelectColorSkin = (skin: TSkin) => { setData({ skin }) } - const handleSubmit = async ({ name, skin, lastNftSkin }: TFormData) => { + const handleSubmit = async ({ name, skin }: TFormData) => { const nameTrimmed = name.trim() if (nameTrimmed.length === 0) { setError('name', t('nameLengthError')) @@ -55,7 +53,7 @@ export const PersistAccountModal = () => { } if (account) { - dispatch(authReducerActions.saveAccount({ ...account, name: nameTrimmed, skin, lastNftSkin })) + dispatch(authReducerActions.saveAccount({ ...account, name: nameTrimmed, skin })) modalNavigate(-1) return @@ -116,14 +114,15 @@ export const PersistAccountModal = () => {