diff --git a/public/i18n/en.json b/public/i18n/en.json index 0c825e2a..6056bd8f 100644 --- a/public/i18n/en.json +++ b/public/i18n/en.json @@ -682,7 +682,9 @@ }, "resync": { "incorrect_balance": "On-chain balance seems incorrect? Try re-syncing the on-chain wallet.", - "resync_wallet": "Resync wallet" + "resync_wallet": "Resync on-chain", + "resync_ln": "Resync address", + "lightning_address": "Missing payments to your lightning address? Try resyncing. This could take a while, so be patient!" }, "on_boot": { "existing_tab": { diff --git a/src/components/KitchenSink.tsx b/src/components/KitchenSink.tsx index 88833d65..691c493b 100644 --- a/src/components/KitchenSink.tsx +++ b/src/components/KitchenSink.tsx @@ -20,6 +20,7 @@ import { InnerCard, MiniStringShower, Restart, + ResyncLnAddress, ResyncOnchain, showToast, SimpleErrorDisplay, @@ -570,6 +571,8 @@ export function KitchenSink() {

+ +

diff --git a/src/components/ResyncLnAddress.tsx b/src/components/ResyncLnAddress.tsx new file mode 100644 index 00000000..886966ce --- /dev/null +++ b/src/components/ResyncLnAddress.tsx @@ -0,0 +1,32 @@ +import { createSignal } from "solid-js"; + +import { Button, InnerCard, NiceP, VStack } from "~/components"; +import { useI18n } from "~/i18n/context"; +import { useMegaStore } from "~/state/megaStore"; + +export function ResyncLnAddress() { + const i18n = useI18n(); + const [_state, _actions, sw] = useMegaStore(); + const [loading, setLoading] = createSignal(false); + + async function resync() { + try { + setLoading(true); + await sw.resync_lightning_address(); + } catch (e) { + console.error(e); + } + setLoading(false); + } + + return ( + + + {i18n.t("error.resync.lightning_address")} + + + + ); +} diff --git a/src/components/index.ts b/src/components/index.ts index 5706dba8..7f039e6f 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -57,3 +57,4 @@ export * from "./ImportNsecForm"; export * from "./LightningAddressShower"; export * from "./FederationInviteShower"; export * from "./FederationPopup"; +export * from "./ResyncLnAddress"; diff --git a/src/workers/walletWorker.ts b/src/workers/walletWorker.ts index 8a7242a3..197be961 100644 --- a/src/workers/walletWorker.ts +++ b/src/workers/walletWorker.ts @@ -1560,6 +1560,10 @@ export async function estimate_sweep_federation_fee( return await wallet!.estimate_sweep_federation_fee(amount); } +export async function resync_lightning_address(): Promise { + await wallet!.resync_lightning_address(); +} + export async function parse_params(params: string): Promise { const paramsResult = await new PaymentParams(params); // PAIN just another object rebuild