diff --git a/src/components/transactions/BtcTransaction.vue b/src/components/transactions/BtcTransaction.vue index c75a50904..8b0a821e1 100644 --- a/src/components/transactions/BtcTransaction.vue +++ b/src/components/transactions/BtcTransaction.vue @@ -1,55 +1,78 @@ - diff --git a/src/components/transactions/DogeTransaction.vue b/src/components/transactions/DogeTransaction.vue new file mode 100644 index 000000000..05ad744b2 --- /dev/null +++ b/src/components/transactions/DogeTransaction.vue @@ -0,0 +1,181 @@ + + + diff --git a/src/hooks/queries/useDashTransferQuery.ts b/src/hooks/queries/useDashTransferQuery.ts new file mode 100644 index 000000000..1dae38941 --- /dev/null +++ b/src/hooks/queries/useDashTransferQuery.ts @@ -0,0 +1,17 @@ +import { MaybeRef, unref } from 'vue' +import { useQuery } from '@tanstack/vue-query' +import { Cryptos } from '@/lib/constants' +import { dash } from '@/lib/nodes' +import { DashTransaction } from '@/lib/nodes/types/transaction' + +/** + * @param transactionId - DASH transaction ID + * @param address - DASH address + */ +export function useDashTransferQuery(transactionId: MaybeRef, address: MaybeRef) { + return useQuery({ + queryKey: ['transaction', Cryptos.DASH, transactionId], + queryFn: () => dash.getTransaction(unref(transactionId), unref(address)), + initialData: {} as DashTransaction + }) +} diff --git a/src/hooks/queries/useDogeTransferQuery.ts b/src/hooks/queries/useDogeTransferQuery.ts new file mode 100644 index 000000000..2159e5a5f --- /dev/null +++ b/src/hooks/queries/useDogeTransferQuery.ts @@ -0,0 +1,17 @@ +import { MaybeRef, unref } from 'vue' +import { useQuery } from '@tanstack/vue-query' +import { Cryptos } from '@/lib/constants' +import { doge } from '@/lib/nodes' +import { DogeTransaction } from '@/lib/nodes/types/transaction' + +/** + * @param transactionId - DOGE transaction ID + * @param address - DOGE address + */ +export function useDogeTransferQuery(transactionId: MaybeRef, address: MaybeRef) { + return useQuery({ + queryKey: ['transaction', Cryptos.DOGE, transactionId], + queryFn: () => doge.getTransaction(unref(transactionId), unref(address)), + initialData: {} as DogeTransaction + }) +} diff --git a/src/views/transactions/Transaction.vue b/src/views/transactions/Transaction.vue index 6948183d9..6a2a19ec7 100644 --- a/src/views/transactions/Transaction.vue +++ b/src/views/transactions/Transaction.vue @@ -7,9 +7,11 @@ import AdmTransaction from '../../components/transactions/AdmTransaction.vue' import EthTransaction from '../../components/transactions/EthTransaction.vue' import Erc20Transaction from '../../components/transactions/Erc20Transaction.vue' import BtcTransaction from '../../components/transactions/BtcTransaction.vue' +import DogeTransaction from '../../components/transactions/DogeTransaction.vue' +import DashTransaction from '../../components/transactions/DashTransaction.vue' import KlyTransaction from '../../components/transactions/KlyTransaction.vue' -import { Cryptos, isErc20, isBtcBased, isKlyBased } from '../../lib/constants' +import { Cryptos, isErc20, isKlyBased } from '../../lib/constants' import { getTxUpdateInterval } from '../../lib/transactionsFetching' export default { @@ -19,6 +21,8 @@ export default { EthTransaction, Erc20Transaction, BtcTransaction, + DogeTransaction, + DashTransaction, KlyTransaction }, props: { @@ -39,8 +43,10 @@ export default { computed: { transactionComponent() { if (this.crypto === Cryptos.ETH) return 'eth-transaction' + if (this.crypto === Cryptos.BTC) return 'btc-transaction' + if (this.crypto === Cryptos.DOGE) return 'doge-transaction' + if (this.crypto === Cryptos.DASH) return 'dash-transaction' if (isErc20(this.crypto)) return 'erc20-transaction' - if (isBtcBased(this.crypto)) return 'btc-transaction' if (isKlyBased(this.crypto)) return 'kly-transaction' return 'adm-transaction' }