diff --git a/apps/machine/src/views/CashInView.vue b/apps/machine/src/views/CashInView.vue index db3cefb..146c815 100644 --- a/apps/machine/src/views/CashInView.vue +++ b/apps/machine/src/views/CashInView.vue @@ -13,6 +13,19 @@ import QRCode from '@/components/QRCode.vue' const router = useRouter() const atmStore = useAtmStore() +const isElectron = typeof window !== 'undefined' && window.electronAPI !== undefined + +// Whether the header cancel button should be visible +// Hide after bills are inserted — state machine routes to confirmAbandon instead +const showCancelButton = computed(() => { + const state = atmStore.nestedState + const hasBills = (atmStore.context?.billsInserted.length ?? 0) > 0 + // Always show in insertingBills (before bills) and error (without bills) + if (state === 'insertingBills' || state === 'fetchingRate') return true + if (state === 'error' && !hasBills) return true + // Hide when bills are in the cash box + return false +}) // CLINK Debit: customer's npub/pubkey const pubkeyInput = ref('') @@ -190,7 +203,10 @@ const isProcessing = computed(() => atmStore.isPayingInvoice || atmStore.isReque
Scan with
Waiting for payment...
+{{ qrMode === 'unified' @@ -395,8 +417,8 @@ const isProcessing = computed(() => atmStore.isPayingInvoice || atmStore.isReque
Waiting for payment...
{{ context.invoice.slice(0, 50) }}...