From 9bb2f951b346e67a96b1d809ff3cc8488f65f89c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20S=C3=A1?= Date: Mon, 25 Oct 2021 23:30:42 +0100 Subject: [PATCH 1/3] feat: update transaction details on cancel --- .../src/pages/Transactions/DetailsCard.js | 2 +- .../src/pages/Transactions/Transactions.js | 30 +++++++------------ 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.js b/new-lamassu-admin/src/pages/Transactions/DetailsCard.js index a339d421..5a646fc6 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.js +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.js @@ -341,5 +341,5 @@ const DetailsRow = ({ it: tx, timezone }) => { export default memo( DetailsRow, (prev, next) => - prev.it.id === next.it.id && prev.it.hasError === next.it.hasError + prev.it.id === next.it.id && getStatus(prev.it) === getStatus(next.it) ) diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.js b/new-lamassu-admin/src/pages/Transactions/Transactions.js index a9b576bb..9cec7852 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.js +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.js @@ -4,7 +4,7 @@ import BigNumber from 'bignumber.js' import gql from 'graphql-tag' import { utils as coinUtils } from 'lamassu-coins' import * as R from 'ramda' -import React, { useEffect, useState } from 'react' +import React, { useState } from 'react' import { useHistory } from 'react-router-dom' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' @@ -122,23 +122,15 @@ const Transactions = () => { const { data: filtersResponse, loading: loadingFilters } = useQuery( GET_TRANSACTION_FILTERS ) - const [filteredTransactions, setFilteredTransactions] = useState([]) const [variables, setVariables] = useState({ limit: NUM_LOG_RESULTS }) - const { - data: txResponse, - loading: loadingTransactions, - refetch, - startPolling, - stopPolling - } = useQuery(GET_TRANSACTIONS, { - variables, - onCompleted: data => setFilteredTransactions(R.path(['transactions'])(data)) - }) - - useEffect(() => { - startPolling(10000) - return stopPolling - }) + const { data: txData, loading: loadingTransactions, refetch } = useQuery( + GET_TRANSACTIONS, + { + variables, + pollInterval: 10000 + } + ) + const txList = txData ? txData.transactions : [] const { data: configResponse, configLoading } = useQuery(GET_DATA) const timezone = R.path(['config', 'locale_timezone'], configResponse) @@ -273,7 +265,7 @@ const Transactions = () => { onChange={onFilterChange} /> - {txResponse && ( + {txList && (
{ loading={loadingTransactions && configLoading} emptyText="No transactions so far" elements={elements} - data={filteredTransactions} + data={txList} Details={DetailsRow} expandable rowSize="sm" From 8453a6ae854d4d543cc80e95d2b5b609a7be5b3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20S=C3=A1?= Date: Tue, 26 Oct 2021 14:44:24 +0100 Subject: [PATCH 2/3] chore: fix typos --- new-lamassu-admin/src/components/ConfirmDialog.js | 4 ++-- .../src/components/machineActions/MachineActions.js | 2 +- new-lamassu-admin/src/pages/Transactions/DetailsCard.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/new-lamassu-admin/src/components/ConfirmDialog.js b/new-lamassu-admin/src/components/ConfirmDialog.js index 066e9f54..2c349a97 100644 --- a/new-lamassu-admin/src/components/ConfirmDialog.js +++ b/new-lamassu-admin/src/components/ConfirmDialog.js @@ -63,7 +63,7 @@ export const ConfirmDialog = memo( message, confirmationMessage = `Write '${toBeConfirmed}' to confirm this action`, onConfirmed, - onDissmised, + onDismissed, initialValue = '', disabled = false, ...props @@ -76,7 +76,7 @@ export const ConfirmDialog = memo( const innerOnClose = () => { setValue('') setError(false) - onDissmised() + onDismissed() } const isOnErrorState = diff --git a/new-lamassu-admin/src/components/machineActions/MachineActions.js b/new-lamassu-admin/src/components/machineActions/MachineActions.js index 6a50219a..4ae57a6e 100644 --- a/new-lamassu-admin/src/components/machineActions/MachineActions.js +++ b/new-lamassu-admin/src/components/machineActions/MachineActions.js @@ -207,7 +207,7 @@ const MachineActions = memo(({ machine, onActionSuccess }) => { } }) }} - onDissmised={() => { + onDismissed={() => { setAction({ command: null }) setErrorMessage(null) }} diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.js b/new-lamassu-admin/src/pages/Transactions/DetailsCard.js index 5a646fc6..92a81f13 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.js +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.js @@ -329,7 +329,7 @@ const DetailsRow = ({ it: tx, timezone }) => { } }) }} - onDissmised={() => { + onDismissed={() => { setAction({ command: null }) setErrorMessage(null) }} From 8d53e37ade0e3da29793a6a596cd21f39b6e4c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20S=C3=A1?= Date: Fri, 29 Oct 2021 13:18:00 +0100 Subject: [PATCH 3/3] fix: stop polling on unauthenticated error --- .../src/pages/Transactions/Transactions.js | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.js b/new-lamassu-admin/src/pages/Transactions/Transactions.js index 9cec7852..09d90955 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.js +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.js @@ -4,7 +4,7 @@ import BigNumber from 'bignumber.js' import gql from 'graphql-tag' import { utils as coinUtils } from 'lamassu-coins' import * as R from 'ramda' -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import { useHistory } from 'react-router-dom' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' @@ -123,13 +123,19 @@ const Transactions = () => { GET_TRANSACTION_FILTERS ) const [variables, setVariables] = useState({ limit: NUM_LOG_RESULTS }) - const { data: txData, loading: loadingTransactions, refetch } = useQuery( - GET_TRANSACTIONS, - { - variables, - pollInterval: 10000 - } - ) + const { + data: txData, + loading: loadingTransactions, + refetch, + startPolling, + stopPolling + } = useQuery(GET_TRANSACTIONS, { variables }) + + useEffect(() => { + startPolling(10000) + return stopPolling + }) + const txList = txData ? txData.transactions : [] const { data: configResponse, configLoading } = useQuery(GET_DATA)