From 9fe20ee5ef5528364d0a497e4e50e7a6f69142c5 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 15 Jul 2025 12:51:33 -0700 Subject: basic wallet --- bun.lockb | Bin 60922 -> 66510 bytes package.json | 8 +- src/app.css | 22 ++++ src/lib/Mnemonic.svelte | 16 --- src/lib/index.ts | 4 +- src/routes/+layout.svelte | 21 +-- src/routes/+page.svelte | 281 ++++++++++++++++++++++++++++++++++++++-- src/routes/create/+page.svelte | 44 ------- src/routes/created/+page.svelte | 0 static/bg.png | Bin 0 -> 182111 bytes static/bg.webp | Bin 0 -> 27804 bytes static/bitcoin.svg | 7 + static/type.svg | 19 --- 13 files changed, 317 insertions(+), 105 deletions(-) delete mode 100644 src/lib/Mnemonic.svelte delete mode 100644 src/routes/create/+page.svelte delete mode 100644 src/routes/created/+page.svelte create mode 100644 static/bg.png create mode 100644 static/bg.webp create mode 100644 static/bitcoin.svg delete mode 100644 static/type.svg diff --git a/bun.lockb b/bun.lockb index 1e10611..c6687a9 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 0179457..b8b1aea 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,8 @@ "@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^6.0.0", + "@tailwindcss/forms": "^0.5.9", + "@tailwindcss/typography": "^0.5.15", "@tailwindcss/vite": "^4.0.0", "prettier": "^3.4.2", "prettier-plugin-svelte": "^3.3.3", @@ -28,6 +30,10 @@ "vite": "^7.0.4" }, "dependencies": { - "@scure/bip39": "^1.6.0" + "@scure/base": "^1.2.6", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "@scure/btc-signer": "^1.8.1", + "daisyui": "^5.0.46" } } diff --git a/src/app.css b/src/app.css index d4b5078..cafcee5 100644 --- a/src/app.css +++ b/src/app.css @@ -1 +1,23 @@ @import 'tailwindcss'; +@plugin '@tailwindcss/forms'; +@plugin '@tailwindcss/typography'; +@plugin "daisyui"; + +html { height: 100%; } +html, body { + margin: 0; + padding: 0; + overflow-x: hidden; +} + +body { + padding-top: 40px; +} + +html { + background-image: url('/bg.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} + diff --git a/src/lib/Mnemonic.svelte b/src/lib/Mnemonic.svelte deleted file mode 100644 index 117c98f..0000000 --- a/src/lib/Mnemonic.svelte +++ /dev/null @@ -1,16 +0,0 @@ - - -
-
- {#each mnemonic.split(" ") as w, i} -
- {i + 1}. - {@html w === "-" ? "—" : w} -
- {/each} -
-
diff --git a/src/lib/index.ts b/src/lib/index.ts index 02f71ba..c05c77e 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,7 +1,9 @@ -import { writable } from 'svelte/store'; import { browser } from "$app/environment"; +import { writable } from "svelte/store"; export const focus = (el: HTMLElement) => browser && screen.width > 1280 && setTimeout(() => el.focus(), 1); export const mnemonic = writable(); +export const password = writable(); +export const address = writable(); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 1729999..ceb238b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -4,14 +4,15 @@ let { children } = $props(); -
- - - {@render children()} -
+
+
+ +
+ Bitcoin Wallet +
+
- + {@render children()} +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 44bcb6a..db8986d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,14 +1,267 @@ -
- - -
Generate
-
- - - -
Import
-
-
+ + +
+
+ + +
+ + + + {#if address} +
+
+ Address: {address} +
+ + +
+ {/if} +
+ +{#if loading} +
+
+
+{:else if typeof balance !== 'undefined'} +
+
+ Balance: {balance} sats + {#if pending} + ({pending} pending) + {/if} +
+ {#if balance + pending > 0} + + {/if} +
+{/if} + +{#if txid} + {txid} +{:else if withdrawing} + + + + + +{/if} diff --git a/src/routes/create/+page.svelte b/src/routes/create/+page.svelte deleted file mode 100644 index 1d09990..0000000 --- a/src/routes/create/+page.svelte +++ /dev/null @@ -1,44 +0,0 @@ - - - - -
-
- -
- - -
diff --git a/src/routes/created/+page.svelte b/src/routes/created/+page.svelte deleted file mode 100644 index e69de29..0000000 diff --git a/static/bg.png b/static/bg.png new file mode 100644 index 0000000..f542416 Binary files /dev/null and b/static/bg.png differ diff --git a/static/bg.webp b/static/bg.webp new file mode 100644 index 0000000..290cb41 Binary files /dev/null and b/static/bg.webp differ diff --git a/static/bitcoin.svg b/static/bitcoin.svg new file mode 100644 index 0000000..04079be --- /dev/null +++ b/static/bitcoin.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/static/type.svg b/static/type.svg deleted file mode 100644 index 6568c5b..0000000 --- a/static/type.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file -- cgit v1.2.3