diff --git a/packages/ui-components/src/lib/components/detail/OrderDetail.svelte b/packages/ui-components/src/lib/components/detail/OrderDetail.svelte index c1d3ce749..930755d13 100644 --- a/packages/ui-components/src/lib/components/detail/OrderDetail.svelte +++ b/packages/ui-components/src/lib/components/detail/OrderDetail.svelte @@ -11,7 +11,6 @@ import OrderVaultsVolTable from '../tables/OrderVaultsVolTable.svelte'; import { QKEY_ORDER } from '../../queries/keys'; import CodeMirrorRainlang from '../CodeMirrorRainlang.svelte'; - import { queryClient } from '../../stores/queryClient'; import { getOrder, type OrderSubgraph, @@ -20,7 +19,7 @@ } from '@rainlanguage/orderbook/js_api'; import { createQuery } from '@tanstack/svelte-query'; import { Button, TabItem, Tabs } from 'flowbite-svelte'; - import { onDestroy } from 'svelte'; + import { onDestroy, onMount } from 'svelte'; import type { Writable } from 'svelte/store'; import OrderApy from '../tables/OrderAPY.svelte'; import { page } from '$app/stores'; @@ -71,21 +70,24 @@ export let signerAddress: Writable | undefined = undefined; let codeMirrorDisabled = true; let codeMirrorStyles = {}; + import { useQueryClient } from '@tanstack/svelte-query'; + import Refresh from '../icon/Refresh.svelte'; + + const queryClient = useQueryClient(); $: orderDetailQuery = createQuery({ queryKey: [id, QKEY_ORDER + id], queryFn: () => { + console.log('getting orders!'); return getOrder(subgraphUrl, id); }, enabled: !!subgraphUrl }); const interval = setInterval(async () => { - // This invalidate function invalidates - // both order detail and order trades list queries await queryClient.invalidateQueries({ queryKey: [id], - refetchType: 'active', + refetchType: 'all', exact: false }); }, 5000); @@ -100,30 +102,48 @@
-
- Order - +
+
+ Order + +
+ +
- - {#if data && $signerAddress === data.order.owner && data.order.active && handleOrderRemoveModal && $wagmiConfig && chainId && orderbookAddress} + +
+ {#if data && $signerAddress === data.order.owner && data.order.active && handleOrderRemoveModal && $wagmiConfig && chainId && orderbookAddress} + + {/if} - Remove - - {/if} +
diff --git a/packages/ui-components/src/lib/components/detail/VaultDetail.svelte b/packages/ui-components/src/lib/components/detail/VaultDetail.svelte index 63bdca277..4b0027363 100644 --- a/packages/ui-components/src/lib/components/detail/VaultDetail.svelte +++ b/packages/ui-components/src/lib/components/detail/VaultDetail.svelte @@ -14,7 +14,7 @@ import { onDestroy } from 'svelte'; import type { Readable, Writable } from 'svelte/store'; - import { queryClient } from '../../queries/queryClient'; + import { useQueryClient } from '@tanstack/svelte-query'; import { ArrowDownOutline, ArrowUpOutline } from 'flowbite-svelte-icons'; import type { Vault } from '@rainlanguage/orderbook/js_api'; @@ -22,6 +22,7 @@ import type { AppStoresInterface } from '../../types/appStores'; import type { Config } from 'wagmi'; import DepositOrWithdrawButtons from './DepositOrWithdrawButtons.svelte'; + import Refresh from '../icon/Refresh.svelte'; export let handleDepositOrWithdrawModal: | ((args: { @@ -53,6 +54,7 @@ const subgraphUrl = $settings?.subgraphs?.[network] || ''; const chainId = $settings?.networks?.[network]?.['chain-id'] || 0; const rpcUrl = $settings?.networks?.[network]?.['rpc'] || ''; + const queryClient = useQueryClient(); $: vaultDetailQuery = createQuery({ queryKey: [id, QKEY_VAULT + id], @@ -90,7 +92,7 @@ > {data.token.name}
-
+
{#if $wagmiConfig && handleDepositOrWithdrawModal && $signerAddress === data.owner} Withdraw {/if} +
diff --git a/packages/ui-components/src/lib/components/icon/Refresh.svelte b/packages/ui-components/src/lib/components/icon/Refresh.svelte index c07425d76..d5b0a4c1e 100644 --- a/packages/ui-components/src/lib/components/icon/Refresh.svelte +++ b/packages/ui-components/src/lib/components/icon/Refresh.svelte @@ -22,7 +22,7 @@ xmlns="http://www.w3.org/2000/svg" fill="none" {...$$restProps} - class={twMerge('shrink-0', sizes[size], $$props.class, spin ? 'animate-spin' : '')} + class={twMerge('shrink-0', sizes[size], $$props.class, spin ? 'animate-spin ease-out' : '')} {role} aria-label={ariaLabel} viewBox="0 0 24 24" diff --git a/packages/webapp/src/routes/orders/[network]-[id]/+page.svelte b/packages/webapp/src/routes/orders/[network]-[id]/+page.svelte index 5bc355f4f..4ef0325d7 100644 --- a/packages/webapp/src/routes/orders/[network]-[id]/+page.svelte +++ b/packages/webapp/src/routes/orders/[network]-[id]/+page.svelte @@ -38,7 +38,9 @@ $: if ($transactionStore.status === TransactionStatus.SUCCESS) { queryClient.invalidateQueries({ - queryKey: [$page.params.id] + queryKey: [$page.params.id], + refetchType: 'all', + exact: false }); triggerToast(); } diff --git a/packages/webapp/src/routes/vaults/[network]-[id]/+page.svelte b/packages/webapp/src/routes/vaults/[network]-[id]/+page.svelte index 39b7adecc..fa27487f0 100644 --- a/packages/webapp/src/routes/vaults/[network]-[id]/+page.svelte +++ b/packages/webapp/src/routes/vaults/[network]-[id]/+page.svelte @@ -29,7 +29,9 @@ $: if ($transactionStore.status === TransactionStatus.SUCCESS) { queryClient.invalidateQueries({ - queryKey: [$page.params.id] + queryKey: [$page.params.id], + refetchType: 'all', + exact: false }); triggerToast(); }