simple text labels for lightning

This commit is contained in:
Paul Miller
2023-05-10 11:20:09 -05:00
parent 4407474f42
commit f1dcfb16ab
4 changed files with 47 additions and 54 deletions

View File

@@ -10,7 +10,7 @@
}, },
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {
"@types/node": "^18.16.6", "@types/node": "^18.16.7",
"@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/eslint-plugin": "^5.59.5",
"@typescript-eslint/parser": "^5.59.5", "@typescript-eslint/parser": "^5.59.5",
"autoprefixer": "^10.4.14", "autoprefixer": "^10.4.14",
@@ -33,7 +33,7 @@
"@kobalte/core": "^0.9.6", "@kobalte/core": "^0.9.6",
"@kobalte/tailwindcss": "^0.5.0", "@kobalte/tailwindcss": "^0.5.0",
"@modular-forms/solid": "^0.13.2", "@modular-forms/solid": "^0.13.2",
"@mutinywallet/mutiny-wasm": "^0.3.0", "@mutinywallet/mutiny-wasm": "^0.3.1",
"@mutinywallet/waila-wasm": "^0.1.5", "@mutinywallet/waila-wasm": "^0.1.5",
"@solid-primitives/upload": "^0.0.111", "@solid-primitives/upload": "^0.0.111",
"@solidjs/meta": "^0.28.5", "@solidjs/meta": "^0.28.5",

46
pnpm-lock.yaml generated
View File

@@ -11,8 +11,8 @@ dependencies:
specifier: ^0.13.2 specifier: ^0.13.2
version: 0.13.2(solid-js@1.7.5) version: 0.13.2(solid-js@1.7.5)
'@mutinywallet/mutiny-wasm': '@mutinywallet/mutiny-wasm':
specifier: ^0.3.0 specifier: ^0.3.1
version: 0.3.0 version: 0.3.1
'@mutinywallet/waila-wasm': '@mutinywallet/waila-wasm':
specifier: ^0.1.5 specifier: ^0.1.5
version: 0.1.5 version: 0.1.5
@@ -52,8 +52,8 @@ dependencies:
devDependencies: devDependencies:
'@types/node': '@types/node':
specifier: ^18.16.6 specifier: ^18.16.7
version: 18.16.6 version: 18.16.7
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^5.59.5 specifier: ^5.59.5
version: 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) version: 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5)
@@ -95,7 +95,7 @@ devDependencies:
version: 4.9.5 version: 4.9.5
vite: vite:
specifier: ^4.3.5 specifier: ^4.3.5
version: 4.3.5(@types/node@18.16.6) version: 4.3.5(@types/node@18.16.7)
vite-plugin-pwa: vite-plugin-pwa:
specifier: ^0.14.7 specifier: ^0.14.7
version: 0.14.7(vite@4.3.5)(workbox-build@6.5.4)(workbox-window@6.5.4) version: 0.14.7(vite@4.3.5)(workbox-build@6.5.4)(workbox-window@6.5.4)
@@ -1625,8 +1625,8 @@ packages:
solid-js: 1.7.5 solid-js: 1.7.5
dev: false dev: false
/@mutinywallet/mutiny-wasm@0.3.0: /@mutinywallet/mutiny-wasm@0.3.1:
resolution: {integrity: sha512-K+u2u/XMX1269U8af3T/ZvS+SzzrQcVYrdMi420dWCa14gke0vPWbGp+01zN7SCqBL4jp929emHTUZ4YBEpkzQ==} resolution: {integrity: sha512-TSOU0ttNZuAmiP7ZymyW6bgWpUk/6F/++YOEDfymkcIKsEWhhITNGcAVFPHzZQP/dLU7leoR3puHauKjoDa8lQ==}
dev: false dev: false
/@mutinywallet/waila-wasm@0.1.5: /@mutinywallet/waila-wasm@0.1.5:
@@ -1982,8 +1982,8 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true dev: true
/@types/node@18.16.6: /@types/node@18.16.7:
resolution: {integrity: sha512-N7KINmeB8IN3vRR8dhgHEp+YpWvGFcpDoh5XZ8jB5a00AdFKCKEyyGTOPTddUf4JqU1ZKTVxkOxakDvchNVI2Q==} resolution: {integrity: sha512-MFg7ua/bRtnA1hYE3pVyWxGd/r7aMqjNOdHvlSsXV3n8iaeGKkOaPzpJh6/ovf4bEXWcojkeMJpTsq3mzXW4IQ==}
/@types/offscreencanvas@2019.7.0: /@types/offscreencanvas@2019.7.0:
resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==} resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==}
@@ -1992,7 +1992,7 @@ packages:
/@types/resolve@1.17.1: /@types/resolve@1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies: dependencies:
'@types/node': 18.16.6 '@types/node': 18.16.7
dev: true dev: true
/@types/resolve@1.20.2: /@types/resolve@1.20.2:
@@ -2370,7 +2370,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001486 caniuse-lite: 1.0.30001486
electron-to-chromium: 1.4.388 electron-to-chromium: 1.4.389
node-releases: 2.0.10 node-releases: 2.0.10
update-browserslist-db: 1.0.11(browserslist@4.21.5) update-browserslist-db: 1.0.11(browserslist@4.21.5)
@@ -2653,8 +2653,8 @@ packages:
jake: 10.8.5 jake: 10.8.5
dev: true dev: true
/electron-to-chromium@1.4.388: /electron-to-chromium@1.4.389:
resolution: {integrity: sha512-xZ0y4zjWZgp65okzwwt00f2rYibkFPHUv9qBz+Vzn8cB9UXIo9Zc6Dw81LJYhhNt0G/vR1OJEfStZ49NKl0YxQ==} resolution: {integrity: sha512-WDgWUOK8ROR7sDFyYmxCUOoDc50lPgYAHAHwnnD1iN3SKO/mpqftb9iIPiEkMKmqYdkrR0j3N/O+YB/U7lSxwg==}
/emoji-regex@8.0.0: /emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -3803,7 +3803,7 @@ packages:
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
engines: {node: '>= 10.13.0'} engines: {node: '>= 10.13.0'}
dependencies: dependencies:
'@types/node': 18.16.6 '@types/node': 18.16.7
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 7.2.0 supports-color: 7.2.0
dev: true dev: true
@@ -4613,7 +4613,7 @@ packages:
solid-start: 0.2.26(@solidjs/meta@0.28.5)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5) solid-start: 0.2.26(@solidjs/meta@0.28.5)(@solidjs/router@0.8.2)(solid-js@1.7.5)(solid-start-node@0.2.26)(vite@4.3.5)
terser: 5.17.3 terser: 5.17.3
undici: 5.22.0 undici: 5.22.0
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -4683,7 +4683,7 @@ packages:
solid-start-node: 0.2.26(solid-start@0.2.26)(undici@5.22.0)(vite@4.3.5) solid-start-node: 0.2.26(solid-start@0.2.26)(undici@5.22.0)(vite@4.3.5)
terser: 5.17.3 terser: 5.17.3
undici: 5.22.0 undici: 5.22.0
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
vite-plugin-inspect: 0.7.26(rollup@3.21.6)(vite@4.3.5) vite-plugin-inspect: 0.7.26(rollup@3.21.6)(vite@4.3.5)
vite-plugin-solid: 2.7.0(solid-js@1.7.5)(vite@4.3.5) vite-plugin-solid: 2.7.0(solid-js@1.7.5)(vite@4.3.5)
wait-on: 6.0.1(debug@4.3.4) wait-on: 6.0.1(debug@4.3.4)
@@ -5092,7 +5092,7 @@ packages:
fs-extra: 11.1.1 fs-extra: 11.1.1
picocolors: 1.0.0 picocolors: 1.0.0
sirv: 2.0.3 sirv: 2.0.3
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
@@ -5109,7 +5109,7 @@ packages:
fast-glob: 3.2.12 fast-glob: 3.2.12
pretty-bytes: 6.1.0 pretty-bytes: 6.1.0
rollup: 3.21.6 rollup: 3.21.6
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
workbox-build: 6.5.4 workbox-build: 6.5.4
workbox-window: 6.5.4 workbox-window: 6.5.4
transitivePeerDependencies: transitivePeerDependencies:
@@ -5129,7 +5129,7 @@ packages:
merge-anything: 5.1.6 merge-anything: 5.1.6
solid-js: 1.7.5 solid-js: 1.7.5
solid-refresh: 0.5.2(solid-js@1.7.5) solid-refresh: 0.5.2(solid-js@1.7.5)
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
vitefu: 0.2.4(vite@4.3.5) vitefu: 0.2.4(vite@4.3.5)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -5139,10 +5139,10 @@ packages:
peerDependencies: peerDependencies:
vite: ^2 || ^3 || ^4 vite: ^2 || ^3 || ^4
dependencies: dependencies:
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
dev: true dev: true
/vite@4.3.5(@types/node@18.16.6): /vite@4.3.5(@types/node@18.16.7):
resolution: {integrity: sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==} resolution: {integrity: sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true hasBin: true
@@ -5167,7 +5167,7 @@ packages:
terser: terser:
optional: true optional: true
dependencies: dependencies:
'@types/node': 18.16.6 '@types/node': 18.16.7
esbuild: 0.17.18 esbuild: 0.17.18
postcss: 8.4.23 postcss: 8.4.23
rollup: 3.21.6 rollup: 3.21.6
@@ -5182,7 +5182,7 @@ packages:
vite: vite:
optional: true optional: true
dependencies: dependencies:
vite: 4.3.5(@types/node@18.16.6) vite: 4.3.5(@types/node@18.16.7)
/wait-on@6.0.1(debug@4.3.4): /wait-on@6.0.1(debug@4.3.4):
resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==}

