d3bc3fbad284e8698de769c3f1c507f5913630edcc4907f196f8c33ab0d05a8f.json raw
1 {"ast":null,"code":"import _asyncToGenerator from \"/home/mleku/src/orly.dev/next/signer/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { LoggerService, NavComponent, NwcService, CashuService, BrowserSyncFlow } from '@common';\nimport * as QRCode from 'qrcode';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nconst _forTrack0 = ($index, $item) => $item.id;\nconst _forTrack1 = ($index, $item) => $item.secret;\nconst _forTrack2 = ($index, $item) => $item.payment_hash;\nconst _forTrack3 = ($index, $item) => $item.timestamp;\nfunction WalletComponent_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 15);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_5_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onTestPrompt());\n });\n i0.ɵɵelementStart(1, \"span\", 3);\n i0.ɵɵtext(2, \"\\u2728\");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 16);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_6_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.goBack());\n });\n i0.ɵɵelementStart(1, \"span\", 3);\n i0.ɵɵtext(2, \"\\u2190\");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_17_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 10)(1, \"button\", 17);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_17_Template_button_click_1_listener() {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.setSection(\"cashu\"));\n });\n i0.ɵɵelementStart(2, \"span\", 3);\n i0.ɵɵtext(3, \"\\uD83E\\uDD5C\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"span\", 18);\n i0.ɵɵtext(5, \"Cashu\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"span\", 19);\n i0.ɵɵtext(7);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(8, \"button\", 17);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_17_Template_button_click_8_listener() {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.setSection(\"lightning\"));\n });\n i0.ɵɵelementStart(9, \"span\", 3);\n i0.ɵɵtext(10, \"\\u26A1\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"span\", 18);\n i0.ɵɵtext(12, \"Lightning\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"span\", 19);\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(7);\n i0.ɵɵtextInterpolate1(\"\", ctx_r1.formatCashuBalance(ctx_r1.totalCashuBalance), \" sats\");\n i0.ɵɵadvance(7);\n i0.ɵɵtextInterpolate1(\"\", ctx_r1.formatBalance(ctx_r1.totalLightningBalance), \" sats\");\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_1_Conditional_1_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 26)(1, \"p\")(2, \"strong\");\n i0.ɵɵtext(3, \"Browser Sync is enabled\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"p\");\n i0.ɵɵtext(5, \" Sync storage is limited to ~100KB shared across all your vault data (identities, permissions, relays, and Cashu tokens). This limits your Cashu wallet to approximately 300-400 tokens. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"p\");\n i0.ɵɵtext(7, \" For larger Cashu holdings, consider disabling browser sync which provides ~5MB of local storage (~18,000+ tokens). \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"button\", 29);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Conditional_1_Conditional_1_Conditional_6_Template_button_click_8_listener() {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(4);\n return i0.ɵɵresetView(ctx_r1.navigateToSettings());\n });\n i0.ɵɵtext(9, \" Change Sync Settings \");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_1_Conditional_1_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 27)(1, \"p\")(2, \"strong\");\n i0.ɵɵtext(3, \"Local Storage Mode\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"p\");\n i0.ɵɵtext(5, \" You have ~5MB of local storage available, which can hold thousands of Cashu tokens. Your data stays on this device only. \");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_1_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 23)(1, \"h3\");\n i0.ɵɵtext(2, \"Welcome to Cashu Wallet\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 25)(4, \"h4\");\n i0.ɵɵtext(5, \"Storage Considerations\");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, WalletComponent_Conditional_18_Conditional_1_Conditional_1_Conditional_6_Template, 10, 0, \"div\", 26)(7, WalletComponent_Conditional_18_Conditional_1_Conditional_1_Conditional_7_Template, 6, 0, \"div\", 27);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"div\", 25)(9, \"h4\");\n i0.ɵɵtext(10, \"Backup Your Wallet\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"p\")(12, \"strong\");\n i0.ɵɵtext(13, \"Important:\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(14, \" Cashu tokens are bearer assets. If you lose your vault backup, you lose your tokens permanently. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"p\");\n i0.ɵɵtext(16, \" Vault exports are saved to your browser's downloads folder. Configure this to point to either: \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(17, \"ul\")(18, \"li\");\n i0.ɵɵtext(19, \"Your backup storage device (external drive, NAS)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(20, \"li\");\n i0.ɵɵtext(21, \"A folder synced by your backup tool (Syncthing, rsync, etc.)\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(22, \"p\", 28)(23, \"code\");\n i0.ɵɵtext(24);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(25, \"button\", 29);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Conditional_1_Conditional_1_Template_button_click_25_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.navigateToSettings());\n });\n i0.ɵɵtext(26, \" Go to Backup Settings \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(27, \"button\", 30);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Conditional_1_Conditional_1_Template_button_click_27_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.dismissCashuInfo());\n });\n i0.ɵɵtext(28, \" Got it, let me add a mint \");\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(6);\n i0.ɵɵconditional(ctx_r1.currentSyncFlow === ctx_r1.BrowserSyncFlow.BROWSER_SYNC ? 6 : 7);\n i0.ɵɵadvance(18);\n i0.ɵɵtextInterpolate(ctx_r1.browserDownloadSettingsUrl);\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_1_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 24)(1, \"span\", 31);\n i0.ɵɵtext(2, \"No mints connected yet.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"button\", 32);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Conditional_1_Conditional_2_Template_button_click_3_listener() {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.showCashuInfo = true);\n });\n i0.ɵɵtext(4, \" Show storage info \");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 20);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_18_Conditional_1_Conditional_1_Template, 29, 2, \"div\", 23)(2, WalletComponent_Conditional_18_Conditional_1_Conditional_2_Template, 5, 0, \"div\", 24);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showCashuInfo ? 1 : 2);\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_2_For_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 34);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Conditional_2_For_2_Template_button_click_0_listener() {\n const mint_r10 = i0.ɵɵrestoreView(_r9).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.selectMint(mint_r10.id));\n });\n i0.ɵɵelementStart(1, \"span\", 35);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 36);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const mint_r10 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(mint_r10.name);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\"\", ctx_r1.formatCashuBalance(mint_r10.cachedBalance), \" sats\");\n }\n}\nfunction WalletComponent_Conditional_18_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 21);\n i0.ɵɵrepeaterCreate(1, WalletComponent_Conditional_18_Conditional_2_For_2_Template, 5, 2, \"button\", 33, _forTrack0);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r1.mints);\n }\n}\nfunction WalletComponent_Conditional_18_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 11);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_18_Conditional_1_Template, 3, 1, \"div\", 20)(2, WalletComponent_Conditional_18_Conditional_2_Template, 3, 0, \"div\", 21);\n i0.ɵɵelementStart(3, \"button\", 22);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_18_Template_button_click_3_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showAddMint());\n });\n i0.ɵɵelementStart(4, \"span\", 3);\n i0.ɵɵtext(5, \"+\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"span\");\n i0.ɵɵtext(7, \"Add Mint\");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.mints.length === 0 ? 1 : 2);\n }\n}\nfunction WalletComponent_Conditional_19_Conditional_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 42);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.refreshError);\n }\n}\nfunction WalletComponent_Conditional_19_Conditional_21_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 49);\n i0.ɵɵtext(1, \"No tokens stored\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_19_Conditional_22_For_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 56)(1, \"span\", 57);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 58);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const proof_r12 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(proof_r12.amount);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.formatProofTime(proof_r12.receivedAt));\n }\n}\nfunction WalletComponent_Conditional_19_Conditional_22_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 50);\n i0.ɵɵrepeaterCreate(1, WalletComponent_Conditional_19_Conditional_22_For_2_Template, 5, 2, \"div\", 56, _forTrack1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r1.selectedMintProofs);\n }\n}\nfunction WalletComponent_Conditional_19_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 12)(1, \"div\", 37)(2, \"div\", 38)(3, \"span\", 39);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 40);\n i0.ɵɵtext(6, \"sats\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"button\", 41);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_19_Template_button_click_7_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.refreshMint());\n });\n i0.ɵɵelementStart(8, \"span\", 3);\n i0.ɵɵtext(9, \"\\uD83D\\uDD04\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵtemplate(10, WalletComponent_Conditional_19_Conditional_10_Template, 2, 1, \"div\", 42);\n i0.ɵɵelementStart(11, \"div\", 43)(12, \"button\", 44);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_19_Template_button_click_12_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showDeposit());\n });\n i0.ɵɵtext(13, \" Deposit \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(14, \"button\", 45);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_19_Template_button_click_14_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showReceive());\n });\n i0.ɵɵtext(15, \" Receive \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(16, \"button\", 46);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_19_Template_button_click_16_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showSend());\n });\n i0.ɵɵtext(17, \" Send \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(18, \"div\", 47)(19, \"div\", 48);\n i0.ɵɵtext(20);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(21, WalletComponent_Conditional_19_Conditional_21_Template, 2, 0, \"div\", 49)(22, WalletComponent_Conditional_19_Conditional_22_Template, 3, 0, \"div\", 50);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(23, \"div\", 51)(24, \"div\", 52)(25, \"span\", 53);\n i0.ɵɵtext(26, \"Mint URL\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(27, \"span\", 54);\n i0.ɵɵtext(28);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(29, \"div\", 52)(30, \"span\", 53);\n i0.ɵɵtext(31, \"Unit\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(32, \"span\", 54);\n i0.ɵɵtext(33);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(34, \"button\", 55);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_19_Template_button_click_34_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.deleteMint());\n });\n i0.ɵɵtext(35, \" Delete Mint \");\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.formatCashuBalance(ctx_r1.selectedMintBalance));\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"disabled\", ctx_r1.refreshingMint);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"spinning\", ctx_r1.refreshingMint);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.refreshError ? 10 : -1);\n i0.ɵɵadvance(6);\n i0.ɵɵproperty(\"disabled\", ctx_r1.selectedMintBalance === 0);\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate1(\"Tokens (\", ctx_r1.selectedMintProofs.length, \")\");\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.selectedMintProofs.length === 0 ? 21 : 22);\n i0.ɵɵadvance(7);\n i0.ɵɵtextInterpolate(ctx_r1.selectedMint.mintUrl);\n i0.ɵɵadvance(5);\n i0.ɵɵtextInterpolate(ctx_r1.selectedMint.unit);\n }\n}\nfunction WalletComponent_Conditional_20_Conditional_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.mintError);\n }\n}\nfunction WalletComponent_Conditional_20_Conditional_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 65);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.mintTestResult);\n }\n}\nfunction WalletComponent_Conditional_20_Template(rf, ctx) {\n if (rf & 1) {\n const _r13 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13)(1, \"div\", 59)(2, \"label\", 60);\n i0.ɵɵtext(3, \"Mint Name\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"input\", 61);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_20_Template_input_ngModelChange_4_listener($event) {\n i0.ɵɵrestoreView(_r13);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.newMintName, $event) || (ctx_r1.newMintName = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(5, \"div\", 59)(6, \"label\", 62);\n i0.ɵɵtext(7, \"Mint URL\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"input\", 63);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_20_Template_input_ngModelChange_8_listener($event) {\n i0.ɵɵrestoreView(_r13);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.newMintUrl, $event) || (ctx_r1.newMintUrl = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(9, WalletComponent_Conditional_20_Conditional_9_Template, 2, 1, \"div\", 64)(10, WalletComponent_Conditional_20_Conditional_10_Template, 2, 1, \"div\", 65);\n i0.ɵɵelementStart(11, \"div\", 66)(12, \"button\", 67);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_20_Template_button_click_12_listener() {\n i0.ɵɵrestoreView(_r13);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.testMint());\n });\n i0.ɵɵtext(13);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(14, \"button\", 68);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_20_Template_button_click_14_listener() {\n i0.ɵɵrestoreView(_r13);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.addMint());\n });\n i0.ɵɵtext(15);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.newMintName);\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingMint);\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.newMintUrl);\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingMint);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.mintError ? 9 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.mintTestResult ? 10 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.testingMint || ctx_r1.addingMint);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.testingMint ? \"Testing...\" : \"Test Connection\", \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingMint);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.addingMint ? \"Adding...\" : \"Add Mint\", \" \");\n }\n}\nfunction WalletComponent_Conditional_21_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.receiveError);\n }\n}\nfunction WalletComponent_Conditional_21_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 65);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.receiveResult);\n }\n}\nfunction WalletComponent_Conditional_21_Template(rf, ctx) {\n if (rf & 1) {\n const _r14 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13)(1, \"div\", 59)(2, \"label\", 69);\n i0.ɵɵtext(3, \"Paste Cashu Token\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"textarea\", 70);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_21_Template_textarea_ngModelChange_4_listener($event) {\n i0.ɵɵrestoreView(_r14);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.receiveToken, $event) || (ctx_r1.receiveToken = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(5, WalletComponent_Conditional_21_Conditional_5_Template, 2, 1, \"div\", 64)(6, WalletComponent_Conditional_21_Conditional_6_Template, 2, 1, \"div\", 65);\n i0.ɵɵelementStart(7, \"div\", 66)(8, \"button\", 71);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_21_Template_button_click_8_listener() {\n i0.ɵɵrestoreView(_r14);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.receiveTokens());\n });\n i0.ɵɵtext(9);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.receiveToken);\n i0.ɵɵproperty(\"disabled\", ctx_r1.receivingToken);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.receiveError ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.receiveResult ? 6 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.receivingToken);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.receivingToken ? \"Receiving...\" : \"Receive Tokens\", \" \");\n }\n}\nfunction WalletComponent_Conditional_22_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.sendError);\n }\n}\nfunction WalletComponent_Conditional_22_Conditional_8_Template(rf, ctx) {\n if (rf & 1) {\n const _r16 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 75)(1, \"span\", 76);\n i0.ɵɵtext(2, \"Token to Share\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"textarea\", 77);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"button\", 78);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_22_Conditional_8_Template_button_click_5_listener() {\n i0.ɵɵrestoreView(_r16);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.copyToken());\n });\n i0.ɵɵtext(6, \" Copy Token \");\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.sendResult);\n }\n}\nfunction WalletComponent_Conditional_22_Conditional_9_Template(rf, ctx) {\n if (rf & 1) {\n const _r17 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 66)(1, \"button\", 71);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_22_Conditional_9_Template_button_click_1_listener() {\n i0.ɵɵrestoreView(_r17);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.sendTokens());\n });\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.sendingToken || ctx_r1.sendAmount <= 0);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.sendingToken ? \"Creating...\" : \"Create Token\", \" \");\n }\n}\nfunction WalletComponent_Conditional_22_Template(rf, ctx) {\n if (rf & 1) {\n const _r15 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13)(1, \"div\", 72);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 59)(4, \"label\", 73);\n i0.ɵɵtext(5, \"Amount (sats)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"input\", 74);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_22_Template_input_ngModelChange_6_listener($event) {\n i0.ɵɵrestoreView(_r15);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.sendAmount, $event) || (ctx_r1.sendAmount = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(7, WalletComponent_Conditional_22_Conditional_7_Template, 2, 1, \"div\", 64)(8, WalletComponent_Conditional_22_Conditional_8_Template, 7, 1, \"div\", 75)(9, WalletComponent_Conditional_22_Conditional_9_Template, 3, 2, \"div\", 66);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" Available: \", ctx_r1.formatCashuBalance(ctx_r1.selectedMintBalance), \" sats \");\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.sendAmount);\n i0.ɵɵproperty(\"max\", ctx_r1.selectedMintBalance)(\"disabled\", ctx_r1.sendingToken);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.sendError ? 7 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.sendResult ? 8 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(!ctx_r1.sendResult ? 9 : -1);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_1_Conditional_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.depositError);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r18 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 59)(1, \"label\", 80);\n i0.ɵɵtext(2, \"Amount (sats)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"input\", 81);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_23_Conditional_1_Template_input_ngModelChange_3_listener($event) {\n i0.ɵɵrestoreView(_r18);\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵtwoWayBindingSet(ctx_r1.depositAmount, $event) || (ctx_r1.depositAmount = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(4, WalletComponent_Conditional_23_Conditional_1_Conditional_4_Template, 2, 1, \"div\", 64);\n i0.ɵɵelementStart(5, \"div\", 66)(6, \"button\", 71);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_23_Conditional_1_Template_button_click_6_listener() {\n i0.ɵɵrestoreView(_r18);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.createDepositInvoice());\n });\n i0.ɵɵtext(7);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(3);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.depositAmount);\n i0.ɵɵproperty(\"disabled\", ctx_r1.creatingDepositQuote);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.depositError ? 4 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.creatingDepositQuote || ctx_r1.depositAmount <= 0);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.creatingDepositQuote ? \"Creating...\" : \"Create Invoice\", \" \");\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"img\", 82);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"src\", ctx_r1.depositInvoiceQr, i0.ɵɵsanitizeUrl);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_3_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 87);\n i0.ɵɵtext(1, \"checking\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 86);\n i0.ɵɵtext(1, \"Waiting for payment...\");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, WalletComponent_Conditional_23_Conditional_2_Conditional_3_Conditional_2_Template, 2, 0, \"span\", 87);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.checkingDepositPayment ? 2 : -1);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 84);\n i0.ɵɵtext(1, \"Payment received! Claiming tokens...\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 85);\n i0.ɵɵtext(1, \"\\u2713 Tokens received!\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.depositError);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 65);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.depositSuccess);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Conditional_8_Template(rf, ctx) {\n if (rf & 1) {\n const _r19 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 88);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(2, \"button\", 78);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_23_Conditional_2_Conditional_8_Template_button_click_2_listener() {\n i0.ɵɵrestoreView(_r19);\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.copyDepositInvoice());\n });\n i0.ɵɵtext(3, \" Copy Invoice \");\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.depositInvoice);\n }\n}\nfunction WalletComponent_Conditional_23_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 79);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_23_Conditional_2_Conditional_1_Template, 1, 1, \"img\", 82);\n i0.ɵɵelementStart(2, \"div\", 83);\n i0.ɵɵtemplate(3, WalletComponent_Conditional_23_Conditional_2_Conditional_3_Template, 3, 1)(4, WalletComponent_Conditional_23_Conditional_2_Conditional_4_Template, 2, 0, \"span\", 84)(5, WalletComponent_Conditional_23_Conditional_2_Conditional_5_Template, 2, 0, \"span\", 85);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, WalletComponent_Conditional_23_Conditional_2_Conditional_6_Template, 2, 1, \"div\", 64)(7, WalletComponent_Conditional_23_Conditional_2_Conditional_7_Template, 2, 1, \"div\", 65)(8, WalletComponent_Conditional_23_Conditional_2_Conditional_8_Template, 4, 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.depositInvoiceQr ? 1 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.depositQuoteState === \"UNPAID\" ? 3 : ctx_r1.depositQuoteState === \"PAID\" ? 4 : ctx_r1.depositQuoteState === \"ISSUED\" ? 5 : -1);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(ctx_r1.depositError ? 6 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.depositSuccess ? 7 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.depositQuoteState === \"UNPAID\" ? 8 : -1);\n }\n}\nfunction WalletComponent_Conditional_23_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 13);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_23_Conditional_1_Template, 8, 5)(2, WalletComponent_Conditional_23_Conditional_2_Template, 9, 5, \"div\", 79);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵconditional(!ctx_r1.depositInvoice ? 1 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.depositInvoice ? 2 : -1);\n }\n}\nfunction WalletComponent_Conditional_24_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 24)(1, \"span\", 31);\n i0.ɵɵtext(2, \" No wallets connected yet. \");\n i0.ɵɵelementEnd()();\n }\n}\nfunction WalletComponent_Conditional_24_Conditional_2_For_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r21 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 34);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_24_Conditional_2_For_2_Template_button_click_0_listener() {\n const conn_r22 = i0.ɵɵrestoreView(_r21).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.selectConnection(conn_r22.id));\n });\n i0.ɵɵelementStart(1, \"span\", 35);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 36);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const conn_r22 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(conn_r22.name);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\"\", ctx_r1.formatBalance(conn_r22.cachedBalance), \" sats\");\n }\n}\nfunction WalletComponent_Conditional_24_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 21);\n i0.ɵɵrepeaterCreate(1, WalletComponent_Conditional_24_Conditional_2_For_2_Template, 5, 2, \"button\", 33, _forTrack0);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r1.connections);\n }\n}\nfunction WalletComponent_Conditional_24_Template(rf, ctx) {\n if (rf & 1) {\n const _r20 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 11);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_24_Conditional_1_Template, 3, 0, \"div\", 24)(2, WalletComponent_Conditional_24_Conditional_2_Template, 3, 0, \"div\", 21);\n i0.ɵɵelementStart(3, \"button\", 22);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_24_Template_button_click_3_listener() {\n i0.ɵɵrestoreView(_r20);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showAddConnection());\n });\n i0.ɵɵelementStart(4, \"span\", 3);\n i0.ɵɵtext(5, \"+\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"span\");\n i0.ɵɵtext(7, \"Add NWC Connection\");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.connections.length === 0 ? 1 : 2);\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_21_Template(rf, ctx) {\n if (rf & 1) {\n const _r24 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 98);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_25_Conditional_21_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r24);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.copyLightningAddress());\n });\n i0.ɵɵelementStart(1, \"span\", 53);\n i0.ɵɵtext(2, \"Lightning Address\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 54);\n i0.ɵɵtext(4);\n i0.ɵɵelementStart(5, \"span\", 99);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.selectedConnection.lud16, \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.addressCopied ? \"\\u2713 Copied\" : \"(tap to copy)\");\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_25_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 93);\n i0.ɵɵtext(1, \"Loading...\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_26_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 94);\n i0.ɵɵtext(1, \"Transaction history not supported by this wallet\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_27_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 95);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.transactionsError);\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_28_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 49);\n i0.ɵɵtext(1, \"No transactions yet\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_29_For_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 101)(1, \"span\", 102);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 103);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 104);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(7, \"span\", 105);\n i0.ɵɵtext(8);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const tx_r25 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵclassProp(\"incoming\", tx_r25.type === \"incoming\")(\"outgoing\", tx_r25.type === \"outgoing\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(tx_r25.type === \"incoming\" ? \"\\u2B07\" : \"\\u2B06\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(tx_r25.type === \"incoming\" ? \"Received\" : \"Sent\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.formatBalance(tx_r25.amount));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.formatTransactionTime(tx_r25.created_at));\n }\n}\nfunction WalletComponent_Conditional_25_Conditional_29_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 96);\n i0.ɵɵrepeaterCreate(1, WalletComponent_Conditional_25_Conditional_29_For_2_Template, 9, 8, \"div\", 100, _forTrack2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r1.transactions);\n }\n}\nfunction WalletComponent_Conditional_25_Template(rf, ctx) {\n if (rf & 1) {\n const _r23 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 12)(1, \"div\", 37)(2, \"div\", 38)(3, \"span\", 39);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 40);\n i0.ɵɵtext(6, \"sats\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"button\", 89);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_25_Template_button_click_7_listener() {\n i0.ɵɵrestoreView(_r23);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.refreshWallet());\n });\n i0.ɵɵelementStart(8, \"span\", 3);\n i0.ɵɵtext(9, \"\\uD83D\\uDD04\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(10, \"div\", 43)(11, \"button\", 45);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_25_Template_button_click_11_listener() {\n i0.ɵɵrestoreView(_r23);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showLnReceive());\n });\n i0.ɵɵtext(12, \" Receive \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"button\", 90);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_25_Template_button_click_13_listener() {\n i0.ɵɵrestoreView(_r23);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.showLnPay());\n });\n i0.ɵɵtext(14, \" Pay \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(15, \"div\", 51)(16, \"div\", 52)(17, \"span\", 53);\n i0.ɵɵtext(18, \"Relay\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(19, \"span\", 54);\n i0.ɵɵtext(20);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(21, WalletComponent_Conditional_25_Conditional_21_Template, 7, 2, \"button\", 91);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(22, \"div\", 92)(23, \"div\", 48);\n i0.ɵɵtext(24, \"Transactions\");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(25, WalletComponent_Conditional_25_Conditional_25_Template, 2, 0, \"div\", 93)(26, WalletComponent_Conditional_25_Conditional_26_Template, 2, 0, \"div\", 94)(27, WalletComponent_Conditional_25_Conditional_27_Template, 2, 1, \"div\", 95)(28, WalletComponent_Conditional_25_Conditional_28_Template, 2, 0, \"div\", 49)(29, WalletComponent_Conditional_25_Conditional_29_Template, 3, 0, \"div\", 96);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"button\", 97);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_25_Template_button_click_30_listener() {\n i0.ɵɵrestoreView(_r23);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.deleteConnection());\n });\n i0.ɵɵtext(31, \" Delete Wallet \");\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.formatBalance(ctx_r1.selectedConnection.cachedBalance));\n i0.ɵɵadvance(16);\n i0.ɵɵtextInterpolate(ctx_r1.selectedConnection.relayUrl);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.selectedConnection.lud16 ? 21 : -1);\n i0.ɵɵadvance(4);\n i0.ɵɵconditional(ctx_r1.loadingTransactions ? 25 : ctx_r1.transactionsNotSupported ? 26 : ctx_r1.transactionsError ? 27 : ctx_r1.transactions.length === 0 ? 28 : 29);\n }\n}\nfunction WalletComponent_Conditional_26_Conditional_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.lnReceiveError);\n }\n}\nfunction WalletComponent_Conditional_26_Conditional_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r27 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 66)(1, \"button\", 71);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_26_Conditional_10_Template_button_click_1_listener() {\n i0.ɵɵrestoreView(_r27);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.createReceiveInvoice());\n });\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.generatingInvoice || ctx_r1.lnReceiveAmount <= 0);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.generatingInvoice ? \"Generating...\" : \"Generate Invoice\", \" \");\n }\n}\nfunction WalletComponent_Conditional_26_Conditional_11_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"img\", 82);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"src\", ctx_r1.generatedInvoiceQr, i0.ɵɵsanitizeUrl);\n }\n}\nfunction WalletComponent_Conditional_26_Conditional_11_Template(rf, ctx) {\n if (rf & 1) {\n const _r28 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 79);\n i0.ɵɵtemplate(1, WalletComponent_Conditional_26_Conditional_11_Conditional_1_Template, 1, 1, \"img\", 82);\n i0.ɵɵelementStart(2, \"div\", 88);\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"button\", 78);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_26_Conditional_11_Template_button_click_4_listener() {\n i0.ɵɵrestoreView(_r28);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.copyInvoice());\n });\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.generatedInvoiceQr ? 1 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.generatedInvoice);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.invoiceCopied ? \"Copied!\" : \"Copy Invoice\", \" \");\n }\n}\nfunction WalletComponent_Conditional_26_Template(rf, ctx) {\n if (rf & 1) {\n const _r26 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13)(1, \"div\", 59)(2, \"label\", 106);\n i0.ɵɵtext(3, \"Amount (sats)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"input\", 107);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_26_Template_input_ngModelChange_4_listener($event) {\n i0.ɵɵrestoreView(_r26);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.lnReceiveAmount, $event) || (ctx_r1.lnReceiveAmount = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(5, \"div\", 59)(6, \"label\", 108);\n i0.ɵɵtext(7, \"Description (optional)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"input\", 109);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_26_Template_input_ngModelChange_8_listener($event) {\n i0.ɵɵrestoreView(_r26);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.lnReceiveDescription, $event) || (ctx_r1.lnReceiveDescription = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(9, WalletComponent_Conditional_26_Conditional_9_Template, 2, 1, \"div\", 64)(10, WalletComponent_Conditional_26_Conditional_10_Template, 3, 2, \"div\", 66)(11, WalletComponent_Conditional_26_Conditional_11_Template, 6, 3, \"div\", 79);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.lnReceiveAmount);\n i0.ɵɵproperty(\"disabled\", ctx_r1.generatingInvoice);\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.lnReceiveDescription);\n i0.ɵɵproperty(\"disabled\", ctx_r1.generatingInvoice);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.lnReceiveError ? 9 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(!ctx_r1.generatedInvoice ? 10 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.generatedInvoice ? 11 : -1);\n }\n}\nfunction WalletComponent_Conditional_27_Conditional_16_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.paymentError);\n }\n}\nfunction WalletComponent_Conditional_27_Conditional_17_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 119);\n i0.ɵɵtext(1, \"Payment Successful!\");\n i0.ɵɵelementEnd();\n }\n}\nfunction WalletComponent_Conditional_27_Conditional_18_Template(rf, ctx) {\n if (rf & 1) {\n const _r30 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 66)(1, \"button\", 67);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_27_Conditional_18_Template_button_click_1_listener() {\n i0.ɵɵrestoreView(_r30);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.closePayModal());\n });\n i0.ɵɵtext(2, \" Cancel \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"button\", 68);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_27_Conditional_18_Template_button_click_3_listener() {\n i0.ɵɵrestoreView(_r30);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.payInvoiceOrAddress());\n });\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.paying);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.paying || !ctx_r1.payInput.trim());\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.paying ? \"Paying...\" : \"Pay\", \" \");\n }\n}\nfunction WalletComponent_Conditional_27_Template(rf, ctx) {\n if (rf & 1) {\n const _r29 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 110);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_27_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r29);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.closePayModal());\n })(\"keydown.escape\", function WalletComponent_Conditional_27_Template_div_keydown_escape_0_listener() {\n i0.ɵɵrestoreView(_r29);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.closePayModal());\n });\n i0.ɵɵelementStart(1, \"div\", 111);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_27_Template_div_click_1_listener($event) {\n i0.ɵɵrestoreView(_r29);\n return i0.ɵɵresetView($event.stopPropagation());\n })(\"keydown\", function WalletComponent_Conditional_27_Template_div_keydown_1_listener($event) {\n i0.ɵɵrestoreView(_r29);\n return i0.ɵɵresetView($event.stopPropagation());\n });\n i0.ɵɵelementStart(2, \"div\", 112)(3, \"span\");\n i0.ɵɵtext(4, \"Pay Invoice\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"button\", 113);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_27_Template_button_click_5_listener() {\n i0.ɵɵrestoreView(_r29);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.closePayModal());\n });\n i0.ɵɵtext(6, \"\\u00D7\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"div\", 114)(8, \"div\", 59)(9, \"label\", 115);\n i0.ɵɵtext(10, \"Lightning Address or Invoice\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"textarea\", 116);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_27_Template_textarea_ngModelChange_11_listener($event) {\n i0.ɵɵrestoreView(_r29);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.payInput, $event) || (ctx_r1.payInput = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(12, \"div\", 59)(13, \"label\", 117);\n i0.ɵɵtext(14, \"Amount (sats) - required for addresses\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"input\", 118);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_27_Template_input_ngModelChange_15_listener($event) {\n i0.ɵɵrestoreView(_r29);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.payAmount, $event) || (ctx_r1.payAmount = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(16, WalletComponent_Conditional_27_Conditional_16_Template, 2, 1, \"div\", 64)(17, WalletComponent_Conditional_27_Conditional_17_Template, 2, 0, \"div\", 119)(18, WalletComponent_Conditional_27_Conditional_18_Template, 5, 3, \"div\", 66);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(11);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.payInput);\n i0.ɵɵproperty(\"disabled\", ctx_r1.paying);\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.payAmount);\n i0.ɵɵproperty(\"disabled\", ctx_r1.paying);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.paymentError ? 16 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.paymentSuccess ? 17 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(!ctx_r1.paymentSuccess ? 18 : -1);\n }\n}\nfunction WalletComponent_Conditional_28_Conditional_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 64);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.connectionError);\n }\n}\nfunction WalletComponent_Conditional_28_Conditional_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 65);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.connectionTestResult);\n }\n}\nfunction WalletComponent_Conditional_28_Conditional_11_For_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 129)(1, \"span\", 130);\n i0.ɵɵtext(2);\n i0.ɵɵpipe(3, \"date\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"span\", 131);\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const entry_r33 = ctx.$implicit;\n i0.ɵɵclassProp(\"log-warn\", entry_r33.level === \"warn\")(\"log-error\", entry_r33.level === \"error\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 6, entry_r33.timestamp, \"HH:mm:ss\"));\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(entry_r33.message);\n }\n}\nfunction WalletComponent_Conditional_28_Conditional_11_Template(rf, ctx) {\n if (rf & 1) {\n const _r32 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 124)(1, \"div\", 125)(2, \"span\");\n i0.ɵɵtext(3, \"Connection Log\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"button\", 126);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_28_Conditional_11_Template_button_click_4_listener() {\n i0.ɵɵrestoreView(_r32);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.nwcService.clearLogs());\n });\n i0.ɵɵtext(5, \"Clear\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(6, \"div\", 127);\n i0.ɵɵrepeaterCreate(7, WalletComponent_Conditional_28_Conditional_11_For_8_Template, 6, 9, \"div\", 128, _forTrack3);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(7);\n i0.ɵɵrepeater(ctx_r1.nwcService.logs);\n }\n}\nfunction WalletComponent_Conditional_28_Template(rf, ctx) {\n if (rf & 1) {\n const _r31 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13)(1, \"div\", 59)(2, \"label\", 120);\n i0.ɵɵtext(3, \"Wallet Name\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"input\", 121);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_28_Template_input_ngModelChange_4_listener($event) {\n i0.ɵɵrestoreView(_r31);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.newWalletName, $event) || (ctx_r1.newWalletName = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(5, \"div\", 59)(6, \"label\", 122);\n i0.ɵɵtext(7, \"NWC Connection URL\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"textarea\", 123);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function WalletComponent_Conditional_28_Template_textarea_ngModelChange_8_listener($event) {\n i0.ɵɵrestoreView(_r31);\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtwoWayBindingSet(ctx_r1.newWalletUrl, $event) || (ctx_r1.newWalletUrl = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(9, WalletComponent_Conditional_28_Conditional_9_Template, 2, 1, \"div\", 64)(10, WalletComponent_Conditional_28_Conditional_10_Template, 2, 1, \"div\", 65)(11, WalletComponent_Conditional_28_Conditional_11_Template, 9, 0, \"div\", 124);\n i0.ɵɵelementStart(12, \"div\", 66)(13, \"button\", 67);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_28_Template_button_click_13_listener() {\n i0.ɵɵrestoreView(_r31);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.testConnection());\n });\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"button\", 68);\n i0.ɵɵlistener(\"click\", function WalletComponent_Conditional_28_Template_button_click_15_listener() {\n i0.ɵɵrestoreView(_r31);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.addConnection());\n });\n i0.ɵɵtext(16);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.newWalletName);\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingConnection);\n i0.ɵɵadvance(4);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.newWalletUrl);\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingConnection);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.connectionError ? 9 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.connectionTestResult ? 10 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.nwcService.logs.length > 0 ? 11 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.testingConnection || ctx_r1.addingConnection);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.testingConnection ? \"Testing...\" : \"Test Connection\", \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.addingConnection);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.addingConnection ? \"Adding...\" : \"Add Wallet\", \" \");\n }\n}\nexport let WalletComponent = /*#__PURE__*/(() => {\n class WalletComponent extends NavComponent {\n #logger = inject(LoggerService);\n #router = inject(Router);\n nwcService = inject(NwcService);\n cashuService = inject(CashuService);\n activeSection = 'main';\n selectedConnectionId = null;\n selectedMintId = null;\n // Form fields for adding new NWC connection\n newWalletName = '';\n newWalletUrl = '';\n addingConnection = false;\n testingConnection = false;\n connectionError = '';\n connectionTestResult = '';\n // Form fields for adding new Cashu mint\n newMintName = '';\n newMintUrl = '';\n addingMint = false;\n testingMint = false;\n mintError = '';\n mintTestResult = '';\n // Cashu receive/send fields\n receiveToken = '';\n receivingToken = false;\n receiveError = '';\n receiveResult = '';\n sendAmount = 0;\n sendingToken = false;\n sendError = '';\n sendResult = '';\n // Cashu mint (deposit) fields\n depositAmount = 0;\n creatingDepositQuote = false;\n depositQuoteId = '';\n depositInvoice = '';\n depositInvoiceQr = '';\n depositError = '';\n depositSuccess = '';\n checkingDepositPayment = false;\n depositQuoteState = 'UNPAID';\n depositPollingInterval = null;\n // Loading states\n loadingBalances = false;\n balanceError = '';\n // Lightning transaction history\n transactions = [];\n loadingTransactions = false;\n transactionsError = '';\n transactionsNotSupported = false;\n // Lightning receive\n lnReceiveAmount = 0;\n lnReceiveDescription = '';\n generatingInvoice = false;\n generatedInvoice = '';\n generatedInvoiceQr = '';\n lnReceiveError = '';\n invoiceCopied = false;\n // Lightning pay\n showPayModal = false;\n payInput = '';\n payAmount = 0;\n paying = false;\n paymentSuccess = false;\n paymentError = '';\n // Clipboard feedback\n addressCopied = false;\n // Cashu onboarding info\n showCashuInfo = true;\n currentSyncFlow = BrowserSyncFlow.NO_SYNC;\n BrowserSyncFlow = BrowserSyncFlow; // Expose enum to template\n browserDownloadSettingsUrl = 'about:preferences#general';\n // Cashu mint refresh\n refreshingMint = false;\n refreshError = '';\n get title() {\n switch (this.activeSection) {\n case 'cashu':\n return 'Cashu';\n case 'cashu-detail':\n return this.selectedMint?.name ?? 'Mint';\n case 'cashu-add':\n return 'Add Mint';\n case 'cashu-receive':\n return 'Receive';\n case 'cashu-send':\n return 'Send';\n case 'cashu-mint':\n return 'Deposit';\n case 'lightning':\n return 'Lightning';\n case 'lightning-detail':\n return this.selectedConnection?.name ?? 'Wallet';\n case 'lightning-add':\n return 'Add Wallet';\n case 'lightning-receive':\n return 'Receive';\n case 'lightning-pay':\n return 'Pay';\n default:\n return 'Wallet';\n }\n }\n get showBackButton() {\n return this.activeSection !== 'main';\n }\n get connections() {\n return this.nwcService.getConnections();\n }\n get selectedConnection() {\n if (!this.selectedConnectionId) return undefined;\n return this.nwcService.getConnection(this.selectedConnectionId);\n }\n get totalLightningBalance() {\n return this.nwcService.getCachedTotalBalance();\n }\n get mints() {\n return this.cashuService.getMints();\n }\n get selectedMint() {\n if (!this.selectedMintId) return undefined;\n return this.cashuService.getMint(this.selectedMintId);\n }\n get totalCashuBalance() {\n return this.cashuService.getCachedTotalBalance();\n }\n get selectedMintBalance() {\n if (!this.selectedMintId) return 0;\n return this.cashuService.getBalance(this.selectedMintId);\n }\n get selectedMintProofs() {\n if (!this.selectedMintId) return [];\n return this.cashuService.getProofs(this.selectedMintId);\n }\n ngOnInit() {\n // Load current sync flow setting\n this.currentSyncFlow = this.storage.getSyncFlow();\n // Refresh balances on init if we have connections\n if (this.connections.length > 0) {\n this.refreshAllBalances();\n }\n }\n ngOnDestroy() {\n this.nwcService.disconnectAll();\n this.stopDepositPolling();\n }\n setSection(section) {\n this.activeSection = section;\n this.connectionError = '';\n this.connectionTestResult = '';\n }\n goBack() {\n switch (this.activeSection) {\n case 'lightning-detail':\n case 'lightning-add':\n this.activeSection = 'lightning';\n this.selectedConnectionId = null;\n this.resetAddForm();\n this.resetLightningForms();\n break;\n case 'lightning-receive':\n case 'lightning-pay':\n this.activeSection = 'lightning-detail';\n this.resetLightningForms();\n break;\n case 'cashu-detail':\n case 'cashu-add':\n this.activeSection = 'cashu';\n this.selectedMintId = null;\n this.resetAddMintForm();\n break;\n case 'cashu-receive':\n case 'cashu-send':\n case 'cashu-mint':\n this.activeSection = 'cashu-detail';\n this.resetReceiveSendForm();\n this.resetDepositForm();\n break;\n case 'lightning':\n case 'cashu':\n this.activeSection = 'main';\n break;\n }\n }\n selectConnection(connectionId) {\n this.selectedConnectionId = connectionId;\n this.activeSection = 'lightning-detail';\n this.loadTransactions(connectionId);\n }\n resetLightningForms() {\n this.lnReceiveAmount = 0;\n this.lnReceiveDescription = '';\n this.generatingInvoice = false;\n this.generatedInvoice = '';\n this.generatedInvoiceQr = '';\n this.lnReceiveError = '';\n this.invoiceCopied = false;\n this.payInput = '';\n this.payAmount = 0;\n this.paying = false;\n this.paymentSuccess = false;\n this.paymentError = '';\n this.showPayModal = false;\n }\n showAddConnection() {\n this.resetAddForm();\n this.activeSection = 'lightning-add';\n }\n resetAddForm() {\n this.newWalletName = '';\n this.newWalletUrl = '';\n this.connectionError = '';\n this.connectionTestResult = '';\n this.addingConnection = false;\n this.testingConnection = false;\n }\n testConnection() {\n var _this = this;\n return _asyncToGenerator(function* () {\n if (!_this.newWalletUrl.trim()) {\n _this.connectionError = 'Please enter an NWC URL';\n return;\n }\n _this.testingConnection = true;\n _this.connectionError = '';\n _this.connectionTestResult = '';\n _this.nwcService.clearLogs();\n try {\n const info = yield _this.nwcService.testConnection(_this.newWalletUrl);\n _this.connectionTestResult = `Connected! ${info.alias ? 'Wallet: ' + info.alias : ''}`;\n // Hide logs on success\n _this.nwcService.clearLogs();\n } catch (error) {\n _this.connectionError = error instanceof Error ? error.message : 'Connection test failed';\n // Keep logs visible on failure for debugging\n } finally {\n _this.testingConnection = false;\n }\n })();\n }\n addConnection() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n if (!_this2.newWalletName.trim()) {\n _this2.connectionError = 'Please enter a wallet name';\n return;\n }\n if (!_this2.newWalletUrl.trim()) {\n _this2.connectionError = 'Please enter an NWC URL';\n return;\n }\n _this2.addingConnection = true;\n _this2.connectionError = '';\n try {\n yield _this2.nwcService.addConnection(_this2.newWalletName.trim(), _this2.newWalletUrl.trim());\n // Refresh the balance for the new connection\n const connections = _this2.nwcService.getConnections();\n const newConnection = connections[connections.length - 1];\n if (newConnection) {\n try {\n yield _this2.nwcService.getBalance(newConnection.id);\n } catch {\n // Ignore balance fetch error\n }\n }\n _this2.goBack();\n } catch (error) {\n _this2.connectionError = error instanceof Error ? error.message : 'Failed to add connection';\n } finally {\n _this2.addingConnection = false;\n }\n })();\n }\n deleteConnection() {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n if (!_this3.selectedConnectionId) return;\n const connection = _this3.selectedConnection;\n if (!confirm(`Delete wallet \"${connection?.name}\"? This cannot be undone.`)) {\n return;\n }\n try {\n yield _this3.nwcService.deleteConnection(_this3.selectedConnectionId);\n _this3.goBack();\n } catch (error) {\n console.error('Failed to delete connection:', error);\n }\n })();\n }\n // Cashu methods\n selectMint(mintId) {\n this.selectedMintId = mintId;\n this.activeSection = 'cashu-detail';\n // Auto-refresh to check for spent proofs\n this.refreshMint();\n }\n refreshMint() {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n if (!_this4.selectedMintId || _this4.refreshingMint) return;\n _this4.refreshingMint = true;\n _this4.refreshError = '';\n try {\n const removedAmount = yield _this4.cashuService.checkProofsSpent(_this4.selectedMintId);\n if (removedAmount > 0) {\n // Balance was updated, proofs were spent\n console.log(`Removed ${removedAmount} sats of spent proofs`);\n }\n } catch (error) {\n _this4.refreshError = error instanceof Error ? error.message : 'Failed to refresh';\n console.error('Failed to refresh mint:', error);\n } finally {\n _this4.refreshingMint = false;\n }\n })();\n }\n showAddMint() {\n this.resetAddMintForm();\n this.activeSection = 'cashu-add';\n }\n showReceive() {\n this.resetReceiveSendForm();\n this.activeSection = 'cashu-receive';\n }\n showSend() {\n this.resetReceiveSendForm();\n this.activeSection = 'cashu-send';\n }\n resetAddMintForm() {\n this.newMintName = '';\n this.newMintUrl = '';\n this.mintError = '';\n this.mintTestResult = '';\n this.addingMint = false;\n this.testingMint = false;\n }\n resetReceiveSendForm() {\n this.receiveToken = '';\n this.receivingToken = false;\n this.receiveError = '';\n this.receiveResult = '';\n this.sendAmount = 0;\n this.sendingToken = false;\n this.sendError = '';\n this.sendResult = '';\n }\n resetDepositForm() {\n this.depositAmount = 0;\n this.creatingDepositQuote = false;\n this.depositQuoteId = '';\n this.depositInvoice = '';\n this.depositInvoiceQr = '';\n this.depositError = '';\n this.depositSuccess = '';\n this.checkingDepositPayment = false;\n this.depositQuoteState = 'UNPAID';\n this.stopDepositPolling();\n }\n stopDepositPolling() {\n if (this.depositPollingInterval) {\n clearInterval(this.depositPollingInterval);\n this.depositPollingInterval = null;\n }\n }\n testMint() {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n if (!_this5.newMintUrl.trim()) {\n _this5.mintError = 'Please enter a mint URL';\n return;\n }\n _this5.testingMint = true;\n _this5.mintError = '';\n _this5.mintTestResult = '';\n try {\n const info = yield _this5.cashuService.testMintConnection(_this5.newMintUrl.trim());\n _this5.mintTestResult = `Connected! ${info.name ? 'Mint: ' + info.name : ''}`;\n } catch (error) {\n _this5.mintError = error instanceof Error ? error.message : 'Connection test failed';\n } finally {\n _this5.testingMint = false;\n }\n })();\n }\n addMint() {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n if (!_this6.newMintName.trim()) {\n _this6.mintError = 'Please enter a mint name';\n return;\n }\n if (!_this6.newMintUrl.trim()) {\n _this6.mintError = 'Please enter a mint URL';\n return;\n }\n _this6.addingMint = true;\n _this6.mintError = '';\n try {\n yield _this6.cashuService.addMint(_this6.newMintName.trim(), _this6.newMintUrl.trim());\n _this6.goBack();\n } catch (error) {\n _this6.mintError = error instanceof Error ? error.message : 'Failed to add mint';\n } finally {\n _this6.addingMint = false;\n }\n })();\n }\n deleteMint() {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n if (!_this7.selectedMintId) return;\n const mint = _this7.selectedMint;\n if (!confirm(`Delete mint \"${mint?.name}\"? Any tokens stored will be lost. This cannot be undone.`)) {\n return;\n }\n try {\n yield _this7.cashuService.deleteMint(_this7.selectedMintId);\n _this7.goBack();\n } catch (error) {\n console.error('Failed to delete mint:', error);\n }\n })();\n }\n receiveTokens() {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n if (!_this8.receiveToken.trim()) {\n _this8.receiveError = 'Please paste a Cashu token';\n return;\n }\n _this8.receivingToken = true;\n _this8.receiveError = '';\n _this8.receiveResult = '';\n try {\n const result = yield _this8.cashuService.receive(_this8.receiveToken.trim());\n _this8.receiveResult = `Received ${result.amount} sats!`;\n _this8.receiveToken = '';\n } catch (error) {\n _this8.receiveError = error instanceof Error ? error.message : 'Failed to receive token';\n } finally {\n _this8.receivingToken = false;\n }\n })();\n }\n sendTokens() {\n var _this9 = this;\n return _asyncToGenerator(function* () {\n if (!_this9.selectedMintId) return;\n if (_this9.sendAmount <= 0) {\n _this9.sendError = 'Please enter a valid amount';\n return;\n }\n const balance = _this9.selectedMintBalance;\n if (_this9.sendAmount > balance) {\n _this9.sendError = `Insufficient balance. You have ${balance} sats`;\n return;\n }\n _this9.sendingToken = true;\n _this9.sendError = '';\n _this9.sendResult = '';\n try {\n const result = yield _this9.cashuService.send(_this9.selectedMintId, _this9.sendAmount);\n _this9.sendResult = result.token;\n _this9.sendAmount = 0;\n } catch (error) {\n _this9.sendError = error instanceof Error ? error.message : 'Failed to create token';\n } finally {\n _this9.sendingToken = false;\n }\n })();\n }\n copyToken() {\n if (this.sendResult) {\n navigator.clipboard.writeText(this.sendResult);\n }\n }\n checkProofs() {\n var _this0 = this;\n return _asyncToGenerator(function* () {\n if (!_this0.selectedMintId) return;\n try {\n const removedAmount = yield _this0.cashuService.checkProofsSpent(_this0.selectedMintId);\n if (removedAmount > 0) {\n alert(`Removed ${removedAmount} sats of spent proofs.`);\n } else {\n alert('All proofs are valid.');\n }\n } catch (error) {\n console.error('Failed to check proofs:', error);\n }\n })();\n }\n // Cashu deposit (mint) methods\n showDeposit() {\n this.resetDepositForm();\n this.activeSection = 'cashu-mint';\n }\n createDepositInvoice() {\n var _this1 = this;\n return _asyncToGenerator(function* () {\n if (!_this1.selectedMintId) return;\n if (_this1.depositAmount <= 0) {\n _this1.depositError = 'Please enter an amount';\n return;\n }\n _this1.creatingDepositQuote = true;\n _this1.depositError = '';\n _this1.depositInvoice = '';\n _this1.depositInvoiceQr = '';\n try {\n const quote = yield _this1.cashuService.createMintQuote(_this1.selectedMintId, _this1.depositAmount);\n _this1.depositQuoteId = quote.quoteId;\n _this1.depositInvoice = quote.invoice;\n _this1.depositQuoteState = quote.state;\n // Generate QR code\n _this1.depositInvoiceQr = yield QRCode.toDataURL(quote.invoice, {\n width: 200,\n margin: 2,\n color: {\n dark: '#000000',\n light: '#ffffff'\n }\n });\n // Start polling for payment\n _this1.startDepositPolling();\n } catch (error) {\n _this1.depositError = error instanceof Error ? error.message : 'Failed to create invoice';\n } finally {\n _this1.creatingDepositQuote = false;\n }\n })();\n }\n startDepositPolling() {\n var _this10 = this;\n // Poll every 3 seconds for payment confirmation\n this.depositPollingInterval = setInterval(/*#__PURE__*/_asyncToGenerator(function* () {\n yield _this10.checkDepositPayment();\n }), 3000);\n }\n checkDepositPayment() {\n var _this11 = this;\n return _asyncToGenerator(function* () {\n if (!_this11.selectedMintId || !_this11.depositQuoteId) return;\n _this11.checkingDepositPayment = true;\n try {\n const quote = yield _this11.cashuService.checkMintQuote(_this11.selectedMintId, _this11.depositQuoteId);\n _this11.depositQuoteState = quote.state;\n if (quote.state === 'PAID') {\n // Invoice is paid, claim the tokens\n _this11.stopDepositPolling();\n yield _this11.claimDepositTokens();\n } else if (quote.state === 'ISSUED') {\n // Already claimed\n _this11.stopDepositPolling();\n _this11.depositSuccess = 'Tokens already claimed!';\n }\n } catch (error) {\n // Don't show error for polling failures, just log\n console.error('Failed to check payment:', error);\n } finally {\n _this11.checkingDepositPayment = false;\n }\n })();\n }\n claimDepositTokens() {\n var _this12 = this;\n return _asyncToGenerator(function* () {\n if (!_this12.selectedMintId || !_this12.depositQuoteId) return;\n try {\n const result = yield _this12.cashuService.mintTokens(_this12.selectedMintId, _this12.depositAmount, _this12.depositQuoteId);\n _this12.depositSuccess = `Received ${result.amount} sats!`;\n _this12.depositQuoteState = 'ISSUED';\n } catch (error) {\n _this12.depositError = error instanceof Error ? error.message : 'Failed to claim tokens';\n }\n })();\n }\n copyDepositInvoice() {\n var _this13 = this;\n return _asyncToGenerator(function* () {\n if (_this13.depositInvoice) {\n yield navigator.clipboard.writeText(_this13.depositInvoice);\n }\n })();\n }\n formatCashuBalance(sats) {\n return this.cashuService.formatBalance(sats);\n }\n refreshBalance(connectionId) {\n var _this14 = this;\n return _asyncToGenerator(function* () {\n try {\n yield _this14.nwcService.getBalance(connectionId);\n } catch (error) {\n console.error('Failed to refresh balance:', error);\n }\n })();\n }\n refreshAllBalances() {\n var _this15 = this;\n return _asyncToGenerator(function* () {\n _this15.loadingBalances = true;\n _this15.balanceError = '';\n try {\n yield _this15.nwcService.getAllBalances();\n } catch {\n _this15.balanceError = 'Failed to refresh some balances';\n } finally {\n _this15.loadingBalances = false;\n }\n })();\n }\n formatBalance(millisats) {\n if (millisats === undefined) return '—';\n // Convert millisats to sats with 3 decimal places\n const sats = millisats / 1000;\n return sats.toLocaleString('en-US', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 3\n });\n }\n // Lightning transaction methods\n loadTransactions(connectionId) {\n var _this16 = this;\n return _asyncToGenerator(function* () {\n _this16.loadingTransactions = true;\n _this16.transactionsError = '';\n _this16.transactionsNotSupported = false;\n try {\n _this16.transactions = yield _this16.nwcService.listTransactions(connectionId, {\n limit: 20\n });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error';\n if (errorMsg.includes('NOT_IMPLEMENTED') || errorMsg.includes('not supported')) {\n _this16.transactionsNotSupported = true;\n } else {\n _this16.transactionsError = errorMsg;\n }\n _this16.transactions = [];\n } finally {\n _this16.loadingTransactions = false;\n }\n })();\n }\n refreshWallet() {\n var _this17 = this;\n return _asyncToGenerator(function* () {\n if (!_this17.selectedConnectionId) return;\n // Refresh balance and transactions in parallel\n yield Promise.all([_this17.refreshBalance(_this17.selectedConnectionId), _this17.loadTransactions(_this17.selectedConnectionId)]);\n })();\n }\n showLnReceive() {\n this.resetLightningForms();\n this.activeSection = 'lightning-receive';\n }\n showLnPay() {\n this.resetLightningForms();\n this.showPayModal = true;\n }\n closePayModal() {\n this.showPayModal = false;\n this.resetLightningForms();\n }\n createReceiveInvoice() {\n var _this18 = this;\n return _asyncToGenerator(function* () {\n if (!_this18.selectedConnectionId) return;\n if (_this18.lnReceiveAmount <= 0) {\n _this18.lnReceiveError = 'Please enter an amount';\n return;\n }\n _this18.generatingInvoice = true;\n _this18.lnReceiveError = '';\n _this18.generatedInvoice = '';\n _this18.generatedInvoiceQr = '';\n try {\n const result = yield _this18.nwcService.makeInvoice(_this18.selectedConnectionId, _this18.lnReceiveAmount * 1000,\n // Convert sats to millisats\n _this18.lnReceiveDescription || undefined);\n _this18.generatedInvoice = result.invoice;\n // Generate QR code\n _this18.generatedInvoiceQr = yield QRCode.toDataURL(result.invoice, {\n width: 200,\n margin: 2,\n color: {\n dark: '#000000',\n light: '#ffffff'\n }\n });\n } catch (error) {\n _this18.lnReceiveError = error instanceof Error ? error.message : 'Failed to create invoice';\n } finally {\n _this18.generatingInvoice = false;\n }\n })();\n }\n copyInvoice() {\n var _this19 = this;\n return _asyncToGenerator(function* () {\n if (_this19.generatedInvoice) {\n yield navigator.clipboard.writeText(_this19.generatedInvoice);\n _this19.invoiceCopied = true;\n setTimeout(() => _this19.invoiceCopied = false, 2000);\n }\n })();\n }\n copyLightningAddress() {\n var _this20 = this;\n return _asyncToGenerator(function* () {\n const lud16 = _this20.selectedConnection?.lud16;\n if (lud16) {\n yield navigator.clipboard.writeText(lud16);\n _this20.addressCopied = true;\n setTimeout(() => _this20.addressCopied = false, 2000);\n }\n })();\n }\n payInvoiceOrAddress() {\n var _this21 = this;\n return _asyncToGenerator(function* () {\n if (!_this21.selectedConnectionId || !_this21.payInput.trim()) {\n _this21.paymentError = 'Please enter a lightning address or invoice';\n return;\n }\n _this21.paying = true;\n _this21.paymentError = '';\n _this21.paymentSuccess = false;\n try {\n let invoice = _this21.payInput.trim();\n // Check if it's a lightning address\n if (_this21.nwcService.isLightningAddress(invoice)) {\n if (_this21.payAmount <= 0) {\n _this21.paymentError = 'Please enter an amount for lightning address payments';\n _this21.paying = false;\n return;\n }\n // Resolve lightning address to invoice\n invoice = yield _this21.nwcService.resolveLightningAddress(invoice, _this21.payAmount * 1000 // Convert sats to millisats\n );\n }\n // Pay the invoice\n yield _this21.nwcService.payInvoice(_this21.selectedConnectionId, invoice, _this21.payAmount > 0 ? _this21.payAmount * 1000 : undefined);\n _this21.paymentSuccess = true;\n // Refresh balance and transactions after payment\n yield _this21.refreshWallet();\n // Close modal after a delay\n setTimeout(() => {\n _this21.closePayModal();\n }, 2000);\n } catch (error) {\n _this21.paymentError = error instanceof Error ? error.message : 'Payment failed';\n } finally {\n _this21.paying = false;\n }\n })();\n }\n formatTransactionTime(timestamp) {\n const date = new Date(timestamp * 1000);\n const now = new Date();\n const isToday = date.toDateString() === now.toDateString();\n if (isToday) {\n return date.toLocaleTimeString('en-US', {\n hour: '2-digit',\n minute: '2-digit'\n });\n }\n return date.toLocaleDateString('en-US', {\n month: 'short',\n day: 'numeric'\n });\n }\n formatProofTime(isoTimestamp) {\n if (!isoTimestamp) return '—';\n const date = new Date(isoTimestamp);\n const now = new Date();\n const isToday = date.toDateString() === now.toDateString();\n if (isToday) {\n return date.toLocaleTimeString('en-US', {\n hour: '2-digit',\n minute: '2-digit'\n });\n }\n return date.toLocaleDateString('en-US', {\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n }\n onClickLock() {\n var _this22 = this;\n return _asyncToGenerator(function* () {\n _this22.#logger.logVaultLock();\n yield _this22.storage.lockVault();\n _this22.#router.navigateByUrl('/vault-login');\n })();\n }\n // Cashu onboarding methods\n dismissCashuInfo() {\n this.showCashuInfo = false;\n }\n navigateToSettings() {\n this.#router.navigateByUrl('/home/settings');\n }\n static ɵfac = /*@__PURE__*/(() => {\n let ɵWalletComponent_BaseFactory;\n return function WalletComponent_Factory(__ngFactoryType__) {\n return (ɵWalletComponent_BaseFactory || (ɵWalletComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WalletComponent)))(__ngFactoryType__ || WalletComponent);\n };\n })();\n static ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: WalletComponent,\n selectors: [[\"app-wallet\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 29,\n vars: 9,\n consts: [[1, \"sam-text-header\"], [1, \"header-buttons\"], [\"title\", \"Lock\", 1, \"header-btn\", 3, \"click\"], [1, \"emoji\"], [\"title\", \"Test Permission Prompt\", 1, \"header-btn\"], [\"title\", \"Go Back\", 1, \"back-btn\"], [1, \"section-btns\"], [\"title\", \"Cashu\", 1, \"section-btn\", 3, \"click\"], [\"title\", \"Lightning\", 1, \"section-btn\", 3, \"click\"], [1, \"wallet-container\"], [1, \"wallet-menu\"], [1, \"lightning-section\"], [1, \"wallet-detail\"], [1, \"add-wallet-form\"], [\"role\", \"dialog\", \"aria-modal\", \"true\", \"tabindex\", \"-1\", 1, \"modal-overlay\"], [\"title\", \"Test Permission Prompt\", 1, \"header-btn\", 3, \"click\"], [\"title\", \"Go Back\", 1, \"back-btn\", 3, \"click\"], [1, \"wallet-menu-item\", 3, \"click\"], [1, \"label\"], [1, \"balance\"], [1, \"cashu-onboarding\"], [1, \"wallet-list\"], [1, \"add-wallet-btn\", 3, \"click\"], [1, \"info-panel\"], [1, \"empty-state\"], [1, \"info-section\"], [1, \"warning-box\"], [1, \"success-box\"], [1, \"browser-url\"], [1, \"link-btn\", 3, \"click\"], [1, \"dismiss-btn\", 3, \"click\"], [1, \"sam-text-muted\"], [1, \"show-info-btn\", 3, \"click\"], [1, \"wallet-list-item\"], [1, \"wallet-list-item\", 3, \"click\"], [1, \"wallet-name\"], [1, \"wallet-balance\"], [1, \"balance-row\"], [1, \"balance-display\", \"compact\"], [1, \"balance-value\"], [1, \"balance-unit\"], [\"title\", \"Refresh\", 1, \"refresh-icon-btn\", 3, \"click\", \"disabled\"], [1, \"error-message\", \"small\"], [1, \"action-buttons\"], [1, \"action-btn\", \"deposit-btn\", 3, \"click\"], [1, \"action-btn\", \"receive-btn\", 3, \"click\"], [1, \"action-btn\", \"send-btn\", 3, \"click\", \"disabled\"], [1, \"token-section\"], [1, \"section-title\"], [1, \"empty-text\"], [1, \"token-list\"], [1, \"wallet-info\"], [1, \"info-row\"], [1, \"info-label\"], [1, \"info-value\"], [1, \"delete-btn\", 3, \"click\"], [1, \"token-item\"], [1, \"token-amount\"], [1, \"token-time\"], [1, \"form-group\"], [\"for\", \"mintName\"], [\"id\", \"mintName\", \"type\", \"text\", \"placeholder\", \"My Mint\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"for\", \"mintUrl\"], [\"id\", \"mintUrl\", \"type\", \"text\", \"placeholder\", \"https://mint.example.com\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [1, \"error-message\"], [1, \"success-message\"], [1, \"form-actions\"], [1, \"test-btn\", 3, \"click\", \"disabled\"], [1, \"add-btn\", 3, \"click\", \"disabled\"], [\"for\", \"receiveToken\"], [\"id\", \"receiveToken\", \"placeholder\", \"cashuB...\", \"rows\", \"5\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [1, \"add-btn\", \"full-width\", 3, \"click\", \"disabled\"], [1, \"balance-info\"], [\"for\", \"sendAmount\"], [\"id\", \"sendAmount\", \"type\", \"number\", \"placeholder\", \"0\", \"min\", \"1\", 3, \"ngModelChange\", \"ngModel\", \"max\", \"disabled\"], [1, \"token-result\"], [1, \"token-label\"], [\"readonly\", \"\", \"rows\", \"4\"], [1, \"copy-btn\", 3, \"click\"], [1, \"invoice-result\"], [\"for\", \"depositAmount\"], [\"id\", \"depositAmount\", \"type\", \"number\", \"placeholder\", \"1000\", \"min\", \"1\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"alt\", \"Invoice QR Code\", 1, \"qr-code\", 3, \"src\"], [1, \"deposit-status\"], [1, \"status-paid\"], [1, \"status-issued\"], [1, \"status-waiting\"], [1, \"status-checking\"], [1, \"invoice-text\"], [\"title\", \"Refresh\", 1, \"refresh-icon-btn\", 3, \"click\"], [1, \"action-btn\", \"send-btn\", 3, \"click\"], [1, \"info-row-btn\"], [1, \"transaction-section\"], [1, \"loading-text\"], [1, \"not-supported-text\"], [1, \"error-text\"], [1, \"transaction-list\"], [1, \"delete-btn-small\", 3, \"click\"], [1, \"info-row-btn\", 3, \"click\"], [1, \"copy-hint\"], [1, \"transaction-item\", 3, \"incoming\", \"outgoing\"], [1, \"transaction-item\"], [1, \"tx-icon\"], [1, \"tx-type\"], [1, \"tx-amount\"], [1, \"tx-time\"], [\"for\", \"lnReceiveAmount\"], [\"id\", \"lnReceiveAmount\", \"type\", \"number\", \"placeholder\", \"1000\", \"min\", \"1\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"for\", \"lnReceiveDescription\"], [\"id\", \"lnReceiveDescription\", \"type\", \"text\", \"placeholder\", \"Payment for...\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"role\", \"dialog\", \"aria-modal\", \"true\", \"tabindex\", \"-1\", 1, \"modal-overlay\", 3, \"click\", \"keydown.escape\"], [\"role\", \"document\", 1, \"modal-content\", 3, \"click\", \"keydown\"], [1, \"modal-header\"], [1, \"modal-close\", 3, \"click\"], [1, \"modal-body\"], [\"for\", \"payInput\"], [\"id\", \"payInput\", \"placeholder\", \"user@domain.com or lnbc1...\", \"rows\", \"3\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"for\", \"payAmount\"], [\"id\", \"payAmount\", \"type\", \"number\", \"placeholder\", \"Optional for invoices\", \"min\", \"1\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [1, \"success-message\", \"payment-success\"], [\"for\", \"walletName\"], [\"id\", \"walletName\", \"type\", \"text\", \"placeholder\", \"My Lightning Wallet\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"for\", \"walletUrl\"], [\"id\", \"walletUrl\", \"placeholder\", \"nostr+walletconnect://...\", \"rows\", \"3\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [1, \"nwc-log\"], [1, \"log-header\"], [1, \"log-clear-btn\", 3, \"click\"], [1, \"log-entries\"], [1, \"log-entry\", 3, \"log-warn\", \"log-error\"], [1, \"log-entry\"], [1, \"log-time\"], [1, \"log-message\"]],\n template: function WalletComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1)(2, \"button\", 2);\n i0.ɵɵlistener(\"click\", function WalletComponent_Template_button_click_2_listener() {\n return ctx.onClickLock();\n });\n i0.ɵɵelementStart(3, \"span\", 3);\n i0.ɵɵtext(4, \"\\uD83D\\uDD12\");\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(5, WalletComponent_Conditional_5_Template, 3, 0, \"button\", 4);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, WalletComponent_Conditional_6_Template, 3, 0, \"button\", 5);\n i0.ɵɵelementStart(7, \"span\");\n i0.ɵɵtext(8);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(9, \"div\", 6)(10, \"button\", 7);\n i0.ɵɵlistener(\"click\", function WalletComponent_Template_button_click_10_listener() {\n return ctx.setSection(\"cashu\");\n });\n i0.ɵɵelementStart(11, \"span\", 3);\n i0.ɵɵtext(12, \"\\uD83E\\uDD5C\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(13, \"button\", 8);\n i0.ɵɵlistener(\"click\", function WalletComponent_Template_button_click_13_listener() {\n return ctx.setSection(\"lightning\");\n });\n i0.ɵɵelementStart(14, \"span\", 3);\n i0.ɵɵtext(15, \"\\u26A1\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(16, \"div\", 9);\n i0.ɵɵtemplate(17, WalletComponent_Conditional_17_Template, 15, 2, \"div\", 10)(18, WalletComponent_Conditional_18_Template, 8, 1, \"div\", 11)(19, WalletComponent_Conditional_19_Template, 36, 10, \"div\", 12)(20, WalletComponent_Conditional_20_Template, 16, 10, \"div\", 13)(21, WalletComponent_Conditional_21_Template, 10, 6, \"div\", 13)(22, WalletComponent_Conditional_22_Template, 10, 7, \"div\", 13)(23, WalletComponent_Conditional_23_Template, 3, 2, \"div\", 13)(24, WalletComponent_Conditional_24_Template, 8, 1, \"div\", 11)(25, WalletComponent_Conditional_25_Template, 32, 4, \"div\", 12)(26, WalletComponent_Conditional_26_Template, 12, 7, \"div\", 13)(27, WalletComponent_Conditional_27_Template, 19, 7, \"div\", 14)(28, WalletComponent_Conditional_28_Template, 17, 11, \"div\", 13);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(5);\n i0.ɵɵconditional(ctx.devMode ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.showBackButton ? 6 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.title);\n i0.ɵɵadvance(2);\n i0.ɵɵclassProp(\"active\", ctx.activeSection.startsWith(\"cashu\"));\n i0.ɵɵadvance(3);\n i0.ɵɵclassProp(\"active\", ctx.activeSection.startsWith(\"lightning\"));\n i0.ɵɵadvance(4);\n i0.ɵɵconditional(ctx.activeSection === \"main\" ? 17 : ctx.activeSection === \"cashu\" ? 18 : ctx.activeSection === \"cashu-detail\" && ctx.selectedMint ? 19 : ctx.activeSection === \"cashu-add\" ? 20 : ctx.activeSection === \"cashu-receive\" ? 21 : ctx.activeSection === \"cashu-send\" ? 22 : ctx.activeSection === \"cashu-mint\" && ctx.selectedMint ? 23 : ctx.activeSection === \"lightning\" ? 24 : ctx.activeSection === \"lightning-detail\" && ctx.selectedConnection ? 25 : ctx.activeSection === \"lightning-receive\" && ctx.selectedConnection ? 26 : -1);\n i0.ɵɵadvance(10);\n i0.ɵɵconditional(ctx.showPayModal && ctx.selectedConnection ? 27 : ctx.activeSection === \"lightning-add\" ? 28 : -1);\n }\n },\n dependencies: [CommonModule, i1.DatePipe, FormsModule, i2.DefaultValueAccessor, i2.NumberValueAccessor, i2.NgControlStatus, i2.MinValidator, i2.MaxValidator, i2.NgModel],\n styles: [\"[_nghost-%COMP%] {\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n padding-top: var(--size);\\n padding-bottom: var(--size);\\n overflow: hidden;\\n}\\n[_nghost-%COMP%] > *[_ngcontent-%COMP%]:not(.sam-text-header) {\\n margin-left: var(--size);\\n margin-right: var(--size);\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] {\\n margin-bottom: var(--size);\\n flex-shrink: 0;\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%] {\\n background: transparent;\\n border: none;\\n padding: 8px;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n transition: background-color 0.2s;\\n margin-right: 4px;\\n color: var(--foreground);\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]:hover {\\n background-color: var(--background-light);\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%] .emoji[_ngcontent-%COMP%] {\\n font-size: 20px;\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .section-btns[_ngcontent-%COMP%] {\\n position: absolute;\\n right: 0;\\n display: flex;\\n gap: 4px;\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .section-btn[_ngcontent-%COMP%] {\\n background: transparent;\\n border: none;\\n padding: 8px;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n transition: background-color 0.2s;\\n opacity: 0.5;\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .section-btn[_ngcontent-%COMP%]:hover {\\n background-color: var(--background-light);\\n opacity: 0.8;\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .section-btn.active[_ngcontent-%COMP%] {\\n opacity: 1;\\n background-color: var(--background-light);\\n}\\n[_nghost-%COMP%] .sam-text-header[_ngcontent-%COMP%] .section-btn[_ngcontent-%COMP%] .emoji[_ngcontent-%COMP%] {\\n font-size: 20px;\\n}\\n\\n.wallet-container[_ngcontent-%COMP%] {\\n flex: 1;\\n overflow-y: auto;\\n}\\n\\n.wallet-menu[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n\\n.wallet-menu-item[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n gap: var(--size);\\n padding: var(--size);\\n background: var(--background-light);\\n border: none;\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n}\\n.wallet-menu-item[_ngcontent-%COMP%]:hover {\\n background: var(--background-light-hover);\\n}\\n.wallet-menu-item[_ngcontent-%COMP%] .emoji[_ngcontent-%COMP%] {\\n font-size: 24px;\\n}\\n.wallet-menu-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\\n flex: 1;\\n font-size: 1rem;\\n color: var(--foreground);\\n text-align: left;\\n}\\n.wallet-menu-item[_ngcontent-%COMP%] .balance[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--muted-foreground);\\n}\\n\\n.empty-state[_ngcontent-%COMP%] {\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n text-align: center;\\n color: var(--muted-foreground);\\n padding: var(--size-2x);\\n gap: var(--size-h);\\n}\\n\\n.cashu-onboarding[_ngcontent-%COMP%] {\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] {\\n padding: var(--size);\\n background: var(--background-light);\\n border-radius: var(--radius-md);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\\n margin: 0 0 var(--size) 0;\\n font-size: 1.1rem;\\n color: var(--foreground);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\\n margin: 0 0 var(--size-h) 0;\\n font-size: 0.9rem;\\n color: var(--muted-foreground);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] {\\n margin-bottom: var(--size);\\n padding-bottom: var(--size);\\n border-bottom: 1px solid var(--border);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%]:last-of-type {\\n border-bottom: none;\\n margin-bottom: 0;\\n padding-bottom: 0;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\\n margin: 0 0 var(--size-h) 0;\\n font-size: 0.85rem;\\n line-height: 1.4;\\n color: var(--muted-foreground);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child {\\n margin-bottom: 0;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\\n color: var(--foreground);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] {\\n margin: var(--size-h) 0;\\n padding-left: var(--size);\\n font-size: 0.85rem;\\n color: var(--muted-foreground);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\\n margin-bottom: 4px;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] .browser-url[_ngcontent-%COMP%] {\\n margin-top: var(--size-h);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .info-section[_ngcontent-%COMP%] .browser-url[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\\n font-size: 0.75rem;\\n background: var(--background);\\n padding: 4px 8px;\\n border-radius: 4px;\\n -webkit-user-select: all;\\n user-select: all;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] {\\n background: rgba(255, 193, 7, 0.1);\\n border: 1px solid var(--warning, #ffc107);\\n border-radius: var(--radius-sm);\\n padding: var(--size-h);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .success-box[_ngcontent-%COMP%] {\\n background: rgba(34, 197, 94, 0.1);\\n border: 1px solid var(--success, #22c55e);\\n border-radius: var(--radius-sm);\\n padding: var(--size-h);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .link-btn[_ngcontent-%COMP%] {\\n background: transparent;\\n border: 1px solid var(--primary);\\n color: var(--primary);\\n padding: var(--size-h) var(--size);\\n border-radius: var(--radius-sm);\\n cursor: pointer;\\n font-size: 0.85rem;\\n margin-top: var(--size-h);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .link-btn[_ngcontent-%COMP%]:hover {\\n background: var(--primary);\\n color: white;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .dismiss-btn[_ngcontent-%COMP%] {\\n width: 100%;\\n padding: var(--size-h);\\n background: var(--primary);\\n color: white;\\n border: none;\\n border-radius: var(--radius-sm);\\n cursor: pointer;\\n font-size: 0.9rem;\\n margin-top: var(--size);\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .dismiss-btn[_ngcontent-%COMP%]:hover {\\n opacity: 0.9;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .show-info-btn[_ngcontent-%COMP%] {\\n background: transparent;\\n border: none;\\n color: var(--primary);\\n cursor: pointer;\\n font-size: 0.8rem;\\n text-decoration: underline;\\n padding: 0;\\n}\\n.cashu-onboarding[_ngcontent-%COMP%] .show-info-btn[_ngcontent-%COMP%]:hover {\\n opacity: 0.8;\\n}\\n\\n.lightning-section[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size);\\n height: 100%;\\n}\\n\\n.wallet-list[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n\\n.wallet-list-item[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--size);\\n background: var(--background-light);\\n border: none;\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n}\\n.wallet-list-item[_ngcontent-%COMP%]:hover {\\n background: var(--background-light-hover);\\n}\\n.wallet-list-item[_ngcontent-%COMP%] .wallet-name[_ngcontent-%COMP%] {\\n font-size: 1rem;\\n color: var(--foreground);\\n}\\n.wallet-list-item[_ngcontent-%COMP%] .wallet-balance[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--muted-foreground);\\n}\\n\\n.add-wallet-btn[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--size-h);\\n padding: var(--size);\\n background: transparent;\\n border: 1px dashed var(--border);\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--muted-foreground);\\n transition: all 0.15s ease;\\n margin-top: auto;\\n}\\n.add-wallet-btn[_ngcontent-%COMP%]:hover {\\n border-color: var(--foreground);\\n color: var(--foreground);\\n background: var(--background-light);\\n}\\n.add-wallet-btn[_ngcontent-%COMP%] .emoji[_ngcontent-%COMP%] {\\n font-size: 20px;\\n}\\n\\n.wallet-detail[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size);\\n padding-top: var(--size);\\n}\\n\\n.balance-row[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--size);\\n padding: var(--size) 0;\\n}\\n\\n.balance-display[_ngcontent-%COMP%] {\\n text-align: center;\\n padding: var(--size-2x) 0;\\n}\\n.balance-display[_ngcontent-%COMP%] .balance-value[_ngcontent-%COMP%] {\\n font-size: 2.5rem;\\n font-weight: 600;\\n color: var(--foreground);\\n}\\n.balance-display[_ngcontent-%COMP%] .balance-unit[_ngcontent-%COMP%] {\\n font-size: 1.25rem;\\n color: var(--muted-foreground);\\n margin-left: var(--size-h);\\n}\\n.balance-display.compact[_ngcontent-%COMP%] {\\n padding: 0;\\n}\\n.balance-display.compact[_ngcontent-%COMP%] .balance-value[_ngcontent-%COMP%] {\\n font-size: 1.5rem;\\n}\\n.balance-display.compact[_ngcontent-%COMP%] .balance-unit[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n}\\n\\n.refresh-icon-btn[_ngcontent-%COMP%] {\\n background: var(--background-light);\\n border: none;\\n border-radius: 50%;\\n width: 36px;\\n height: 36px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n}\\n.refresh-icon-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n background: var(--background-light-hover);\\n}\\n.refresh-icon-btn[_ngcontent-%COMP%]:disabled {\\n opacity: 0.7;\\n cursor: not-allowed;\\n}\\n.refresh-icon-btn[_ngcontent-%COMP%] .emoji[_ngcontent-%COMP%] {\\n font-size: 16px;\\n}\\n.refresh-icon-btn[_ngcontent-%COMP%] .emoji.spinning[_ngcontent-%COMP%] {\\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\\n}\\n\\n@keyframes _ngcontent-%COMP%_spin {\\n from {\\n transform: rotate(0deg);\\n }\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.balance-updated[_ngcontent-%COMP%] {\\n text-align: center;\\n font-size: 0.75rem;\\n color: var(--muted-foreground);\\n margin-top: calc(-1 * var(--size-h));\\n}\\n\\n.action-buttons[_ngcontent-%COMP%] {\\n display: flex;\\n gap: var(--size);\\n justify-content: center;\\n margin-bottom: var(--size);\\n}\\n\\n.action-btn[_ngcontent-%COMP%] {\\n flex: 1;\\n max-width: 120px;\\n padding: var(--size) var(--size-2x);\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: 500;\\n transition: all 0.15s ease;\\n}\\n.action-btn[_ngcontent-%COMP%]:disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n.action-btn.deposit-btn[_ngcontent-%COMP%] {\\n background: var(--success, #22c55e);\\n border: none;\\n color: white;\\n}\\n.action-btn.deposit-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n opacity: 0.9;\\n}\\n.action-btn.receive-btn[_ngcontent-%COMP%] {\\n background: var(--primary);\\n border: none;\\n color: var(--primary-foreground, white);\\n}\\n.action-btn.receive-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n opacity: 0.9;\\n}\\n.action-btn.send-btn[_ngcontent-%COMP%] {\\n background: var(--background-light);\\n border: 1px solid var(--border);\\n color: var(--foreground);\\n}\\n.action-btn.send-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n background: var(--background-light-hover);\\n}\\n\\n.refresh-btn[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: var(--background-light);\\n border: none;\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--foreground);\\n transition: background-color 0.15s ease;\\n}\\n.refresh-btn[_ngcontent-%COMP%]:hover {\\n background: var(--background-light-hover);\\n}\\n\\n.wallet-info[_ngcontent-%COMP%] {\\n background: var(--background-light);\\n border-radius: var(--radius-md);\\n padding: var(--size);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n padding: var(--size-h) 0;\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]:not(:last-child) {\\n border-bottom: 1px solid var(--border);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%] {\\n font-size: 0.75rem;\\n color: var(--muted-foreground);\\n text-transform: uppercase;\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--foreground);\\n word-break: break-all;\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .copy-hint[_ngcontent-%COMP%] {\\n font-size: 0.7rem;\\n color: var(--muted-foreground);\\n margin-left: var(--size-h);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row-btn[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n padding: var(--size-h) var(--size);\\n background: transparent;\\n border: none;\\n text-align: left;\\n width: 100%;\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n border-radius: var(--radius-sm);\\n margin: calc(-1 * var(--size-h)) calc(-1 * var(--size));\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row-btn[_ngcontent-%COMP%]:hover {\\n background: var(--background);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row-btn[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%] {\\n font-size: 0.75rem;\\n color: var(--muted-foreground);\\n text-transform: uppercase;\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row-btn[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--foreground);\\n word-break: break-all;\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row-btn[_ngcontent-%COMP%] .copy-hint[_ngcontent-%COMP%] {\\n font-size: 0.7rem;\\n color: var(--muted-foreground);\\n margin-left: var(--size-h);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row.clickable[_ngcontent-%COMP%] {\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n margin: calc(-1 * var(--size-h)) calc(-1 * var(--size));\\n padding: var(--size-h) var(--size);\\n border-radius: var(--radius-sm);\\n}\\n.wallet-info[_ngcontent-%COMP%] .info-row.clickable[_ngcontent-%COMP%]:hover {\\n background: var(--background);\\n}\\n\\n.transaction-section[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n.transaction-section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n font-weight: 500;\\n color: var(--foreground);\\n}\\n.transaction-section[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], \\n.transaction-section[_ngcontent-%COMP%] .empty-text[_ngcontent-%COMP%], \\n.transaction-section[_ngcontent-%COMP%] .not-supported-text[_ngcontent-%COMP%], \\n.transaction-section[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] {\\n font-size: 0.75rem;\\n color: var(--muted-foreground);\\n text-align: center;\\n padding: var(--size);\\n}\\n.transaction-section[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] {\\n color: var(--destructive);\\n}\\n\\n.token-section[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n.token-section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n font-weight: 500;\\n color: var(--foreground);\\n}\\n.token-section[_ngcontent-%COMP%] .empty-text[_ngcontent-%COMP%] {\\n font-size: 0.75rem;\\n color: var(--muted-foreground);\\n text-align: center;\\n padding: var(--size);\\n}\\n\\n.token-list[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: 2px;\\n max-height: 150px;\\n overflow-y: auto;\\n background: var(--background-light);\\n border-radius: var(--radius-md);\\n padding: var(--size-h);\\n}\\n\\n.token-item[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--size-h);\\n border-radius: var(--radius-sm);\\n font-size: 0.75rem;\\n}\\n.token-item[_ngcontent-%COMP%] .token-amount[_ngcontent-%COMP%] {\\n color: var(--success, #22c55e);\\n font-weight: 500;\\n}\\n.token-item[_ngcontent-%COMP%] .token-amount[_ngcontent-%COMP%]::after {\\n content: \\\" sats\\\";\\n font-weight: 400;\\n color: var(--muted-foreground);\\n}\\n.token-item[_ngcontent-%COMP%] .token-time[_ngcontent-%COMP%] {\\n color: var(--muted-foreground);\\n font-size: 0.7rem;\\n}\\n\\n.transaction-list[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: 2px;\\n max-height: 150px;\\n overflow-y: auto;\\n background: var(--background-light);\\n border-radius: var(--radius-md);\\n padding: var(--size-h);\\n}\\n\\n.transaction-item[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n gap: var(--size-h);\\n padding: var(--size-h);\\n border-radius: var(--radius-sm);\\n font-size: 0.75rem;\\n}\\n.transaction-item.incoming[_ngcontent-%COMP%] .tx-icon[_ngcontent-%COMP%], \\n.transaction-item.incoming[_ngcontent-%COMP%] .tx-amount[_ngcontent-%COMP%] {\\n color: var(--success, #22c55e);\\n}\\n.transaction-item.outgoing[_ngcontent-%COMP%] .tx-icon[_ngcontent-%COMP%], \\n.transaction-item.outgoing[_ngcontent-%COMP%] .tx-amount[_ngcontent-%COMP%] {\\n color: var(--destructive);\\n}\\n.transaction-item[_ngcontent-%COMP%] .tx-icon[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n}\\n.transaction-item[_ngcontent-%COMP%] .tx-type[_ngcontent-%COMP%] {\\n color: var(--foreground);\\n min-width: 50px;\\n}\\n.transaction-item[_ngcontent-%COMP%] .tx-amount[_ngcontent-%COMP%] {\\n flex: 1;\\n text-align: right;\\n font-weight: 500;\\n}\\n.transaction-item[_ngcontent-%COMP%] .tx-amount[_ngcontent-%COMP%]::after {\\n content: \\\" sats\\\";\\n font-weight: 400;\\n color: var(--muted-foreground);\\n}\\n.transaction-item[_ngcontent-%COMP%] .tx-time[_ngcontent-%COMP%] {\\n color: var(--muted-foreground);\\n font-size: 0.7rem;\\n min-width: 45px;\\n text-align: right;\\n}\\n\\n.delete-btn[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: transparent;\\n border: 1px solid var(--destructive);\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--destructive);\\n transition: all 0.15s ease;\\n margin-top: var(--size);\\n}\\n.delete-btn[_ngcontent-%COMP%]:hover {\\n background: var(--destructive);\\n color: white;\\n}\\n\\n.delete-btn-small[_ngcontent-%COMP%] {\\n padding: 6px var(--size);\\n background: transparent;\\n border: 1px solid var(--destructive);\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--destructive);\\n font-size: 0.75rem;\\n transition: all 0.15s ease;\\n margin-top: auto;\\n align-self: center;\\n}\\n.delete-btn-small[_ngcontent-%COMP%]:hover {\\n background: var(--destructive);\\n color: white;\\n}\\n\\n.add-wallet-form[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size);\\n}\\n\\n.form-group[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--foreground);\\n font-weight: 500;\\n}\\n.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], \\n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: var(--background-light);\\n border: 1px solid var(--border);\\n border-radius: var(--radius-md);\\n color: var(--foreground);\\n font-size: 0.875rem;\\n font-family: inherit;\\n resize: vertical;\\n}\\n.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder, \\n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder {\\n color: var(--muted-foreground);\\n}\\n.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, \\n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus {\\n outline: none;\\n border-color: var(--primary);\\n}\\n.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled, \\n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\\n min-height: 80px;\\n}\\n\\n.error-message[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: color-mix(in srgb, var(--destructive) 10%, transparent);\\n border: 1px solid var(--destructive);\\n border-radius: var(--radius-md);\\n color: var(--destructive);\\n font-size: 0.875rem;\\n}\\n.error-message.small[_ngcontent-%COMP%] {\\n padding: 4px var(--size-h);\\n font-size: 0.75rem;\\n text-align: center;\\n}\\n\\n.success-message[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: color-mix(in srgb, var(--success, #22c55e) 10%, transparent);\\n border: 1px solid var(--success, #22c55e);\\n border-radius: var(--radius-md);\\n color: var(--success, #22c55e);\\n font-size: 0.875rem;\\n}\\n\\n.form-actions[_ngcontent-%COMP%] {\\n display: flex;\\n gap: var(--size-h);\\n margin-top: var(--size-h);\\n}\\n.form-actions[_ngcontent-%COMP%] .test-btn[_ngcontent-%COMP%], \\n.form-actions[_ngcontent-%COMP%] .add-btn[_ngcontent-%COMP%] {\\n flex: 1;\\n padding: var(--size-h) var(--size);\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n font-size: 0.875rem;\\n transition: all 0.15s ease;\\n}\\n.form-actions[_ngcontent-%COMP%] .test-btn[_ngcontent-%COMP%]:disabled, \\n.form-actions[_ngcontent-%COMP%] .add-btn[_ngcontent-%COMP%]:disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n.form-actions[_ngcontent-%COMP%] .test-btn[_ngcontent-%COMP%] {\\n background: var(--background-light);\\n border: 1px solid var(--border);\\n color: var(--foreground);\\n}\\n.form-actions[_ngcontent-%COMP%] .test-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n background: var(--background-light-hover);\\n}\\n.form-actions[_ngcontent-%COMP%] .add-btn[_ngcontent-%COMP%] {\\n background: var(--primary);\\n border: none;\\n color: var(--primary-foreground, white);\\n}\\n.form-actions[_ngcontent-%COMP%] .add-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\\n opacity: 0.9;\\n}\\n.form-actions[_ngcontent-%COMP%] .add-btn.full-width[_ngcontent-%COMP%] {\\n flex: 1;\\n}\\n\\n.balance-info[_ngcontent-%COMP%] {\\n text-align: center;\\n font-size: 0.875rem;\\n color: var(--muted-foreground);\\n margin-bottom: var(--size);\\n}\\n\\n.token-result[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n gap: var(--size-h);\\n}\\n.token-result[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\\n font-size: 0.875rem;\\n color: var(--foreground);\\n font-weight: 500;\\n}\\n.token-result[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: var(--background-light);\\n border: 1px solid var(--border);\\n border-radius: var(--radius-md);\\n color: var(--foreground);\\n font-size: 0.75rem;\\n font-family: monospace;\\n resize: none;\\n word-break: break-all;\\n}\\n.token-result[_ngcontent-%COMP%] .copy-btn[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: var(--primary);\\n border: none;\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--primary-foreground, white);\\n font-size: 0.875rem;\\n transition: all 0.15s ease;\\n}\\n.token-result[_ngcontent-%COMP%] .copy-btn[_ngcontent-%COMP%]:hover {\\n opacity: 0.9;\\n}\\n\\n.nwc-log[_ngcontent-%COMP%] {\\n background: var(--background-light);\\n border: 1px solid var(--border);\\n border-radius: var(--radius-md);\\n overflow: hidden;\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-header[_ngcontent-%COMP%] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: var(--size-h) var(--size);\\n background: var(--background);\\n border-bottom: 1px solid var(--border);\\n font-size: 0.75rem;\\n font-weight: 500;\\n color: var(--muted-foreground);\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-clear-btn[_ngcontent-%COMP%] {\\n background: transparent;\\n border: none;\\n color: var(--muted-foreground);\\n font-size: 0.7rem;\\n cursor: pointer;\\n padding: 2px 6px;\\n border-radius: var(--radius-sm);\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-clear-btn[_ngcontent-%COMP%]:hover {\\n background: var(--background-light-hover);\\n color: var(--foreground);\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entries[_ngcontent-%COMP%] {\\n max-height: 150px;\\n overflow-y: auto;\\n font-family: monospace;\\n font-size: 0.7rem;\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry[_ngcontent-%COMP%] {\\n display: flex;\\n gap: var(--size-h);\\n padding: 4px var(--size);\\n border-bottom: 1px solid var(--border);\\n color: var(--foreground);\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry[_ngcontent-%COMP%]:last-child {\\n border-bottom: none;\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry.log-warn[_ngcontent-%COMP%] {\\n background: color-mix(in srgb, orange 10%, transparent);\\n color: orange;\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry.log-error[_ngcontent-%COMP%] {\\n background: color-mix(in srgb, var(--destructive) 10%, transparent);\\n color: var(--destructive);\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry[_ngcontent-%COMP%] .log-time[_ngcontent-%COMP%] {\\n color: var(--muted-foreground);\\n flex-shrink: 0;\\n}\\n.nwc-log[_ngcontent-%COMP%] .log-entry[_ngcontent-%COMP%] .log-message[_ngcontent-%COMP%] {\\n word-break: break-word;\\n}\\n\\n.invoice-result[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n gap: var(--size);\\n padding: var(--size);\\n background: var(--background-light);\\n border-radius: var(--radius-md);\\n}\\n.invoice-result[_ngcontent-%COMP%] .qr-code[_ngcontent-%COMP%] {\\n width: 180px;\\n height: 180px;\\n border-radius: var(--radius-md);\\n background: white;\\n padding: var(--size-h);\\n}\\n.invoice-result[_ngcontent-%COMP%] .invoice-text[_ngcontent-%COMP%] {\\n font-size: 0.7rem;\\n font-family: monospace;\\n color: var(--muted-foreground);\\n word-break: break-all;\\n text-align: center;\\n max-height: 60px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.invoice-result[_ngcontent-%COMP%] .copy-btn[_ngcontent-%COMP%] {\\n padding: var(--size-h) var(--size);\\n background: var(--primary);\\n border: none;\\n border-radius: var(--radius-md);\\n cursor: pointer;\\n color: var(--primary-foreground, white);\\n font-size: 0.875rem;\\n transition: all 0.15s ease;\\n}\\n.invoice-result[_ngcontent-%COMP%] .copy-btn[_ngcontent-%COMP%]:hover {\\n opacity: 0.9;\\n}\\n.invoice-result[_ngcontent-%COMP%] .deposit-status[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n gap: var(--size-h);\\n font-size: 0.875rem;\\n padding: var(--size-h) 0;\\n}\\n.invoice-result[_ngcontent-%COMP%] .deposit-status[_ngcontent-%COMP%] .status-waiting[_ngcontent-%COMP%] {\\n color: var(--muted-foreground);\\n}\\n.invoice-result[_ngcontent-%COMP%] .deposit-status[_ngcontent-%COMP%] .status-checking[_ngcontent-%COMP%] {\\n font-size: 0.7rem;\\n color: var(--muted-foreground);\\n animation: _ngcontent-%COMP%_pulse 1.5s ease-in-out infinite;\\n}\\n.invoice-result[_ngcontent-%COMP%] .deposit-status[_ngcontent-%COMP%] .status-paid[_ngcontent-%COMP%] {\\n color: var(--primary);\\n font-weight: 500;\\n}\\n.invoice-result[_ngcontent-%COMP%] .deposit-status[_ngcontent-%COMP%] .status-issued[_ngcontent-%COMP%] {\\n color: var(--success, #22c55e);\\n font-weight: 500;\\n}\\n\\n@keyframes _ngcontent-%COMP%_pulse {\\n 0%, 100% {\\n opacity: 0.4;\\n }\\n 50% {\\n opacity: 1;\\n }\\n}\\n.modal-overlay[_ngcontent-%COMP%] {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: rgba(0, 0, 0, 0.7);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 1000;\\n padding: var(--size);\\n}\\n\\n.modal-content[_ngcontent-%COMP%] {\\n background: var(--background);\\n border-radius: var(--radius-md);\\n width: 100%;\\n max-width: 320px;\\n max-height: 90vh;\\n overflow-y: auto;\\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\\n}\\n\\n.modal-header[_ngcontent-%COMP%] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: var(--size);\\n border-bottom: 1px solid var(--border);\\n font-weight: 500;\\n}\\n.modal-header[_ngcontent-%COMP%] .modal-close[_ngcontent-%COMP%] {\\n background: transparent;\\n border: none;\\n font-size: 1.5rem;\\n cursor: pointer;\\n color: var(--muted-foreground);\\n line-height: 1;\\n padding: 0;\\n width: 24px;\\n height: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.modal-header[_ngcontent-%COMP%] .modal-close[_ngcontent-%COMP%]:hover {\\n color: var(--foreground);\\n}\\n\\n.modal-body[_ngcontent-%COMP%] {\\n padding: var(--size);\\n display: flex;\\n flex-direction: column;\\n gap: var(--size);\\n}\\n.modal-body[_ngcontent-%COMP%] .payment-success[_ngcontent-%COMP%] {\\n text-align: center;\\n font-weight: 500;\\n padding: var(--size);\\n}\"]\n });\n }\n return WalletComponent;\n})();","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}