fix bug in the WebExtensions pay page

This commit is contained in:
Florian Dold 2019-12-25 19:24:23 +01:00
parent adebfab94e
commit 266b33dc42
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
8 changed files with 52 additions and 31 deletions

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, fuzzy, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr "Der Händler %1$s möchte einen Vertrag über %2$s mit Ihnen abschließen."
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, c-format
msgid "The total price is %1$s."
msgstr ""
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, fuzzy, c-format
msgid "Confirm payment"
msgstr "Bezahlung bestätigen"

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr ""
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, c-format
msgid "The total price is %1$s."
msgstr ""
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, c-format
msgid "Confirm payment"
msgstr ""

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr ""
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, c-format
msgid "The total price is %1$s."
msgstr ""
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, c-format
msgid "Confirm payment"
msgstr ""

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr ""
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, c-format
msgid "The total price is %1$s."
msgstr ""
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, c-format
msgid "Confirm payment"
msgstr ""

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, fuzzy, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr "Säljaren %1$s erbjuder följande:"
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, fuzzy, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr "Det totala priset är %1$s (plus %2$s avgifter).\n"
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, fuzzy, c-format
msgid "The total price is %1$s."
msgstr "Det totala priset är %1$s."
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, c-format
msgid "Confirm payment"
msgstr "Godkän betalning"

View File

@ -57,27 +57,27 @@ msgstr ""
msgid "time (ms/op)"
msgstr ""
#: src/webex/pages/pay.tsx:117
#: src/webex/pages/pay.tsx:132
#, c-format
msgid "The merchant %1$s offers you to purchase:"
msgstr ""
#: src/webex/pages/pay.tsx:123
#: src/webex/pages/pay.tsx:138
#, c-format
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
#: src/webex/pages/pay.tsx:128
#: src/webex/pages/pay.tsx:143
#, c-format
msgid "The total price is %1$s."
msgstr ""
#: src/webex/pages/pay.tsx:148
#: src/webex/pages/pay.tsx:163
#, c-format
msgid "Retry"
msgstr ""
#: src/webex/pages/pay.tsx:157
#: src/webex/pages/pay.tsx:172
#, c-format
msgid "Confirm payment"
msgstr ""

View File

@ -106,6 +106,12 @@ class ObjectCodecBuilder<OutputType, PartialOutputType> {
path: [`(${objectDisplayName})`],
};
}
if (typeof x !== "object") {
throw new DecodingError(
`expected object for ${objectDisplayName} at ${renderContext(
c,
)} but got ${typeof x}`)
}
const obj: any = {};
for (const prop of propList) {
const propRawVal = x[prop.name];

View File

@ -32,6 +32,7 @@ import * as wxApi from "../wxApi";
import React, { useState, useEffect } from "react";
import * as Amounts from "../../util/amounts";
import { codecForContractTerms, ContractTerms } from "../../types/talerTypes";
function TalerPayDialog({ talerPayUri }: { talerPayUri: string }) {
const [payStatus, setPayStatus] = useState<PreparePayResult | undefined>();
@ -74,7 +75,21 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }) {
);
}
const contractTerms = payStatus.contractTermsRaw;
let contractTerms: ContractTerms;
try {
contractTerms = codecForContractTerms().decode(JSON.parse(payStatus.contractTermsRaw));
} catch (e) {
// This should never happen, as the wallet is supposed to check the contract terms
// before storing them.
console.error(e);
console.log("raw contract terms were", payStatus.contractTermsRaw);
return (
<span>
Invalid contract terms.
</span>
);
}
if (!contractTerms) {
return (