View File

@@ -28,7 +28,8 @@ export type OnChainTx = {
height: number height: number
time: number time: number
} }
} },
labels: string[]
} }
export type UtxoItem = { export type UtxoItem = {
@@ -52,8 +53,6 @@ function OnChainItem(props: { item: OnChainTx, labels: string[] }) {
const [open, setOpen] = createSignal(false) const [open, setOpen] = createSignal(false)
return ( return (
<> <>
<JsonModal open={open()} data={props.item} title="On-Chain Transaction" setOpen={setOpen}> <JsonModal open={open()} data={props.item} title="On-Chain Transaction" setOpen={setOpen}>
@@ -61,7 +60,7 @@ function OnChainItem(props: { item: OnChainTx, labels: string[] }) {
Mempool Link Mempool Link
</a> </a>
</JsonModal> </JsonModal>
{JSON.stringify(props.labels)} {/* {JSON.stringify(props.labels)} */}
<ActivityItem <ActivityItem
kind={"onchain"} kind={"onchain"}
labels={props.labels} labels={props.labels}
@@ -95,18 +94,10 @@ function InvoiceItem(props: { item: MutinyInvoice, labels: string[] }) {
const [open, setOpen] = createSignal(false) const [open, setOpen] = createSignal(false)
const labels = createMemo(() => {
const labels = store.mutiny_wallet?.get_address_labels();
console.log(labels);
if (!labels) return ["abcdefg"];
return labels;
// return labels.filter((label) => label.address === props.item.txid)
})
return ( return (
<> <>
<JsonModal open={open()} data={props.item} title="Lightning Transaction" setOpen={setOpen} /> <JsonModal open={open()} data={props.item} title="Lightning Transaction" setOpen={setOpen} />
<ActivityItem kind={"lightning"} labels={[]} amount={props.item.amount_sats || 0n} date={props.item.last_updated} positive={!isSend()} onClick={() => setOpen(!open())} /> <ActivityItem kind={"lightning"} labels={props.labels} amount={props.item.amount_sats || 0n} date={props.item.last_updated} positive={!isSend()} onClick={() => setOpen(!open())} />
{/* <div class={THREE_COLUMNS} onClick={() => setOpen(!open())}> {/* <div class={THREE_COLUMNS} onClick={() => setOpen(!open())}>
<div class="flex items-center"> <div class="flex items-center">
{isSend() ? <img src={send} alt="send arrow" /> : <img src={receive} alt="receive arrow" />} {isSend() ? <img src={send} alt="send arrow" /> : <img src={receive} alt="receive arrow" />}
@@ -194,20 +185,20 @@ export function CombinedActivity(props: { limit?: number }) {
const [activity] = createResource(getAllActivity); const [activity] = createResource(getAllActivity);
const addressLabels = createMemo(() => { // const addressLabels = createMemo(() => {
const labels = state.mutiny_wallet?.get_address_labels(); // const labels = state.mutiny_wallet?.get_address_labels();
console.log(labels); // console.log(labels);
return labels || []; // return labels || [];
// return labels.filter((label) => label.address === props.item.txid) // // return labels.filter((label) => label.address === props.item.txid)
}) // })
const invoiceLabels = createMemo(() => { // const invoiceLabels = createMemo(() => {
const labels = state.mutiny_wallet?.get_address_labels(); // const labels = state.mutiny_wallet?.get_address_labels();
console.log(labels); // console.log(labels);
if (!labels) return ["abcdefg"]; // if (!labels) return ["abcdefg"];
return labels; // return labels;
// return labels.filter((label) => label.address === props.item.txid) // // return labels.filter((label) => label.address === props.item.txid)
}) // })
return ( return (
<Switch> <Switch>
@@ -223,11 +214,11 @@ export function CombinedActivity(props: { limit?: number }) {
<Switch> <Switch>
<Match when={activityItem.type === "onchain"}> <Match when={activityItem.type === "onchain"}>
{/* FIXME */} {/* FIXME */}
<OnChainItem item={activityItem.item as OnChainTx} labels={[]} /> <OnChainItem item={activityItem.item as OnChainTx} labels={activityItem.item.labels} />
</Match> </Match>
<Match when={activityItem.type === "lightning"}> <Match when={activityItem.type === "lightning"}>
{/* FIXME */} {/* FIXME */}
<InvoiceItem item={activityItem.item as MutinyInvoice} labels={[]} /> <InvoiceItem item={activityItem.item as MutinyInvoice} labels={activityItem.item.labels} />
</Match> </Match>
</Switch> </Switch>
} }

View File

@@ -52,7 +52,9 @@ type ReceiveState = "edit" | "show" | "paid"
type PaidState = "lightning_paid" | "onchain_paid"; type PaidState = "lightning_paid" | "onchain_paid";
function tagItemsToLabels(items: TagItem[]) { function tagItemsToLabels(items: TagItem[]) {
return items.map(item => item.kind === "contact" ? item.id : item.name) const labels = items.map(item => item.kind === "contact" ? item.id : item.name)
console.log("Labels", labels)
return labels;
} }
export default function Receive() { export default function Receive() {