aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-12-06 13:37:01 -0300
committerSebastian <sebasjm@gmail.com>2021-12-06 13:37:01 -0300
commitce3ffbcd81b67c4a8e869b3392e6fdce44888300 (patch)
tree9e4ffd00d7e6abbac32cd28ff2c9863618bcdab8
parent505eb07d8e42d6787dc23b2024b76e05f807e1ad (diff)
show error hint if its found
-rw-r--r--packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx11
-rw-r--r--packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx15
2 files changed, 21 insertions, 5 deletions
diff --git a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
index 2f50fda2f..ae451dcd8 100644
--- a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
+++ b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
@@ -13,7 +13,7 @@
You should have received a copy of the GNU General Public License along with
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import { TalerErrorDetails } from "@gnu-taler/taler-util";
+import { TalerErrorCode, TalerErrorDetails } from "@gnu-taler/taler-util";
import { VNode, h, Fragment } from "preact";
import { useState } from "preact/hooks";
import arrowDown from "../../static/img/chevron-down.svg";
@@ -29,7 +29,11 @@ export function ErrorTalerOperation({
}): VNode | null {
const { devMode } = useDevContext();
const [showErrorDetail, setShowErrorDetail] = useState(false);
+
if (!title || !error) return null;
+ // const errorCode: number | undefined = (error.details as any)?.errorResponse?.code
+ const errorHint: string | undefined = (error.details as any)?.errorResponse?.hint
+
return (
<ErrorBox style={{ paddingTop: 0, paddingBottom: 0 }}>
<div>
@@ -49,6 +53,11 @@ export function ErrorTalerOperation({
<div style={{ padding: 5, textAlign: "left" }}>
<div>{error.message}</div>
</div>
+ {errorHint &&
+ <div style={{ padding: 5, textAlign: "left" }}>
+ <div>{errorHint}</div>
+ </div>
+ }
{devMode && (
<div style={{ textAlign: "left", overflowX: "auto" }}>
<pre>{JSON.stringify(error, undefined, 2)}</pre>
diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
index 6f57df315..4e8433921 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
@@ -123,10 +123,17 @@ const exampleData = {
};
const transactionError = {
- code: 2000,
- details: "details",
- hint: "this is a hint for the error",
- message: "this is the error message with get from the app",
+ code: 7005,
+ details: {
+ requestUrl: "http://merchant-backend.taler:9966/orders/2021.340-02AD5XCC97MQM/pay",
+ httpStatusCode: 410,
+ errorResponse: {
+ code: 2161,
+ hint: "The payment is too late, the offer has expired."
+ }
+ },
+ hint: "Error: WALLET_UNEXPECTED_REQUEST_ERROR",
+ message: "Unexpected error code in response",
};
export const Withdraw = createExample(TestedComponent, {