{ "version": 3, "sources": ["../../../node_modules/.pnpm/@solid-primitives+intersection-observer@2.1.6_solid-js@1.9.3/node_modules/@solid-primitives/intersection-observer/dist/index.js", "../../../src/ts/entry/payments.tsx"], "sourcesContent": ["import { onCleanup, createEffect, onMount, createSignal, DEV, untrack } from 'solid-js';\nimport { isServer } from 'solid-js/web';\nimport { handleDiffArray, access } from '@solid-primitives/utils';\n\n// src/index.ts\nfunction observe(el, instance) {\n if (DEV && el instanceof HTMLElement && el.style.display === \"contents\") {\n console.warn(\n `[@solid-primitives/intersection-observer] IntersectionObserver is not able to observe elements with 'display: \"contents\"' style:`,\n el\n );\n }\n instance.observe(el);\n}\nfunction makeIntersectionObserver(elements, onChange, options) {\n if (isServer)\n return {\n add: () => void 0,\n remove: () => void 0,\n start: () => void 0,\n reset: () => void 0,\n stop: () => void 0,\n instance: {}\n };\n const instance = new IntersectionObserver(onChange, options);\n const add = (el) => observe(el, instance);\n const remove = (el) => instance.unobserve(el);\n const start = () => elements.forEach(add);\n const reset = () => instance.takeRecords().forEach((el) => remove(el.target));\n start();\n return { add, remove, start, stop: onCleanup(() => instance.disconnect()), reset, instance };\n}\nfunction createIntersectionObserver(elements, onChange, options) {\n if (isServer)\n return;\n const io = new IntersectionObserver(onChange, options);\n onCleanup(() => io.disconnect());\n createEffect((p) => {\n const list = elements();\n handleDiffArray(\n list,\n p,\n (el) => observe(el, io),\n (el) => io.unobserve(el)\n );\n return list;\n }, []);\n}\nfunction createViewportObserver(...a) {\n if (isServer) {\n return [() => void 0, { start: () => void 0, stop: () => void 0 }];\n }\n let initial = [];\n let options = {};\n if (Array.isArray(a[0]) || a[0] instanceof Function) {\n if (a[1] instanceof Function) {\n initial = access(a[0]).map((el) => [el, a[1]]);\n options = a[2];\n } else {\n initial = access(a[0]);\n options = a[1];\n }\n } else\n options = a[0];\n const callbacks = /* @__PURE__ */ new WeakMap();\n const onChange = (entries, instance2) => entries.forEach((entry) => {\n const cb = callbacks.get(entry.target)?.(entry, instance2);\n cb instanceof Function && cb(entry, instance2);\n });\n const { add, remove, stop, instance } = makeIntersectionObserver([], onChange, options);\n const addEntry = (el, callback) => {\n add(el);\n callbacks.set(el, callback);\n };\n const removeEntry = (el) => {\n callbacks.delete(el);\n remove(el);\n };\n const start = () => initial.forEach(([el, cb]) => addEntry(el, cb));\n onMount(start);\n return [addEntry, { remove: removeEntry, start, stop, instance }];\n}\nfunction createVisibilityObserver(options, setter) {\n if (isServer) {\n return () => () => false;\n }\n const callbacks = /* @__PURE__ */ new WeakMap();\n const io = new IntersectionObserver((entries, instance) => {\n for (const entry of entries)\n callbacks.get(entry.target)?.(entry, instance);\n }, options);\n onCleanup(() => io.disconnect());\n function removeEntry(el) {\n io.unobserve(el);\n callbacks.delete(el);\n }\n function addEntry(el, callback) {\n observe(el, io);\n callbacks.set(el, callback);\n }\n const getCallback = setter ? (get, set) => {\n const setterRef = access(setter);\n return (entry) => set(setterRef(entry, { visible: untrack(get) }));\n } : (_, set) => (entry) => set(entry.isIntersecting);\n return (element) => {\n const [isVisible, setVisible] = createSignal(options?.initialValue ?? false);\n const callback = getCallback(isVisible, setVisible);\n let prevEl;\n if (!(element instanceof Element)) {\n createEffect(() => {\n const el = element();\n if (el === prevEl)\n return;\n if (prevEl)\n removeEntry(prevEl);\n if (el)\n addEntry(el, callback);\n prevEl = el;\n });\n } else\n addEntry(element, callback);\n onCleanup(() => prevEl && removeEntry(prevEl));\n return isVisible;\n };\n}\nvar Occurrence = /* @__PURE__ */ ((Occurrence2) => {\n Occurrence2[\"Entering\"] = \"Entering\";\n Occurrence2[\"Leaving\"] = \"Leaving\";\n Occurrence2[\"Inside\"] = \"Inside\";\n Occurrence2[\"Outside\"] = \"Outside\";\n return Occurrence2;\n})(Occurrence || {});\nfunction getOccurrence(isIntersecting, prevIsIntersecting) {\n if (isServer) {\n return \"Outside\" /* Outside */;\n }\n return isIntersecting ? prevIsIntersecting ? \"Inside\" /* Inside */ : \"Entering\" /* Entering */ : prevIsIntersecting === true ? \"Leaving\" /* Leaving */ : \"Outside\" /* Outside */;\n}\nfunction withOccurrence(setter) {\n if (isServer) {\n return () => () => false;\n }\n return () => {\n let prevIntersecting;\n const cb = access(setter);\n return (entry, ctx) => {\n const { isIntersecting } = entry;\n const occurrence = getOccurrence(isIntersecting, prevIntersecting);\n prevIntersecting = isIntersecting;\n return cb(entry, { ...ctx, occurrence });\n };\n };\n}\nvar DirectionX = /* @__PURE__ */ ((DirectionX2) => {\n DirectionX2[\"Left\"] = \"Left\";\n DirectionX2[\"Right\"] = \"Right\";\n DirectionX2[\"None\"] = \"None\";\n return DirectionX2;\n})(DirectionX || {});\nvar DirectionY = /* @__PURE__ */ ((DirectionY2) => {\n DirectionY2[\"Top\"] = \"Top\";\n DirectionY2[\"Bottom\"] = \"Bottom\";\n DirectionY2[\"None\"] = \"None\";\n return DirectionY2;\n})(DirectionY || {});\nfunction getDirection(rect, prevRect, intersecting) {\n if (isServer) {\n return {\n directionX: \"None\" /* None */,\n directionY: \"None\" /* None */\n };\n }\n let directionX = \"None\" /* None */;\n let directionY = \"None\" /* None */;\n if (!prevRect)\n return { directionX, directionY };\n if (rect.top < prevRect.top)\n directionY = intersecting ? \"Bottom\" /* Bottom */ : \"Top\" /* Top */;\n else if (rect.top > prevRect.top)\n directionY = intersecting ? \"Top\" /* Top */ : \"Bottom\" /* Bottom */;\n if (rect.left > prevRect.left)\n directionX = intersecting ? \"Left\" /* Left */ : \"Right\" /* Right */;\n else if (rect.left < prevRect.left)\n directionX = intersecting ? \"Right\" /* Right */ : \"Left\" /* Left */;\n return { directionX, directionY };\n}\nfunction withDirection(callback) {\n if (isServer) {\n return () => () => false;\n }\n return () => {\n let prevBounds;\n const cb = access(callback);\n return (entry, ctx) => {\n const { boundingClientRect } = entry;\n const direction = getDirection(boundingClientRect, prevBounds, entry.isIntersecting);\n prevBounds = boundingClientRect;\n return cb(entry, { ...ctx, ...direction });\n };\n };\n}\n\nexport { DirectionX, DirectionY, Occurrence, createIntersectionObserver, createViewportObserver, createVisibilityObserver, getDirection, getOccurrence, makeIntersectionObserver, withDirection, withOccurrence };\n", "import { template as _$template } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { classList as _$classList } from \"solid-js/web\";\nimport { mergeProps as _$mergeProps } from \"solid-js/web\";\nimport { use as _$use } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`
`),\n _tmpl$12 = /*#__PURE__*/_$template(` `),\n _tmpl$13 = /*#__PURE__*/_$template(``),\n _tmpl$20 = /*#__PURE__*/_$template(` ()`),\n _tmpl$21 = /*#__PURE__*/_$template(`
`),\n _tmpl$29 = /*#__PURE__*/_$template(`
\");\n _p$.e = _$classList(_el$27, _v$3, _p$.e);\n _v$4 !== _p$.t && (_el$27.innerHTML = _p$.t = _v$4);\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$25;\n })(), (() => {\n var _el$28 = _tmpl$12(),\n _el$29 = _el$28.firstChild,\n _el$30 = _el$29.nextSibling,\n _el$31 = _el$30.nextSibling;\n _$insert(_el$31, () => props.payment.numSats === 1 ? \"sat\" : \"sats\");\n _$effect(() => _el$29.innerHTML = displaySats(props.payment.numSats));\n return _el$28;\n })()];\n const contentEl = (() => {\n var _el$32 = _tmpl$13(),\n _el$33 = _el$32.firstChild;\n _$insert(_el$32, _$createComponent(PlayedAtTimeComponent, _$mergeProps(() => [props.payment.playbackTimeMs])), _el$33);\n _$insert(_el$33, _$createComponent(TimeSplitItemComponent, _$mergeProps(() => [props.payment.timeSplitEntity])), null);\n _$insert(_el$33, _$createComponent(HomeItemComponent, _$mergeProps(() => [props.payment.entity])), null);\n _$insert(_el$32, _$createComponent(DisplayValueDestinationsComponent, _$mergeProps(() => [props.payment.valueRecipients, props.payment.timeSplitValueRecipients, props.payment.timeSplitPercentage, app, props.payment.numSats])), null);\n return _el$32;\n })();\n return _$createComponent(PaymentItem, _$mergeProps(() => [props.payment.appName, props.payment.senderName, props.payment.senderId, props.payment.createdAt, triggerEl, contentEl]));\n}\nfunction PaymentItem([appName, boosterName, senderId, createdAt, triggerEl, contentEl]) {\n const app = appTlvNameToApp(appName);\n const booster = extractBooster(appName, boosterName, senderId);\n return (() => {\n var _el$34 = _tmpl$14(),\n _el$35 = _el$34.firstChild,\n _el$36 = _el$35.firstChild,\n _el$37 = _el$36.firstChild;\n _$insert(_el$34, () => appToIcon(app, false), _el$35);\n _$insert(_el$36, () => boosterToName(booster), _el$37);\n _$insert(_el$35, _$createComponent(Collapsible.Root, {\n \"class\": \"border border-gray-300 bg-white flex flex-col custom-transition rounded-bl-2xl rounded-r-2xl\",\n get children() {\n return [_$createComponent(Collapsible.Trigger, {\n \"class\": \"px-4 py-3 flex items-center justify-between gap-3 sm:gap-5 data-[closed]:rounded-bl-2xl data-[closed]:rounded-r-2xl data-[expanded]:rounded-tr-2xl focus:outline-1 focus:outline-primary-500 select-text\",\n children: triggerEl\n }), _$createComponent(Collapsible.Content, {\n \"class\": \"px-4 py-3 rounded-b-2xl\",\n children: contentEl\n })];\n }\n }), null);\n _$effect(_p$ => {\n var _v$5 = dateToWhenSimple(createdAt),\n _v$6 = timestampToLocalTime(createdAt);\n _v$5 !== _p$.e && (_el$37.innerHTML = _p$.e = _v$5);\n _v$6 !== _p$.t && _$setAttribute(_el$37, \"title\", _p$.t = _v$6);\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$34;\n })();\n}\nfunction SimplePaymentListComponent(props) {\n const totalSats = props.paymentList.payments.reduce((acc, payment) => acc + payment.numSats, 0);\n const numUniqueTimeSplitEntities = (() => {\n const uniqueEntities = new Set();\n for (const payment of props.paymentList.payments) {\n if (payment.timeSplitEntity !== null) {\n if (isEntityFeed(payment.timeSplitEntity)) {\n uniqueEntities.add(payment.timeSplitEntity.feed.guid);\n } else if (isEntityItem(payment.timeSplitEntity)) {\n uniqueEntities.add(`${payment.timeSplitEntity.item.feed_guid}-${payment.timeSplitEntity.item.item_guid}`);\n }\n }\n }\n return uniqueEntities.size;\n })();\n const app = (() => {\n if (props.paymentList.appName === null) {\n return null;\n }\n return appTlvNameToApp(props.paymentList.appName);\n })();\n const onlyTimeSplits = (() => {\n for (const payment of props.paymentList.payments) {\n if (payment.timeSplitEntity === null) {\n return false;\n }\n }\n return true;\n })();\n const triggerEl = [(() => {\n var _el$38 = _tmpl$16();\n _$insert(_el$38, _$createComponent(Show, {\n when: onlyTimeSplits && numUniqueTimeSplitEntities === 1,\n fallback: _$createComponent(BoostedItemTitle, _$mergeProps(() => [props.paymentList.entity, null])),\n get children() {\n return _$createComponent(BoostedItemTitle, _$mergeProps(() => [props.paymentList.entity, props.paymentList.payments[0].timeSplitEntity]));\n }\n }), null);\n _$insert(_el$38, _$createComponent(Show, {\n when: numUniqueTimeSplitEntities > 0 && !onlyTimeSplits || numUniqueTimeSplitEntities > 1 && onlyTimeSplits,\n get children() {\n var _el$39 = _tmpl$15(),\n _el$40 = _el$39.firstChild;\n _$insert(_el$39, _$createComponent(Show, {\n when: numUniqueTimeSplitEntities > 1,\n get children() {\n return [(() => {\n var _el$41 = _tmpl$7();\n _el$41.innerHTML = \" \";\n return _el$41;\n })(), numUniqueTimeSplitEntities, \"\\u202F\\xD7\\u202F\"];\n }\n }), null);\n _$insert(_el$39, _$createComponent(Icon, {\n path: HeroMicro.link,\n \"class\": \"size-4 text-primary-500 inline-block -mt-1\"\n }), null);\n return _el$39;\n }\n }), null);\n return _el$38;\n })(), (() => {\n var _el$42 = _tmpl$18(),\n _el$43 = _el$42.firstChild,\n _el$44 = _el$43.firstChild,\n _el$45 = _el$44.nextSibling,\n _el$46 = _el$45.nextSibling;\n _$insert(_el$46, totalSats === 1 ? \"sat\" : \"sats\");\n _$insert(_el$42, _$createComponent(Show, {\n get when() {\n return props.paymentList.payments.length > 1;\n },\n get children() {\n var _el$47 = _tmpl$17(),\n _el$48 = _el$47.firstChild;\n _$insert(_el$47, () => playedOver(props.paymentList.payments), null);\n return _el$47;\n }\n }), null);\n _$effect(() => _el$44.innerHTML = displaySats(totalSats));\n return _el$42;\n })()];\n const contentEl = (() => {\n var _el$49 = _tmpl$13(),\n _el$50 = _el$49.firstChild;\n _$insert(_el$49, _$createComponent(Show, {\n get when() {\n return props.paymentList.payments.length == 1;\n },\n get children() {\n return _$createComponent(PlayedAtTimeComponent, _$mergeProps(() => [props.paymentList.payments[0].playbackTimeMs]));\n }\n }), _el$50);\n _$insert(_el$50, _$createComponent(Show, {\n when: onlyTimeSplits && numUniqueTimeSplitEntities === 1,\n get children() {\n return _$createComponent(TimeSplitItemComponent, _$mergeProps(() => [props.paymentList.payments[0].timeSplitEntity]));\n }\n }), null);\n _$insert(_el$50, _$createComponent(HomeItemComponent, _$mergeProps(() => [props.paymentList.entity])), null);\n _$insert(_el$49, _$createComponent(Show, {\n get when() {\n return props.paymentList.payments.length === 1;\n },\n get children() {\n return _$createComponent(DisplayValueDestinationsComponent, _$mergeProps(() => [props.paymentList.payments[0].valueRecipients, props.paymentList.payments[0].timeSplitValueRecipients, props.paymentList.payments[0].timeSplitPercentage, app, props.paymentList.payments[0].numSats]));\n }\n }), null);\n _$insert(_el$49, _$createComponent(Show, {\n get when() {\n return props.paymentList.payments.length > 1;\n },\n get children() {\n var _el$51 = _tmpl$19();\n _$insert(_el$51, _$createComponent(For, {\n get each() {\n return props.paymentList.payments.sort((a, b) => {\n return dayjs(b.createdAt).unix() - dayjs(a.createdAt).unix();\n });\n },\n children: payment => _$createComponent(SimplePaymentListItemComponent, _$mergeProps(() => [payment, numUniqueTimeSplitEntities, onlyTimeSplits, props.paymentList.appName]))\n }));\n return _el$51;\n }\n }), null);\n return _el$49;\n })();\n return _$createComponent(PaymentItem, _$mergeProps(() => [props.paymentList.appName, props.paymentList.senderName, props.paymentList.senderId, props.paymentList.createdAt, triggerEl, contentEl]));\n}\nfunction SimplePaymentListItemComponent([payment, numUniqueTimeSplitEntities, onlyTimeSplits, appName]) {\n const [expanded, setExpanded] = createSignal(false);\n const app = (() => {\n if (appName === null) {\n return null;\n }\n return appTlvNameToApp(appName);\n })();\n return (() => {\n var _el$52 = _tmpl$21();\n _$insert(_el$52, _$createComponent(Collapsible.Root, {\n \"class\": \"flex flex-col gap-3\",\n get open() {\n return expanded();\n },\n get children() {\n return [_$createComponent(Collapsible.Trigger, {\n \"class\": \"flex items-center gap-2.5 [&>svg]:data-[closed]:rotate-0 [&>svg]:data-[expanded]:rotate-90\",\n onClick: () => setExpanded(!expanded()),\n get children() {\n return [_$createComponent(Icon, {\n path: HeroMicro.chevronRight,\n \"class\": \"size-4 text-gray-600 cursor-pointer custom-transition\"\n }), (() => {\n var _el$53 = _tmpl$20(),\n _el$54 = _el$53.firstChild,\n _el$55 = _el$54.nextSibling,\n _el$60 = _el$55.nextSibling,\n _el$56 = _el$60.nextSibling,\n _el$57 = _el$56.nextSibling,\n _el$58 = _el$57.firstChild,\n _el$59 = _el$58.nextSibling;\n _$insert(_el$53, () => payment.numSats === 1 ? \"sat\" : \"sats\", _el$60);\n _$insert(_el$53, _$createComponent(Show, {\n get when() {\n return payment.playbackTimeMs !== null;\n },\n get children() {\n return [\" \", \"@ \", _$memo(() => playedAtTimeStr(payment.playbackTimeMs))];\n }\n }), _el$60);\n _$insert(_el$53, _$createComponent(Show, {\n get when() {\n return payment.timeSplitEntity !== null && !(numUniqueTimeSplitEntities === 1 && onlyTimeSplits);\n },\n get children() {\n return [_$createComponent(Icon, {\n path: HeroMicro.link,\n \"class\": \"size-4 text-primary-500 inline-block ml-1.5 mr-0.5 -mt-1\"\n }), _$createComponent(ReferencedItemTitle, _$mergeProps(() => [payment.timeSplitEntity]))];\n }\n }), null);\n _$effect(_p$ => {\n var _v$7 = displaySats(payment.numSats),\n _v$8 = dateToWhenSimple(payment.createdAt),\n _v$9 = timestampToLocalTime(payment.createdAt);\n _v$7 !== _p$.e && (_el$54.innerHTML = _p$.e = _v$7);\n _v$8 !== _p$.t && (_el$59.innerHTML = _p$.t = _v$8);\n _v$9 !== _p$.a && _$setAttribute(_el$59, \"title\", _p$.a = _v$9);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$53;\n })()];\n }\n }), _$createComponent(Collapsible.Content, {\n \"class\": \"flex flex-col gap-3 pl-[26px]\",\n get children() {\n return [_$createComponent(TimeSplitItemComponent, _$mergeProps(() => [payment.timeSplitEntity])), _$createComponent(DisplayValueDestinationsComponent, _$mergeProps(() => [payment.valueRecipients, payment.timeSplitValueRecipients, payment.timeSplitPercentage, app, payment.numSats]))];\n }\n })];\n }\n }));\n _$effect(_$p => _$classList(_el$52, {\n \"not-prose leading-tight w-full\": true,\n \"cursor-pointer\": !expanded()\n }, _$p));\n return _el$52;\n })();\n}\nfunction BoostedItemTitle([entity, timeSplitEntity]) {\n return (() => {\n var _el$61 = _tmpl$7();\n _$insert(_el$61, _$createComponent(Show, {\n when: timeSplitEntity !== null,\n get children() {\n return [_$createComponent(Icon, {\n path: HeroMicro.link,\n \"class\": \"size-4 text-primary-500 inline-block -mt-1\"\n }), (() => {\n var _el$62 = _tmpl$22();\n _$insert(_el$62, () => {\n if (isEntityFeed(timeSplitEntity)) {\n if (timeSplitEntity.feed.title !== null) {\n return _$memo(() => trimText(timeSplitEntity.feed.title));\n }\n return (() => {\n var _el$65 = _tmpl$25();\n _$insert(_el$65, () => timeSplitEntity.feed.guid);\n return _el$65;\n })();\n }\n if (isEntityItem(timeSplitEntity)) {\n if (timeSplitEntity.item.item_title !== null) {\n return _$memo(() => trimText(timeSplitEntity.item.item_title));\n }\n return (() => {\n var _el$66 = _tmpl$25();\n _$insert(_el$66, () => timeSplitEntity.item.item_guid);\n return _el$66;\n })();\n }\n return \"Unknown entity\";\n });\n return _el$62;\n })()];\n }\n }), null);\n _$insert(_el$61, _$createComponent(Show, {\n when: timeSplitEntity !== null && entity !== null,\n get children() {\n return _tmpl$23();\n }\n }), null);\n _$insert(_el$61, _$createComponent(Show, {\n when: entity !== null,\n get children() {\n var _el$64 = _tmpl$24();\n _$insert(_el$64, () => {\n if (isEntityFeed(entity)) {\n if (entity.feed.title !== null) {\n return _$memo(() => trimText(entity.feed.title));\n }\n return (() => {\n var _el$67 = _tmpl$7();\n _$insert(_el$67, () => entity.feed.guid);\n _$effect(_$p => _$classList(_el$67, {\n \"font-mono not-italic select-all\": true,\n \"text-danger-600\": entity.feed.guid === \"00000000-0000-0000-0000-000000000000\"\n }, _$p));\n return _el$67;\n })();\n }\n if (isEntityItem(entity)) {\n if (entity.item.item_title !== null) {\n if (entity.item.feed_title !== null && !entity.item.item_title.includes(entity.item.feed_title)) {\n if (timeSplitEntity !== null) {\n return [_$memo(() => `${trimText(entity.item.feed_title)}`), \" \", (() => {\n var _el$68 = _tmpl$26(),\n _el$69 = _el$68.firstChild,\n _el$71 = _el$69.nextSibling,\n _el$70 = _el$71.nextSibling;\n _$insert(_el$68, () => `${trimText(entity.item.item_title)}`, _el$71);\n return _el$68;\n })()];\n } else {\n return [_$memo(() => `${trimText(entity.item.item_title)}`), \" \", (() => {\n var _el$72 = _tmpl$26(),\n _el$73 = _el$72.firstChild,\n _el$75 = _el$73.nextSibling,\n _el$74 = _el$75.nextSibling;\n _$insert(_el$72, () => `${trimText(entity.item.feed_title)}`, _el$75);\n return _el$72;\n })()];\n }\n }\n return _$memo(() => trimText(entity.item.item_title));\n }\n if (entity.item.feed_title !== null) {\n return _$memo(() => trimText(entity.item.feed_title));\n }\n return (() => {\n var _el$76 = _tmpl$25();\n _$insert(_el$76, () => entity.item.item_guid);\n return _el$76;\n })();\n }\n return \"Unknown entity\";\n });\n return _el$64;\n }\n }), null);\n return _el$61;\n })();\n}\nfunction ReferencedItemTitle([entity]) {\n return (() => {\n var _el$77 = _tmpl$27(),\n _el$78 = _el$77.firstChild;\n _$insert(_el$78, () => {\n if (isEntityFeed(entity)) {\n if (entity.feed.title !== null) {\n return _$memo(() => entity.feed.title);\n }\n return (() => {\n var _el$79 = _tmpl$25();\n _$insert(_el$79, () => entity.feed.guid);\n return _el$79;\n })();\n }\n if (isEntityItem(entity)) {\n if (entity.item.item_title !== null) {\n return _$memo(() => entity.item.item_title);\n }\n return (() => {\n var _el$80 = _tmpl$25();\n _$insert(_el$80, () => entity.item.item_guid);\n return _el$80;\n })();\n }\n return \"Unknown entity\";\n });\n return _el$77;\n })();\n}\nexport function renderApp() {\n render(() => _$createComponent(App, {}), document.getElementById(\"app\"));\n}\nexport function appToIcon(app, tiny) {\n const view = (() => {\n if (app.iconUrl !== null) {\n return (() => {\n var _el$81 = _tmpl$28();\n _$effect(_p$ => {\n var _v$10 = app.iconUrl,\n _v$11 = {\n \"flex-none select-none\": true,\n \"size-4\": tiny,\n \"size-9\": !tiny\n },\n _v$12 = app.name;\n _v$10 !== _p$.e && _$setAttribute(_el$81, \"src\", _p$.e = _v$10);\n _p$.t = _$classList(_el$81, _v$11, _p$.t);\n _v$12 !== _p$.a && _$setAttribute(_el$81, \"title\", _p$.a = _v$12);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$81;\n })();\n }\n return (() => {\n var _el$82 = _tmpl$29();\n _$insert(_el$82, _$createComponent(Icon, {\n path: HeroSolid.user,\n classList: {\n \"flex-none select-none\": true,\n \"size-3\": tiny,\n \"size-8\": !tiny\n }\n }));\n _$effect(() => _$setAttribute(_el$82, \"title\", app.name));\n return _el$82;\n })();\n })();\n if (app.link !== null) {\n return (() => {\n var _el$83 = _tmpl$30();\n _$insert(_el$83, view);\n _$effect(() => _$setAttribute(_el$83, \"href\", app.link));\n return _el$83;\n })();\n }\n return view;\n}\nexport function extractBooster(appName, boosterName, boosterId, date) {\n if (appName === \"Fountain\" || appName === \"Fountain Web\") {\n if (boosterName !== null) {\n const name = boosterName.replaceAll(\"@\", \"\");\n return {\n senderId: boosterId,\n name: name,\n link: `https://fountain.fm/${name.replaceAll(\" \", \"\")}`\n };\n }\n }\n if (appName === \"PodcastGuru\") {\n if (boosterName === \"Anonymous Podcast Guru user\") {\n return {\n senderId: boosterId,\n name: \"Anonymous\",\n link: null\n };\n }\n }\n if (date !== undefined) {\n const hash = stringToHash(`${appName}-${boosterName}-${boosterId}-${date}`);\n return {\n senderId: boosterId,\n name: boosterName ?? `Anonymous #${hash}`,\n link: null\n };\n }\n return {\n senderId: boosterId,\n name: boosterName ?? \"Anonymous\",\n link: null\n };\n}\n\n/**\n * Converts a string into a hash number between 1 and 100,000\n * Uses a simple but effective djb2-like hashing algorithm\n * @param input - The string to hash\n * @returns A number between 1 and 100,000\n */\nfunction stringToHash(input) {\n let hash = 5381; // Initial value, prime number commonly used in hash functions\n\n // Iterate through each character in the string\n for (let i = 0; i < input.length; i++) {\n // Multiply by 33 and add the character code\n hash = (hash << 5) + hash + input.charCodeAt(i);\n // Convert to 32 bit integer\n hash = hash & hash;\n }\n\n // Make positive and map to range 1-100,000\n hash = Math.abs(hash);\n return hash % 100000 + 1;\n}\nexport function boosterToName(booster) {\n const inside = (() => {\n var _el$84 = _tmpl$31();\n _$effect(() => _el$84.innerHTML = booster.name);\n return _el$84;\n })();\n if (booster.link !== null) {\n return (() => {\n var _el$85 = _tmpl$32();\n _$insert(_el$85, inside);\n _$effect(() => _$setAttribute(_el$85, \"href\", booster.link));\n return _el$85;\n })();\n }\n return inside;\n}\nexport function appTlvNameToApp(appName) {\n if (appName === null || appName === undefined) {\n return {\n name: \"Unknown app\",\n link: null,\n iconUrl: null,\n darkIconUrl: null\n };\n }\n if (appName.startsWith(\"RSS Blue\")) {\n return {\n name: appName,\n link: \"https://rssblue.com\",\n iconUrl: \"/static/img/apps/dist/rssblue.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"Fountain\" || appName === \"Fountain Web\") {\n return {\n name: \"Fountain\",\n link: \"https://fountain.fm\",\n iconUrl: \"/static/img/apps/fountain.svg\",\n darkIconUrl: \"/static/img/apps/fountain.dark.svg\"\n };\n }\n if (appName === \"LN Beats\") {\n return {\n name: \"LN Beats\",\n link: \"https://lnbeats.com\",\n iconUrl: \"/static/img/apps/lnbeats.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"CurioCaster\") {\n return {\n name: \"CurioCaster\",\n link: \"https://curiocaster.com\",\n iconUrl: \"/static/img/apps/curiocaster.svg\",\n darkIconUrl: null\n };\n }\n if (appName.toLowerCase() === \"nostr\") {\n return {\n name: \"Nostr\",\n link: \"https://nostr.com/\",\n iconUrl: \"/static/img/apps/nostr.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"PodcastGuru\") {\n return {\n name: \"Podcast Guru\",\n link: \"https://podcastguru.io\",\n iconUrl: \"/static/img/apps/podcastguru.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"Podcast Index\") {\n return {\n name: \"Podcast Index\",\n link: \"https://podcastindex.org\",\n iconUrl: \"/static/img/apps/podcastindex.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"Breez\") {\n return {\n name: \"Breez\",\n link: \"https://breez.technology/mobile\",\n iconUrl: \"/static/img/apps/breez.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"wherever\") {\n return {\n name: \"wherever\",\n link: \"https://wherever.audio/\",\n iconUrl: \"/static/img/apps/wherever.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"TrueFans\" || appName === \"Podfans\") {\n return {\n name: \"TrueFans\",\n link: \"https://truefans.fm\",\n iconUrl: \"/static/img/apps/truefans.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"Podverse\") {\n return {\n name: \"Podverse\",\n link: \"https://podverse.fm\",\n iconUrl: \"/static/img/apps/podverse.svg\",\n darkIconUrl: \"/static/img/apps/podverse.dark.svg\"\n };\n }\n if (appName === \"Castamatic\") {\n return {\n name: \"Castamatic\",\n link: \"https://castamatic.com\",\n iconUrl: \"/static/img/apps/castamatic.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"Wavlake\") {\n return {\n name: \"Wavlake\",\n link: \"https://wavlake.com\",\n iconUrl: \"/static/img/apps/wavlake.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"BoostCLI\") {\n return {\n name: \"BoostCLI\",\n link: \"https://github.com/valcanobacon/BoostCLI\",\n iconUrl: \"/static/img/apps/boost-cli.svg\",\n darkIconUrl: null\n };\n }\n if (appName === \"lightning.phantompowermusic.io\") {\n return {\n name: \"Phantom Power Music\",\n link: \"https://lightning.phantompowermusic.io\",\n iconUrl: \"/static/img/apps/phantom-power-music.svg\",\n darkIconUrl: \"/static/img/apps/phantom-power-music.dark.svg\"\n };\n }\n return {\n name: appName,\n link: null,\n iconUrl: null,\n darkIconUrl: null\n };\n}\nfunction playedOver(simplePayments) {\n // Sort the payments by created_at in ascending order\n const sortedPayments = simplePayments.sort((a, b) => dayjs(a.createdAt).valueOf() - dayjs(b.createdAt).valueOf());\n const playedDays = playedOverDays(sortedPayments);\n if (playedDays > 1) {\n return `${playedDays}\\u00A0days`;\n }\n const playedHours = playedOverHours(sortedPayments);\n return `${playedHours}\\u00A0${playedHours === 1 ? \"hour\" : \"hours\"}`;\n}\nfunction playedOverHours(sortedPayments) {\n let hourCount = 0;\n let currentHour = null;\n const minMaxDiffMinutes = (() => {\n const firstPayment = dayjs(sortedPayments[0].createdAt);\n const lastPayment = dayjs(sortedPayments[sortedPayments.length - 1].createdAt);\n return lastPayment.diff(firstPayment, \"minutes\");\n })();\n if (minMaxDiffMinutes <= 60) {\n return 1;\n }\n for (const payment of sortedPayments) {\n const paymentHour = dayjs(payment.createdAt).startOf(\"hour\");\n if (currentHour === null || !paymentHour.isSame(currentHour, \"hour\")) {\n hourCount++;\n currentHour = paymentHour;\n }\n }\n return hourCount;\n}\nfunction playedOverDays(sortedPayments) {\n // If difference between first and last payment is less than 8 hours, return 1\n const firstPayment = dayjs(sortedPayments[0].createdAt);\n const lastPayment = dayjs(sortedPayments[sortedPayments.length - 1].createdAt);\n if (lastPayment.diff(firstPayment, \"hours\") < 8) {\n return 1;\n }\n let dayCount = 0;\n let currentDay = null;\n for (const payment of sortedPayments) {\n const paymentDay = dayjs(payment.createdAt).startOf(\"day\");\n if (currentDay === null || !paymentDay.isSame(currentDay, \"day\")) {\n dayCount++;\n currentDay = paymentDay;\n }\n }\n return dayCount;\n}\nfunction trimText(text, maxWords = 10) {\n const words = text.trim().split(/\\s+/);\n if (words.length <= maxWords) {\n return text;\n }\n const trimmedWords = words.slice(0, maxWords);\n let trimmedText = trimmedWords.join(\" \");\n\n // Remove punctuation and whitespace at the end\n trimmedText = trimmedText.replace(/[.,!?:;'\"\\-\u2013\u2014|\\s]+$/, \"\");\n return trimmedText + \"...\";\n}\nexport function displaySats(numSats) {\n if (numSats < 10000) {\n return `${numSats}`;\n }\n if (numSats < 1000000) {\n const numSatsStr = numSats.toString();\n const numSatsStrLen = numSatsStr.length;\n const numSatsStrFirst = numSatsStr.slice(0, numSatsStrLen - 3);\n return `${numSatsStrFirst} ${numSatsStr.slice(numSatsStrLen - 3)}`;\n }\n const numSatsStr = numSats.toString();\n const numSatsStrLen = numSatsStr.length;\n const numSatsStrFirst = numSatsStr.slice(0, numSatsStrLen - 6);\n const numSatsStrSecond = numSatsStr.slice(numSatsStrLen - 6, numSatsStrLen - 3);\n return `${numSatsStrFirst} ${numSatsStrSecond} ${numSatsStr.slice(numSatsStrLen - 3)}`;\n}"],
"mappings": "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",
"names": ["observe", "el", "instance", "DEV", "createIntersectionObserver", "elements", "onChange", "options", "isServer", "io", "onCleanup", "createEffect", "p", "list", "handleDiffArray", "el", "observe", "import_dayjs", "_tmpl$", "template", "_tmpl$2", "_tmpl$3", "_tmpl$4", "_tmpl$5", "_tmpl$6", "_tmpl$7", "_tmpl$8", "_tmpl$9", "_tmpl$10", "_tmpl$11", "_tmpl$12", "_tmpl$13", "_tmpl$14", "_tmpl$15", "_tmpl$16", "_tmpl$17", "_tmpl$18", "_tmpl$19", "_tmpl$20", "_tmpl$21", "_tmpl$22", "_tmpl$23", "_tmpl$24", "_tmpl$25", "_tmpl$26", "_tmpl$27", "_tmpl$28", "_tmpl$29", "_tmpl$30", "_tmpl$31", "_tmpl$32", "isEntityFeed", "entity", "isEntityItem", "isBoostagram", "payment", "isSimplePaymentList", "App", "payments", "setPayments", "createSignal", "loading", "setLoading", "error", "setError", "onMount", "waitingEl", "lastFetchNumPayments", "setLastFetchNumPayments", "fetchPayments", "url", "path", "addBefore", "dayjs", "artist", "res", "data", "boostagrams", "simplePayments", "newPayments", "a", "b", "allSats", "acc", "_acc", "_payment", "err", "targets", "setTargets", "createIntersectionObserver", "entries", "e", "createComponent", "Show", "createMemo", "AlertDisplayTiny", "_el$2", "insert", "For", "Switch", "Match", "BoostagramItem", "SimplePaymentListComponent", "_el$3", "LoadingEl", "createRenderEffect", "_el$4", "use", "el", "p", "PlayedAtTimeComponent", "timeMs", "_el$6", "_el$7", "Icon", "clock", "playedAtTimeStr", "totalMs", "totalSeconds", "hours", "minutes", "seconds", "hourFormatter", "locales", "minuteFormatter", "secondFormatter", "HomeItemComponent", "GenericItemComponent", "mergeProps", "rss", "TimeSplitItemComponent", "link", "icon", "iconClass", "_el$8", "_el$9", "_$p", "classList", "_el$10", "_el$11", "_el$12", "displayValueDestinations", "numSats", "homeValueRecipients", "timeSplitDetails", "computeRecipients", "timeSplitRecipients", "timeSplitPercentage", "displayTimeSplitRecipients", "displayHomeValueRecipients", "availableSats", "valueRecipients", "remote", "currentSats", "currentRecipients", "nonFeeSplitSum", "sum", "recipient", "recipientSats", "isPodcastIndexSplitFromIndexAPI", "DisplayValueDestinationsComponent", "app", "appName", "recipientsSorted", "_el$13", "_el$14", "_el$15", "chartPie", "_el$16", "_el$17", "_el$18", "_el$19", "_el$20", "_el$21", "_el$22", "_el$24", "_el$23", "bolt", "_p$", "_v$", "_v$2", "displaySats", "setAttribute", "computeLongestWordLength", "message", "word", "props", "appTlvNameToApp", "longestWordLength", "triggerEl", "_el$25", "_el$26", "_el$27", "BoostedItemTitle", "envelope", "_v$3", "_v$4", "_el$28", "_el$29", "_el$30", "_el$31", "contentEl", "_el$32", "_el$33", "PaymentItem", "boosterName", "senderId", "createdAt", "booster", "extractBooster", "_el$34", "_el$35", "_el$36", "_el$37", "appToIcon", "boosterToName", "collapsible_exports", "_v$5", "dateToWhenSimple", "_v$6", "timestampToLocalTime", "totalSats", "numUniqueTimeSplitEntities", "uniqueEntities", "onlyTimeSplits", "_el$38", "_el$39", "_el$40", "_el$41", "_el$42", "_el$43", "_el$44", "_el$45", "_el$46", "_el$47", "_el$48", "playedOver", "_el$49", "_el$50", "_el$51", "SimplePaymentListItemComponent", "expanded", "setExpanded", "_el$52", "chevronRight", "_el$53", "_el$54", "_el$55", "_el$60", "_el$56", "_el$57", "_el$58", "_el$59", "ReferencedItemTitle", "_v$7", "_v$8", "_v$9", "timeSplitEntity", "_el$61", "_el$62", "trimText", "_el$65", "_el$66", "_el$64", "_el$67", "_el$68", "_el$69", "_el$71", "_el$70", "_el$72", "_el$73", "_el$75", "_el$74", "_el$76", "_el$77", "_el$78", "_el$79", "_el$80", "renderApp", "render", "tiny", "view", "_el$81", "_v$10", "_v$11", "_v$12", "_el$82", "user", "_el$83", "boosterId", "date", "name", "hash", "stringToHash", "input", "i", "inside", "_el$84", "_el$85", "sortedPayments", "playedDays", "playedOverDays", "playedHours", "playedOverHours", "hourCount", "currentHour", "firstPayment", "paymentHour", "dayCount", "currentDay", "paymentDay", "text", "maxWords", "words", "trimmedText", "numSatsStr", "numSatsStrLen", "numSatsStrFirst", "numSatsStrSecond"]
}