fix(wallet): channel funding-tx link uses the explorer flow + consent modal above nested modals
Some checks failed
Demo images / Build & push demo images (push) Failing after 35s
Some checks failed
Demo images / Build & push demo images (push) Failing after 35s
The Channels panel's 'Funding tx in Mempool' link still hardcoded the local app (missed in the explorer rollout): now it routes like every other tx link — local Mempool when running, else the saved external explorer, with the first-time consent modal setting it up and then opening the tx. The consent modal moves to z-3600 so it renders above the Wallet Settings modal that can trigger it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
6347d16a2f
commit
bfd8bc5b9a
@ -1,8 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- z-3600: this consent prompt can be triggered from INSIDE another
|
||||||
|
modal (e.g. Wallet Settings → Channels → funding tx), so it must sit
|
||||||
|
above the standard modal layer (3000) but below the app overlay (4000). -->
|
||||||
<BaseModal
|
<BaseModal
|
||||||
:show="!!explorer.pendingTx.value"
|
:show="!!explorer.pendingTx.value"
|
||||||
title="Open on an external explorer?"
|
title="Open on an external explorer?"
|
||||||
max-width="max-w-md"
|
max-width="max-w-md"
|
||||||
|
z-index="z-[3600]"
|
||||||
@close="explorer.cancelPending()"
|
@close="explorer.cancelPending()"
|
||||||
>
|
>
|
||||||
<!-- Same visual language as the uninstall keep-your-data warning: amber
|
<!-- Same visual language as the uninstall keep-your-data warning: amber
|
||||||
|
|||||||
@ -301,7 +301,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted } from 'vue'
|
import { ref, onMounted } from 'vue'
|
||||||
import { rpcClient } from '@/api/rpc-client'
|
import { rpcClient } from '@/api/rpc-client'
|
||||||
import { useAppLauncherStore } from '@/stores/appLauncher'
|
import { useTxExplorer } from '@/composables/useTxExplorer'
|
||||||
|
|
||||||
defineProps<{ compact?: boolean }>()
|
defineProps<{ compact?: boolean }>()
|
||||||
|
|
||||||
@ -390,10 +390,14 @@ function fundingTxid(ch: Channel): string {
|
|||||||
return /^[0-9a-fA-F]{64}$/.test(txid) ? txid : ''
|
return /^[0-9a-fA-F]{64}$/.test(txid) ? txid : ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const txExplorer = useTxExplorer()
|
||||||
function openInMempool(txid: string) {
|
function openInMempool(txid: string) {
|
||||||
if (!txid) return
|
if (!txid) return
|
||||||
// Overlay the explorer above the current page — never navigate away.
|
// Same routing as every other tx link (missed in the first pass —
|
||||||
useAppLauncherStore().openSession('mempool', { path: `/tx/${txid}` })
|
// 2026-07-22): local Mempool app when it's running, otherwise the saved
|
||||||
|
// external explorer, with the first-time consent modal setting it up and
|
||||||
|
// then opening the tx.
|
||||||
|
txExplorer.openTx(txid)
|
||||||
}
|
}
|
||||||
|
|
||||||
function capacityPercent(amount: number, capacity: number): number {
|
function capacityPercent(amount: number, capacity: number): number {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user