diff options
-rw-r--r-- | packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx | 7 | ||||
-rw-r--r-- | packages/taler-wallet-webextension/src/wxApi.ts | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx index 8d24545d5..b32555248 100644 --- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx +++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx @@ -46,7 +46,10 @@ export function DeveloperPage(): VNode { return <View status={status} timedOut={timedOut} operations={operations} - onDownloadDatabase={async () => "content"} + onDownloadDatabase={async () => { + const db = await wxApi.exportDB() + return JSON.stringify(db) + }} />; } @@ -81,7 +84,7 @@ export function View({ status, timedOut, operations, onDownloadDatabase }: Props <br /> <button onClick={onExportDatabase}>export database</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,${Buffer.from(downloadedDatabase.content).toString('base64')}`} download={`taler-wallet-database-${format(downloadedDatabase.time, 'yyyy/MM/dd_HH:mm')}.json`}>click here</a> to download + 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,${btoa(downloadedDatabase.content)}`} download={`taler-wallet-database-${format(downloadedDatabase.time, 'yyyy/MM/dd_HH:mm')}.json`}>click here</a> to download </div>} <br /> <Diagnostics diagnostics={status} timedOut={timedOut} /> diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 46a175afa..4d8b932d3 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -355,6 +355,10 @@ export function acceptTip(req: AcceptTipRequest): Promise<void> { return callBackend("acceptTip", req); } +export function exportDB(): Promise<any> { + return callBackend("exportDb", {}); +} + export function onUpdateNotification(messageTypes: Array<NotificationType>, doCallback: () => void): () => void { // eslint-disable-next-line no-undef const port = chrome.runtime.connect({ name: "notifications" }); |