diff --git a/packages/ui-components/src/__tests__/ButtonVaultLink.test.ts b/packages/ui-components/src/__tests__/OrderVaultInfo.test.ts similarity index 50% rename from packages/ui-components/src/__tests__/ButtonVaultLink.test.ts rename to packages/ui-components/src/__tests__/OrderVaultInfo.test.ts index db251ca94..76bfec5b1 100644 --- a/packages/ui-components/src/__tests__/ButtonVaultLink.test.ts +++ b/packages/ui-components/src/__tests__/OrderVaultInfo.test.ts @@ -1,15 +1,13 @@ import { describe, it, expect, vi } from 'vitest'; import { render, screen } from '@testing-library/svelte'; -import ButtonVaultLink from '../lib/components/ButtonVaultLink.svelte'; -import * as navigation from '$app/navigation'; -import { userEvent } from '@testing-library/user-event'; +import OrderVaultInfo from '../lib/components/OrderVaultInfo.svelte'; import type { Vault } from '@rainlanguage/orderbook/js_api'; // Mock the $app/navigation module vi.mock('$app/navigation', () => ({ goto: vi.fn() })); -describe('ButtonVaultLink', () => { +describe('OrderVaultInfo', () => { const mockVault = { id: '123', vaultId: '1000', @@ -21,17 +19,15 @@ describe('ButtonVaultLink', () => { } } as unknown as Vault; - it('should navigate to vault details page when clicked', async () => { - render(ButtonVaultLink, { + it('should display vault name and address', () => { + render(OrderVaultInfo, { props: { tokenVault: mockVault, subgraphName: 'test' } }); - const vaultLink = screen.getByTestId('vault-link'); - expect(vaultLink).toBeTruthy(); - await userEvent.click(vaultLink); - expect(navigation.goto).toHaveBeenCalledWith(`/vaults/test-${mockVault.id}`); + expect(screen.getByText('Test Token (TEST)')).toBeInTheDocument(); + expect(screen.getByText('1')).toBeInTheDocument(); }); }); diff --git a/packages/ui-components/src/lib/components/ButtonVaultLink.svelte b/packages/ui-components/src/lib/components/ButtonVaultLink.svelte deleted file mode 100644 index 8e1a532c7..000000000 --- a/packages/ui-components/src/lib/components/ButtonVaultLink.svelte +++ /dev/null @@ -1,38 +0,0 @@ - - - - -
goto(`/vaults/${subgraphName}-${tokenVault.id}`)} -> -
-
- - ID: {bigintStringToHex(tokenVault.vaultId)} - - - {tokenVault.token.name} ({tokenVault.token.symbol}) - -
-
- Balance -
- - {formatUnits(BigInt(tokenVault.balance), parseInt(tokenVault.token.decimals || '18'))} - -
-
-
-
diff --git a/packages/ui-components/src/lib/components/OrderOrVaultHash.svelte b/packages/ui-components/src/lib/components/OrderOrVaultHash.svelte index 3c0a38d76..b3f8861bc 100644 --- a/packages/ui-components/src/lib/components/OrderOrVaultHash.svelte +++ b/packages/ui-components/src/lib/components/OrderOrVaultHash.svelte @@ -9,7 +9,8 @@ export let orderOrVault: OrderOrVault; export let type: 'orders' | 'vaults'; export let network: string; - export let updateActiveNetworkAndOrderbook: (subgraphName: string) => void; + export let updateActiveNetworkAndOrderbook: ((subgraphName: string) => void) | undefined = + undefined; let hash; @@ -20,12 +21,12 @@ diff --git a/packages/ui-components/src/lib/components/OrderVaultInfo.svelte b/packages/ui-components/src/lib/components/OrderVaultInfo.svelte new file mode 100644 index 000000000..b453e44d0 --- /dev/null +++ b/packages/ui-components/src/lib/components/OrderVaultInfo.svelte @@ -0,0 +1,23 @@ + + +
+
+ + {tokenVault.token.name} ({tokenVault.token.symbol}) + + +
+
+ Balance + + {formatUnits(BigInt(tokenVault.balance), parseInt(tokenVault.token.decimals || '18'))} + +
+
diff --git a/packages/ui-components/src/lib/components/detail/OrderDetail.svelte b/packages/ui-components/src/lib/components/detail/OrderDetail.svelte index 21f550cb4..a5d160686 100644 --- a/packages/ui-components/src/lib/components/detail/OrderDetail.svelte +++ b/packages/ui-components/src/lib/components/detail/OrderDetail.svelte @@ -7,7 +7,6 @@ import TanstackPageContentDetail from './TanstackPageContentDetail.svelte'; import CardProperty from '../CardProperty.svelte'; import { formatTimestampSecondsAsLocal } from '../../utils/time'; - import ButtonVaultLink from '../ButtonVaultLink.svelte'; import OrderVaultsVolTable from '../tables/OrderVaultsVolTable.svelte'; import { QKEY_ORDER } from '../../queries/keys'; import CodeMirrorRainlang from '../CodeMirrorRainlang.svelte'; @@ -21,6 +20,7 @@ import { page } from '$app/stores'; import DepositOrWithdrawButtons from './DepositOrWithdrawButtons.svelte'; import type { Config } from 'wagmi'; + import OrderVaultInfo from '../OrderVaultInfo.svelte'; export let walletAddressMatchesOrBlank: Readable<(address: string) => boolean> | undefined = undefined; @@ -133,12 +133,9 @@ Input vaults -
{#each data.inputs || [] as vault} - + {#if handleDepositOrWithdrawModal && $signerAddress === vault.owner && chainId} Output vaults -
- Balance -
{#each data.outputs || [] as vault} - + {#if handleDepositOrWithdrawModal && $wagmiConfig && $signerAddress === vault.owner && chainId}