summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-02-24 15:58:39 -0300
committerSebastian <sebasjm@gmail.com>2022-02-24 16:06:58 -0300
commit2e852d5abd94553e29887f696b35b9e3f023ed6b (patch)
treef54fe146561a7fab1fdab4417f7592753570cd9c /packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
parent701b01e9184d5d9dd5c40dc5191a7fab14a4a37c (diff)
parent191914e60f356c3f0307fbd6f393237b78d5857c (diff)
downloadwallet-core-2e852d5abd94553e29887f696b35b9e3f023ed6b.tar.gz
wallet-core-2e852d5abd94553e29887f696b35b9e3f023ed6b.tar.bz2
wallet-core-2e852d5abd94553e29887f696b35b9e3f023ed6b.zip
Merge remote-tracking branch 'origin/master' into HEADdev/sebasjm/weblate-fix-tr-rebase
Diffstat (limited to 'packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx119
1 files changed, 79 insertions, 40 deletions
diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
index 3326be8df..228c3cdfd 100644
--- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
@@ -20,6 +20,8 @@ import {
CoinDumpJson,
ExchangeListItem,
NotificationType,
+ Translate,
+ i18n,
} from "@gnu-taler/taler-util";
import { PendingTaskInfo } from "@gnu-taler/taler-wallet-core";
import { format } from "date-fns";
@@ -31,7 +33,6 @@ import { Time } from "../components/Time";
import { useAsyncAsHook } from "../hooks/useAsyncAsHook";
import { useDiagnostics } from "../hooks/useDiagnostics";
import * as wxApi from "../wxApi";
-import BalanceStories from "./Balance.stories";
export function DeveloperPage(): VNode {
const [status, timedOut] = useDiagnostics();
@@ -149,10 +150,16 @@ export function View({
return (
<div>
- <p>Debug tools:</p>
- <button onClick={confirmReset}>reset</button>
+ <p>
+ <i18n.Translate>Debug tools</i18n.Translate>:
+ </p>
+ <button onClick={confirmReset}>
+ <i18n.Translate>reset</i18n.Translate>
+ </button>
<br />
- <button onClick={() => fileRef?.current?.click()}>import database</button>
+ <button onClick={() => fileRef?.current?.click()}>
+ <i18n.Translate>import database</i18n.Translate>
+ </button>
<input
ref={fileRef}
style={{ display: "none" }}
@@ -171,31 +178,36 @@ export function View({
}}
/>
<br />
- <button onClick={onExportDatabase}>export database</button>
+ <button onClick={onExportDatabase}>
+ <i18n.Translate>export database</i18n.Translate>
+ </button>
{downloadedDatabase && (
<div>
- Database exported at
- <Time
- timestamp={{ t_ms: downloadedDatabase.time.getTime() }}
- format="yyyy/MM/dd HH:mm:ss"
- />
- <a
- href={`data:text/plain;charset=utf-8;base64,${toBase64(
- downloadedDatabase.content,
- )}`}
- download={`taler-wallet-database-${format(
- downloadedDatabase.time,
- "yyyy/MM/dd_HH:mm",
- )}.json`}
- >
- {" "}
- click here{" "}
- </a>
- to download
+ <i18n.Translate>
+ Database exported at
+ <Time
+ timestamp={{ t_ms: downloadedDatabase.time.getTime() }}
+ format="yyyy/MM/dd HH:mm:ss"
+ />
+ <a
+ href={`data:text/plain;charset=utf-8;base64,${toBase64(
+ downloadedDatabase.content,
+ )}`}
+ download={`taler-wallet-database-${format(
+ downloadedDatabase.time,
+ "yyyy/MM/dd_HH:mm",
+ )}.json`}
+ >
+ <i18n.Translate>click here</i18n.Translate>
+ </a>
+ to download
+ </i18n.Translate>
</div>
)}
<br />
- <p>Coins:</p>
+ <p>
+ <i18n.Translate>Coins</i18n.Translate>:
+ </p>
{Object.keys(money_by_exchange).map((ex) => {
const allcoins = money_by_exchange[ex];
allcoins.sort((a, b) => {
@@ -220,7 +232,9 @@ export function View({
<Diagnostics diagnostics={status} timedOut={timedOut} />
{operations && operations.length > 0 && (
<Fragment>
- <p>Pending operations</p>
+ <p>
+ <i18n.Translate>Pending operations</i18n.Translate>
+ </p>
<dl>
{operations.reverse().map((o) => {
return (
@@ -257,18 +271,30 @@ function ShowAllCoins({
<b>{ex}</b>: {total} {currencies[ex]}
</p>
<p>
- <b>usable coins</b>
+ <b>
+ <i18n.Translate>usable coins</i18n.Translate>
+ </b>
</p>
{collapsedUnspent ? (
<div onClick={() => setCollapsedUnspent(false)}>click to show</div>
) : (
<table onClick={() => setCollapsedUnspent(true)}>
<tr>
- <td>id</td>
- <td>denom</td>
- <td>value</td>
- <td>status</td>
- <td>from refresh?</td>
+ <td>
+ <i18n.Translate>id</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>denom</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>value</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>status</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>from refresh?</i18n.Translate>
+ </td>
</tr>
{coins.usable.map((c) => {
return (
@@ -283,17 +309,31 @@ function ShowAllCoins({
})}
</table>
)}
- <p>spent coins</p>
+ <p>
+ <i18n.Translate>spent coins</i18n.Translate>
+ </p>
{collapsedSpent ? (
- <div onClick={() => setCollapsedSpent(false)}>click to show</div>
+ <div onClick={() => setCollapsedSpent(false)}>
+ <i18n.Translate>click to show</i18n.Translate>
+ </div>
) : (
<table onClick={() => setCollapsedSpent(true)}>
<tr>
- <td>id</td>
- <td>denom</td>
- <td>value</td>
- <td>status</td>
- <td>refresh?</td>
+ <td>
+ <i18n.Translate>id</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>denom</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>value</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>status</i18n.Translate>
+ </td>
+ <td>
+ <i18n.Translate>from refresh?</i18n.Translate>
+ </td>
</tr>
{coins.spent.map((c) => {
return (
@@ -335,8 +375,7 @@ function runIntegrationTest() {}
export async function confirmReset(): Promise<void> {
if (
confirm(
- "Do you want to IRREVOCABLY DESTROY everything inside your" +
- " wallet and LOSE ALL YOUR COINS?",
+ i18n.str`Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE ALL YOUR COINS?`,
)
) {
await wxApi.resetDb();