diff options
author | Sebastian <sebasjm@gmail.com> | 2022-02-24 15:58:39 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-02-24 16:06:58 -0300 |
commit | 2e852d5abd94553e29887f696b35b9e3f023ed6b (patch) | |
tree | f54fe146561a7fab1fdab4417f7592753570cd9c /packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx | |
parent | 701b01e9184d5d9dd5c40dc5191a7fab14a4a37c (diff) | |
parent | 191914e60f356c3f0307fbd6f393237b78d5857c (diff) | |
download | wallet-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.tsx | 119 |
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(); |