diff options
author | Florian Dold <florian@dold.me> | 2024-02-22 12:42:54 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-02-22 12:42:54 +0100 |
commit | 8153c5026f3e7a100564e6dd9944e054cbb1b910 (patch) | |
tree | b6fb4e4ba17c9642268a8040cd8803751251e641 /packages/taler-wallet-webextension | |
parent | 012ba47d0bf669c258d703606a09c5d48922a58f (diff) | |
download | wallet-core-8153c5026f3e7a100564e6dd9944e054cbb1b910.tar.xz |
webextension: render more info about exchanges
Diffstat (limited to 'packages/taler-wallet-webextension')
3 files changed, 31 insertions, 10 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/AddExchange/test.ts b/packages/taler-wallet-webextension/src/wallet/AddExchange/test.ts index c9c119fd3..60d5b274c 100644 --- a/packages/taler-wallet-webextension/src/wallet/AddExchange/test.ts +++ b/packages/taler-wallet-webextension/src/wallet/AddExchange/test.ts @@ -19,18 +19,18 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { expect } from "chai"; -import { createWalletApiMock } from "../../test-utils.js"; -import * as tests from "@gnu-taler/web-util/testing"; -import { Props } from "./index.js"; -import { useComponentState } from "./state.js"; -import { nullFunction } from "../../mui/handlers.js"; -import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { ExchangeEntryStatus, ExchangeTosStatus, ExchangeUpdateStatus, } from "@gnu-taler/taler-util"; +import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; +import * as tests from "@gnu-taler/web-util/testing"; +import { expect } from "chai"; +import { nullFunction } from "../../mui/handlers.js"; +import { createWalletApiMock } from "../../test-utils.js"; +import { Props } from "./index.js"; +import { useComponentState } from "./state.js"; const props: Props = { onBack: nullFunction, noDebounce: true, @@ -54,6 +54,7 @@ describe("AddExchange states", () => { tosStatus: ExchangeTosStatus.Pending, exchangeUpdateStatus: ExchangeUpdateStatus.UnavailableUpdate, paytoUris: [], + lastUpdateTimestamp: undefined, }, ], }, diff --git a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts index d42a3477d..3082ae7a4 100644 --- a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts +++ b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts @@ -27,8 +27,8 @@ import { ExchangeUpdateStatus, } from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; -import { expect } from "chai"; import * as tests from "@gnu-taler/web-util/testing"; +import { expect } from "chai"; import { nullFunction } from "../../mui/handlers.js"; import { createWalletApiMock } from "../../test-utils.js"; import { useComponentState } from "./state.js"; @@ -42,6 +42,7 @@ const exchangeArs: ExchangeListItem = { exchangeUpdateStatus: ExchangeUpdateStatus.Initial, paytoUris: [], ageRestrictionOptions: [], + lastUpdateTimestamp: undefined, }; describe("Destination selection states", () => { diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx b/packages/taler-wallet-webextension/src/wallet/Settings.tsx index 19b30dd5f..38e576496 100644 --- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx @@ -15,6 +15,7 @@ */ import { + AbsoluteTime, ExchangeListItem, ExchangeTosStatus, LibtoolVersion, @@ -153,16 +154,22 @@ export function SettingsView({ <i18n.Translate>URL</i18n.Translate> </th> <th> + <i18n.Translate>Status</i18n.Translate> + </th> + <th> <i18n.Translate>Terms of Service</i18n.Translate> </th> <th> + <i18n.Translate>Last Update</i18n.Translate> + </th> + <th> <i18n.Translate>Actions</i18n.Translate> </th> </tr> </thead> <tbody> {knownExchanges.map((e, idx) => { - function Status(): VNode { + function TosStatus(): VNode { switch (e.tosStatus) { case ExchangeTosStatus.Accepted: return ( @@ -195,7 +202,19 @@ export function SettingsView({ <a href={e.exchangeBaseUrl}>{e.exchangeBaseUrl}</a> </td> <td> - <Status /> + {e.exchangeEntryStatus} / {e.exchangeUpdateStatus} + </td> + <td> + <TosStatus /> + </td> + <td> + {e.lastUpdateTimestamp + ? AbsoluteTime.toIsoString( + AbsoluteTime.fromPreciseTimestamp( + e.lastUpdateTimestamp, + ), + ) + : "never"} </td> <td> <button |