From 52d32dcdf74300137cc94e760c97d0345c8248b6 Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Wed, 1 Apr 2026 13:55:03 -0400 Subject: [PATCH] feat(ui): use nprofile deep link for ShockWallet table row QR The ShockWallet entry in the wallets table now resolves to the deep link URL with nprofile param, so scanning its QR icon also connects to the ATM's Lightning.Pub. Falls back to plain URL if unconfigured. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/machine/src/views/SupportView.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/machine/src/views/SupportView.vue b/apps/machine/src/views/SupportView.vue index 25bc868..f3c6fd3 100644 --- a/apps/machine/src/views/SupportView.vue +++ b/apps/machine/src/views/SupportView.vue @@ -59,7 +59,7 @@ const defaultPages: SupportPage[] = [ | Blink | No | Partial | Yes | Yes | https://www.blink.sv | | Zeus | Yes | Yes | Yes | Yes | https://zeusln.com | | Breez | Yes | Yes | Yes | Yes | https://breez.technology | -| ShockWallet | No | Yes | Yes | Yes | https://wallet.aiolabs.dev | +| ShockWallet | No | Yes | Yes | Yes | [shockwallet-deep-link] | Tap a QR icon to scan and download a wallet. @@ -161,8 +161,17 @@ function parseMarkdownTable(tableLines: string[]): ParsedTable | null { return { headers, rows } } +/** Resolve dynamic placeholders in markdown content */ +function resolvePlaceholders(md: string): string { + return md.replace( + '[shockwallet-deep-link]', + shockwalletDeepLink.value || 'https://wallet.aiolabs.dev' + ) +} + /** Parse content into segments: html, qr, or table */ function parseContent(md: string): Segment[] { + md = resolvePlaceholders(md) const segments: Segment[] = [] const lines = md.split('\n') let htmlBlock = ''