diff --git a/src/renderer/entities/wallet/ui/Cards/DerivedAccount.tsx b/src/renderer/entities/wallet/ui/Cards/DerivedAccount.tsx
index fecc4003b9..cde50d4e4a 100644
--- a/src/renderer/entities/wallet/ui/Cards/DerivedAccount.tsx
+++ b/src/renderer/entities/wallet/ui/Cards/DerivedAccount.tsx
@@ -1,29 +1,26 @@
-import { type MouseEvent } from 'react';
+import { type MouseEvent, type PropsWithChildren } from 'react';
import { type VaultChainAccount, type VaultShardAccount } from '@/shared/core';
import { SS58_PUBLIC_KEY_PREFIX, cnTw, toAddress } from '@/shared/lib/utils';
-import { BodyText, CaptionText, FootnoteText, HelpText, Icon, IconButton, Identicon } from '@/shared/ui';
+import { BodyText, CaptionText, FootnoteText, HelpText, Icon, Identicon } from '@/shared/ui';
import { accountUtils } from '../../lib/account-utils';
import { KeyIcon } from '../../lib/constants';
-type Props = {
+type Props = PropsWithChildren<{
account: VaultChainAccount | VaultShardAccount[];
addressPrefix?: number;
- showInfoButton?: boolean;
showSuffix?: boolean;
className?: string;
onClick?: () => void;
- onInfoClick?: () => void;
-};
+}>;
export const DerivedAccount = ({
account,
addressPrefix = SS58_PUBLIC_KEY_PREFIX,
- showInfoButton = true,
showSuffix,
className,
+ children,
onClick,
- onInfoClick,
}: Props) => {
const isShardedAccount = accountUtils.isAccountWithShards(account);
const chainWithAccountId = !isShardedAccount && account.accountId;
@@ -93,16 +90,16 @@ export const DerivedAccount = ({
- {showInfoButton && (
-
+ >
+ {children}
+
)}
void;
-};
+}>;
-export const RootAccountLg = ({ name, accountId, className, onInfoClick }: Props) => {
+export const RootAccountLg = ({ name, accountId, className, children }: Props) => {
const handleClick = (event: MouseEvent) => {
event.stopPropagation();
};
@@ -29,7 +28,7 @@ export const RootAccountLg = ({ name, accountId, className, onInfoClick }: Props
{name}
-
+ {children ? {children}
: null}
);
};
diff --git a/src/renderer/entities/wallet/ui/VaultAccountsList/VaultAccountsList.tsx b/src/renderer/entities/wallet/ui/VaultAccountsList/VaultAccountsList.tsx
index 69d6d5e2a1..219397caa6 100644
--- a/src/renderer/entities/wallet/ui/VaultAccountsList/VaultAccountsList.tsx
+++ b/src/renderer/entities/wallet/ui/VaultAccountsList/VaultAccountsList.tsx
@@ -1,11 +1,11 @@
import { type Chain, type ChainId, type VaultChainAccount, type VaultShardAccount } from '@/shared/core';
import { useI18n } from '@/shared/i18n';
import { cnTw } from '@/shared/lib/utils';
-import { Accordion, FootnoteText, HelpText } from '@/shared/ui';
+import { FootnoteText, HelpText, IconButton } from '@/shared/ui';
+import { Accordion, Box, Popover } from '@/shared/ui-kit';
import { ChainTitle } from '@/entities/chain';
import { accountUtils } from '../../lib/account-utils';
import { DerivedAccount } from '../Cards/DerivedAccount';
-import { ExplorersPopover } from '../ExplorersPopover/ExplorersPopover';
type Props = {
chains: Chain[];
@@ -19,51 +19,57 @@ export const VaultAccountsList = ({ chains, accountsMap, className, onShardClick
return (
-
{t('accountList.addressColumn')}
+
{t('accountList.addressColumn')}
{chains.map((chain) => {
if (!accountsMap[chain.chainId]) return;
return (
-
-
-
-
+
+
+
+
+
+
{accountsMap[chain.chainId].length}
-
-
-
- {accountsMap[chain.chainId].map((account) => {
- const isSharded = accountUtils.isAccountWithShards(account);
+
+
+
+ {accountsMap[chain.chainId].map((account) => {
+ const isSharded = accountUtils.isAccountWithShards(account);
- return (
- -
-
onShardClick?.(account) : undefined}
- />
- }
- >
-
-
- {accountUtils.getDerivationPath(account)}
-
-
-
-
- );
- })}
+ >
+
+
+
+
+
+
+
+ {t('general.explorers.derivationTitle')}
+
+
+ {accountUtils.getDerivationPath(account)}
+
+
+
+
+
+
+ );
+ })}
+
-
-
-
+
+
+
+
);
})}
diff --git a/src/renderer/features/wallet-details/ui/wallets/VaultWalletDetails.tsx b/src/renderer/features/wallet-details/ui/wallets/VaultWalletDetails.tsx
index c8db5eaa33..33aa8b49a1 100644
--- a/src/renderer/features/wallet-details/ui/wallets/VaultWalletDetails.tsx
+++ b/src/renderer/features/wallet-details/ui/wallets/VaultWalletDetails.tsx
@@ -13,9 +13,10 @@ import { KeyType } from '@/shared/core';
import { useI18n } from '@/shared/i18n';
import { useModalClose, useToggle } from '@/shared/lib/hooks';
import { copyToClipboard, nullable, toAddress } from '@/shared/lib/utils';
-import { ContextMenu, HelpText, Icon, IconButton, StatusModal } from '@/shared/ui';
+import { FootnoteText, HelpText, Icon, IconButton, StatusModal } from '@/shared/ui';
import { type IconNames } from '@/shared/ui/Icon/data';
-import { Box, Dropdown, Modal, ScrollArea, Tabs } from '@/shared/ui-kit';
+import { Hash } from '@/shared/ui-entities';
+import { Box, Dropdown, Modal, Popover, ScrollArea, Tabs } from '@/shared/ui-kit';
import { networkModel } from '@/entities/network';
import { RootAccountLg, VaultAccountsList, WalletCardLg, accountUtils, permissionUtils } from '@/entities/wallet';
import { proxyAddFeature } from '@/features/proxy-add';
@@ -199,24 +200,33 @@ export const VaultWalletDetails = ({ wallet, onClose }: Props) => {
- }>
-
-
-
- {toAddress(root.accountId, { prefix: 1 })}
-
- copyToClipboard(root.accountId)}
- />
-
-
-
+
+
+
+
+
+
+
+
+ {t('general.explorers.publicKeyTitle')}
+
+
+
+
+
+ copyToClipboard(root.accountId)}
+ />
+
+
+
+
+
{
{hasProxies ? (
-
+
) : (
-
+