From 3f143b7aa2a1f03bc3f39878b9acec323693691d Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 29 Oct 2024 13:20:59 -0700 Subject: [PATCH] Update welshman --- package-lock.json | 55 +++++++++++++++++-------- package.json | 7 ++-- src/app.css | 4 ++ src/app/components/ConfirmDelete.svelte | 3 +- src/app/components/LogIn.svelte | 5 ++- src/app/components/SignUp.svelte | 7 ++-- src/app/components/ThreadCreate.svelte | 44 +++++++++++++++++--- src/lib/editor/index.ts | 4 ++ 8 files changed, 96 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index f73f4c51..1d2d4b7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,18 +21,19 @@ "@tiptap/extension-hard-break": "^2.6.6", "@tiptap/extension-history": "^2.6.6", "@tiptap/extension-paragraph": "^2.6.6", + "@tiptap/extension-placeholder": "^2.9.1", "@tiptap/extension-text": "^2.6.6", "@tiptap/suggestion": "^2.6.4", "@types/throttle-debounce": "^5.0.2", "@vite-pwa/assets-generator": "^0.2.6", "@vite-pwa/sveltekit": "^0.6.6", - "@welshman/app": "~0.0.19", + "@welshman/app": "~0.0.20", "@welshman/content": "~0.0.12", "@welshman/dvm": "~0.0.10", "@welshman/feeds": "~0.0.21", "@welshman/lib": "~0.0.23", - "@welshman/net": "~0.0.29", - "@welshman/signer": "~0.0.9", + "@welshman/net": "~0.0.30", + "@welshman/signer": "~0.0.10", "@welshman/store": "~0.0.12", "@welshman/util": "~0.0.42", "daisyui": "^4.12.10", @@ -1798,6 +1799,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-6.1.2.tgz", "integrity": "sha512-xFy1/4qLFLp5WCIzIhtwUuVNNoz36+V7/BzHmLqgVJcvotc4MMjswW/TshnPQaLLujEOaLkA4h8ZJ0uoK3ImGg==", + "license": "MIT", "peer": true, "dependencies": { "tslib": "^2.1.0" @@ -3213,6 +3215,20 @@ "@tiptap/core": "^2.6.6" } }, + "node_modules/@tiptap/extension-placeholder": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.9.1.tgz", + "integrity": "sha512-Q/w3OOg/C6jGBf4QKEWKF9k+iaCQCgPoaIg2IDTPx8QmaxRfgoVE5Csd+oTOY/brdmSNXOxykZWEci6OJP+MbA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.7.0", + "@tiptap/pm": "^2.7.0" + } + }, "node_modules/@tiptap/extension-text": { "version": "2.6.6", "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.6.6.tgz", @@ -3623,16 +3639,16 @@ } }, "node_modules/@welshman/app": { - "version": "0.0.19", - "resolved": "https://registry.npmjs.org/@welshman/app/-/app-0.0.19.tgz", - "integrity": "sha512-uv5i6+Z3mm2cjTusbRHPYXy3bndefsBSfSYZ9lnAj8wRkvX7UPj5wgYbGim5IgEX8Y5r0SitnN5fICELCEcaCA==", + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@welshman/app/-/app-0.0.20.tgz", + "integrity": "sha512-hStVq7HUQAYvaT1lV8Z7e0zNU/qMMc/oXIoo3/o7B42aHomHuziUKtXCMCJvBhpStpT0x3atcmvWeTvsZwPPTw==", "license": "MIT", "dependencies": { "@welshman/dvm": "~0.0.10", "@welshman/feeds": "~0.0.20", "@welshman/lib": "~0.0.23", - "@welshman/net": "~0.0.29", - "@welshman/signer": "~0.0.9", + "@welshman/net": "~0.0.30", + "@welshman/signer": "~0.0.10", "@welshman/store": "~0.0.11", "@welshman/util": "~0.0.42", "fuse.js": "^7.0.0", @@ -3685,25 +3701,26 @@ } }, "node_modules/@welshman/net": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@welshman/net/-/net-0.0.29.tgz", - "integrity": "sha512-2Gd793da/p+TwXoze0PAF3QFAi6D2UU0vLUnU4tfyLp3HRqJ2mjcxLgxrgZYJhIYxxGGtaYYd4KghekeFmgj3w==", + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@welshman/net/-/net-0.0.30.tgz", + "integrity": "sha512-whFPG/NKW80VAA1RL/RQOvEd6PqAUgLV7gBJ/06rKzmfTtG6SUcro/Qz0c25bEB/BjPvMjTF/M0hv6qQJLRL6Q==", "license": "MIT", "dependencies": { "@welshman/lib": "~0.0.23", - "@welshman/util": "~0.0.40", + "@welshman/util": "~0.0.42", "isomorphic-ws": "^5.0.0", "ws": "^8.16.0" } }, "node_modules/@welshman/signer": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@welshman/signer/-/signer-0.0.9.tgz", - "integrity": "sha512-XaID2F+kGWDJRfW4bbW4ZBs+ilBqqdBfT8EYgLzRtA4NyT8cpPuUhm8v0av/DJONtTMfoEJg5ZR5JcxvPPqofA==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@welshman/signer/-/signer-0.0.10.tgz", + "integrity": "sha512-6PNnWN2BbmjSEBXvpO9RSQg+TOCXZHnMf0r/OeW1a4KfUkRgeevDg0TqVQLnvO9xYNi6rnrFLcrSqiVvVeag4g==", + "license": "MIT", "dependencies": { - "@welshman/lib": "~0.0.22", - "@welshman/net": "~0.0.28", - "@welshman/util": "~0.0.37", + "@welshman/lib": "~0.0.23", + "@welshman/net": "~0.0.30", + "@welshman/util": "~0.0.42", "nostr-tools": "^2.7.2" }, "peerDependencies": { @@ -6962,6 +6979,7 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/nostr-signer-capacitor-plugin/-/nostr-signer-capacitor-plugin-0.0.3.tgz", "integrity": "sha512-Aa3gmaEsmI80zm6/+Z12CEryzVlSSB+ERUhPTUGg/juQUlYGyeynifm306URUXYF4NkrdBpJua/gmcvhXcZoUA==", + "license": "MIT", "peer": true, "peerDependencies": { "@capacitor/core": "^6.0.0" @@ -9475,6 +9493,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "license": "0BSD", "peer": true }, "node_modules/tunnel-agent": { diff --git a/package.json b/package.json index 78027df5..7e2e38c5 100644 --- a/package.json +++ b/package.json @@ -45,18 +45,19 @@ "@tiptap/extension-hard-break": "^2.6.6", "@tiptap/extension-history": "^2.6.6", "@tiptap/extension-paragraph": "^2.6.6", + "@tiptap/extension-placeholder": "^2.9.1", "@tiptap/extension-text": "^2.6.6", "@tiptap/suggestion": "^2.6.4", "@types/throttle-debounce": "^5.0.2", "@vite-pwa/assets-generator": "^0.2.6", "@vite-pwa/sveltekit": "^0.6.6", - "@welshman/app": "~0.0.19", + "@welshman/app": "~0.0.20", "@welshman/content": "~0.0.12", "@welshman/dvm": "~0.0.10", "@welshman/feeds": "~0.0.21", "@welshman/lib": "~0.0.23", - "@welshman/net": "~0.0.29", - "@welshman/signer": "~0.0.9", + "@welshman/net": "~0.0.30", + "@welshman/signer": "~0.0.10", "@welshman/store": "~0.0.12", "@welshman/util": "~0.0.42", "daisyui": "^4.12.10", diff --git a/src/app.css b/src/app.css index 33096997..1be4174c 100644 --- a/src/app.css +++ b/src/app.css @@ -108,6 +108,10 @@ @apply flex flex-col gap-4; } +.col-8 { + @apply flex flex-col gap-8; +} + .ellipsize { @apply overflow-hidden text-ellipsis; } diff --git a/src/app/components/ConfirmDelete.svelte b/src/app/components/ConfirmDelete.svelte index 032b8a4b..a5a5e6c8 100644 --- a/src/app/components/ConfirmDelete.svelte +++ b/src/app/components/ConfirmDelete.svelte @@ -1,6 +1,7 @@ diff --git a/src/app/components/LogIn.svelte b/src/app/components/LogIn.svelte index f2f45e7c..c9d02302 100644 --- a/src/app/components/LogIn.svelte +++ b/src/app/components/LogIn.svelte @@ -63,10 +63,11 @@ relays: rootHandle.nip46 || rootHandle.relays || nip46 || relays, } - const broker = Nip46Broker.get(pubkey, secret, handler) + // Gotta use user pubkey as the handler pubkey for historical reasons + const broker = Nip46Broker.get({secret, handler: {...handler, pubkey}}) if (await broker.connect("", nip46Perms)) { - await onSuccess({method: "nip46", pubkey, secret, handler}, relays) + await onSuccess({method: "nip46", pubkey, secret, handler: {...handler, pubkey}}, relays) } else { pushToast({ theme: "error", diff --git a/src/app/components/SignUp.svelte b/src/app/components/SignUp.svelte index 7e5171d8..d148dcfd 100644 --- a/src/app/components/SignUp.svelte +++ b/src/app/components/SignUp.svelte @@ -28,7 +28,7 @@ }) } - const signupBroker = Nip46Broker.get("", secret, handler) + const signupBroker = Nip46Broker.get({secret, handler}) const pubkey = await signupBroker.createAccount(username, nip46Perms) if (!pubkey) { @@ -38,10 +38,11 @@ }) } - const loginBroker = Nip46Broker.get(pubkey, secret, handler) + // Gotta use user pubkey as the handler pubkey for historical reasons + const loginBroker = Nip46Broker.get({secret, handler: {...handler, pubkey}}) if (await loginBroker.connect("", nip46Perms)) { - addSession({method: "nip46", pubkey, secret, handler}) + addSession({method: "nip46", pubkey, secret, handler: {...handler, pubkey}}) pushToast({message: "Successfully logged in!"}) clearModals() } else { diff --git a/src/app/components/ThreadCreate.svelte b/src/app/components/ThreadCreate.svelte index 1b91534b..a1c90a4e 100644 --- a/src/app/components/ThreadCreate.svelte +++ b/src/app/components/ThreadCreate.svelte @@ -7,6 +7,7 @@ import {createEvent} from "@welshman/util" import {publishThunk} from "@welshman/app" import Icon from "@lib/components/Icon.svelte" + import Field from "@lib/components/Field.svelte" import Button from "@lib/components/Button.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" @@ -25,8 +26,15 @@ const loading = writable(false) const submit = () => { + + if (!title) { + return pushToast({ + theme: "error", + message: "Please provide a title for your thread.", + }) + } + const content = $editor.getText() - const tags = append(tagRoom(GENERAL, url), getEditorTags($editor)) if (!content.trim()) { return pushToast({ @@ -35,6 +43,12 @@ }) } + const tags = [ + ["title", title], + tagRoom(GENERAL, url), + ...getEditorTags($editor), + ] + publishThunk({ event: createEvent(THREAD, {content, tags}), relays: [url], @@ -43,10 +57,19 @@ history.back() } + let title: string let editor: Readable onMount(() => { - editor = createEditor(getEditorOptions({submit, loading, getPubkeyHints, autofocus: true})) + editor = createEditor( + getEditorOptions({ + submit, + loading, + getPubkeyHints, + autofocus: true, + placeholder: "What's on your mind?", + }) + ) }) @@ -55,10 +78,19 @@
Create a Thread
Share a link, or start a discussion.
-
-
- -
+
+ +

Title*

+ +
+ +

Message*

+
+ +
+