{"ast":null,"code":"import _asyncToGenerator from \"/home/mleku/src/orly.dev/next/signer/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport browser from 'webextension-polyfill';\n/**\n * Decode base64 string to UTF-8 using native browser APIs.\n * This avoids race conditions with the Buffer polyfill initialization.\n */\nfunction base64ToUtf8(base64) {\n  const binaryString = atob(base64);\n  const bytes = Uint8Array.from(binaryString, char => char.charCodeAt(0));\n  return new TextDecoder('utf-8').decode(bytes);\n}\nconst params = new URLSearchParams(location.search);\nconst id = params.get('id');\nconst method = params.get('method');\nconst host = params.get('host');\nconst nick = params.get('nick');\nlet event = '{}';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet eventParsed = {};\ntry {\n  event = base64ToUtf8(params.get('event'));\n  eventParsed = JSON.parse(event);\n} catch (e) {\n  console.error('Failed to parse event:', e);\n}\nlet title = '';\nswitch (method) {\n  case 'getPublicKey':\n    title = 'Get Public Key';\n    break;\n  case 'signEvent':\n    title = 'Sign Event';\n    break;\n  case 'nip04.encrypt':\n    title = 'Encrypt';\n    break;\n  case 'nip44.encrypt':\n    title = 'Encrypt';\n    break;\n  case 'nip04.decrypt':\n    title = 'Decrypt';\n    break;\n  case 'nip44.decrypt':\n    title = 'Decrypt';\n    break;\n  case 'getRelays':\n    title = 'Get Relays';\n    break;\n  case 'webln.enable':\n    title = 'Enable WebLN';\n    break;\n  case 'webln.getInfo':\n    title = 'Wallet Info';\n    break;\n  case 'webln.sendPayment':\n    title = 'Send Payment';\n    break;\n  case 'webln.makeInvoice':\n    title = 'Create Invoice';\n    break;\n  case 'webln.keysend':\n    title = 'Keysend Payment';\n    break;\n  default:\n    break;\n}\nconst titleSpanElement = document.getElementById('titleSpan');\nif (titleSpanElement) {\n  titleSpanElement.innerText = title;\n}\nArray.from(document.getElementsByClassName('nick-INSERT')).forEach(element => {\n  element.innerText = nick;\n});\nArray.from(document.getElementsByClassName('host-INSERT')).forEach(element => {\n  element.innerText = host;\n});\nconst kindSpanElement = document.getElementById('kindSpan');\nif (kindSpanElement && eventParsed.kind !== undefined) {\n  kindSpanElement.innerText = eventParsed.kind;\n}\nconst cardGetPublicKeyElement = document.getElementById('cardGetPublicKey');\nif (cardGetPublicKeyElement) {\n  if (method === 'getPublicKey') {\n    // Do nothing.\n  } else {\n    cardGetPublicKeyElement.style.display = 'none';\n  }\n}\nconst cardGetRelaysElement = document.getElementById('cardGetRelays');\nif (cardGetRelaysElement) {\n  if (method === 'getRelays') {\n    // Do nothing.\n  } else {\n    cardGetRelaysElement.style.display = 'none';\n  }\n}\nconst cardSignEventElement = document.getElementById('cardSignEvent');\nconst card2SignEventElement = document.getElementById('card2SignEvent');\nif (cardSignEventElement && card2SignEventElement) {\n  if (method === 'signEvent') {\n    const card2SignEvent_jsonElement = document.getElementById('card2SignEvent_json');\n    if (card2SignEvent_jsonElement) {\n      card2SignEvent_jsonElement.innerText = event;\n    }\n  } else {\n    cardSignEventElement.style.display = 'none';\n    card2SignEventElement.style.display = 'none';\n  }\n}\nconst cardNip04EncryptElement = document.getElementById('cardNip04Encrypt');\nconst card2Nip04EncryptElement = document.getElementById('card2Nip04Encrypt');\nif (cardNip04EncryptElement && card2Nip04EncryptElement) {\n  if (method === 'nip04.encrypt') {\n    const card2Nip04Encrypt_textElement = document.getElementById('card2Nip04Encrypt_text');\n    if (card2Nip04Encrypt_textElement) {\n      const eventObject = eventParsed;\n      card2Nip04Encrypt_textElement.innerText = eventObject.plaintext || '';\n    }\n  } else {\n    cardNip04EncryptElement.style.display = 'none';\n    card2Nip04EncryptElement.style.display = 'none';\n  }\n}\nconst cardNip44EncryptElement = document.getElementById('cardNip44Encrypt');\nconst card2Nip44EncryptElement = document.getElementById('card2Nip44Encrypt');\nif (cardNip44EncryptElement && card2Nip44EncryptElement) {\n  if (method === 'nip44.encrypt') {\n    const card2Nip44Encrypt_textElement = document.getElementById('card2Nip44Encrypt_text');\n    if (card2Nip44Encrypt_textElement) {\n      const eventObject = eventParsed;\n      card2Nip44Encrypt_textElement.innerText = eventObject.plaintext || '';\n    }\n  } else {\n    cardNip44EncryptElement.style.display = 'none';\n    card2Nip44EncryptElement.style.display = 'none';\n  }\n}\nconst cardNip04DecryptElement = document.getElementById('cardNip04Decrypt');\nconst card2Nip04DecryptElement = document.getElementById('card2Nip04Decrypt');\nif (cardNip04DecryptElement && card2Nip04DecryptElement) {\n  if (method === 'nip04.decrypt') {\n    const card2Nip04Decrypt_textElement = document.getElementById('card2Nip04Decrypt_text');\n    if (card2Nip04Decrypt_textElement) {\n      const eventObject = eventParsed;\n      card2Nip04Decrypt_textElement.innerText = eventObject.ciphertext || '';\n    }\n  } else {\n    cardNip04DecryptElement.style.display = 'none';\n    card2Nip04DecryptElement.style.display = 'none';\n  }\n}\nconst cardNip44DecryptElement = document.getElementById('cardNip44Decrypt');\nconst card2Nip44DecryptElement = document.getElementById('card2Nip44Decrypt');\nif (cardNip44DecryptElement && card2Nip44DecryptElement) {\n  if (method === 'nip44.decrypt') {\n    const card2Nip44Decrypt_textElement = document.getElementById('card2Nip44Decrypt_text');\n    if (card2Nip44Decrypt_textElement) {\n      const eventObject = eventParsed;\n      card2Nip44Decrypt_textElement.innerText = eventObject.ciphertext || '';\n    }\n  } else {\n    cardNip44DecryptElement.style.display = 'none';\n    card2Nip44DecryptElement.style.display = 'none';\n  }\n}\n// WebLN card visibility\nconst cardWeblnEnableElement = document.getElementById('cardWeblnEnable');\nif (cardWeblnEnableElement) {\n  if (method !== 'webln.enable') {\n    cardWeblnEnableElement.style.display = 'none';\n  }\n}\nconst cardWeblnGetInfoElement = document.getElementById('cardWeblnGetInfo');\nif (cardWeblnGetInfoElement) {\n  if (method !== 'webln.getInfo') {\n    cardWeblnGetInfoElement.style.display = 'none';\n  }\n}\nconst cardWeblnSendPaymentElement = document.getElementById('cardWeblnSendPayment');\nconst card2WeblnSendPaymentElement = document.getElementById('card2WeblnSendPayment');\nif (cardWeblnSendPaymentElement && card2WeblnSendPaymentElement) {\n  if (method === 'webln.sendPayment') {\n    // Display amount in sats\n    const paymentAmountSpan = document.getElementById('paymentAmountSpan');\n    if (paymentAmountSpan && eventParsed.amountSats !== undefined) {\n      paymentAmountSpan.innerText = `${eventParsed.amountSats.toLocaleString()} sats`;\n    } else if (paymentAmountSpan) {\n      paymentAmountSpan.innerText = 'unknown amount';\n    }\n    // Show invoice in json card\n    const card2WeblnSendPayment_jsonElement = document.getElementById('card2WeblnSendPayment_json');\n    if (card2WeblnSendPayment_jsonElement && eventParsed.paymentRequest) {\n      card2WeblnSendPayment_jsonElement.innerText = eventParsed.paymentRequest;\n    }\n  } else {\n    cardWeblnSendPaymentElement.style.display = 'none';\n    card2WeblnSendPaymentElement.style.display = 'none';\n  }\n}\nconst cardWeblnMakeInvoiceElement = document.getElementById('cardWeblnMakeInvoice');\nif (cardWeblnMakeInvoiceElement) {\n  if (method === 'webln.makeInvoice') {\n    const invoiceAmountSpan = document.getElementById('invoiceAmountSpan');\n    if (invoiceAmountSpan) {\n      const amount = eventParsed.amount ?? eventParsed.defaultAmount;\n      if (amount) {\n        invoiceAmountSpan.innerText = ` for ${Number(amount).toLocaleString()} sats`;\n      }\n    }\n  } else {\n    cardWeblnMakeInvoiceElement.style.display = 'none';\n  }\n}\nconst cardWeblnKeysendElement = document.getElementById('cardWeblnKeysend');\nif (cardWeblnKeysendElement) {\n  if (method !== 'webln.keysend') {\n    cardWeblnKeysendElement.style.display = 'none';\n  }\n}\n//\n// Functions\n//\nfunction deliver(_x) {\n  return _deliver.apply(this, arguments);\n}\nfunction _deliver() {\n  _deliver = _asyncToGenerator(function* (response) {\n    const message = {\n      id,\n      response\n    };\n    try {\n      yield browser.runtime.sendMessage(message);\n    } catch (error) {\n      console.error('Failed to send message:', error);\n    }\n    window.close();\n  });\n  return _deliver.apply(this, arguments);\n}\ndocument.addEventListener('DOMContentLoaded', function () {\n  const rejectOnceButton = document.getElementById('rejectOnceButton');\n  rejectOnceButton?.addEventListener('click', () => {\n    deliver('reject-once');\n  });\n  const rejectAlwaysButton = document.getElementById('rejectAlwaysButton');\n  rejectAlwaysButton?.addEventListener('click', () => {\n    deliver('reject');\n  });\n  const approveOnceButton = document.getElementById('approveOnceButton');\n  approveOnceButton?.addEventListener('click', () => {\n    deliver('approve-once');\n  });\n  const approveAlwaysButton = document.getElementById('approveAlwaysButton');\n  approveAlwaysButton?.addEventListener('click', () => {\n    deliver('approve');\n  });\n  const rejectAllButton = document.getElementById('rejectAllButton');\n  rejectAllButton?.addEventListener('click', () => {\n    deliver('reject-all');\n  });\n  const approveAllButton = document.getElementById('approveAllButton');\n  approveAllButton?.addEventListener('click', () => {\n    deliver('approve-all');\n  });\n  // Show/hide \"All Queued\" row based on queue size\n  const queueSize = parseInt(params.get('queueSize') || '0', 10);\n  const allQueuedRow = document.getElementById('allQueuedRow');\n  if (allQueuedRow && queueSize <= 1) {\n    allQueuedRow.style.display = 'none';\n  }\n});","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}