New NDK instance for message input testing phase only

This commit is contained in:
austinkelsay 2024-10-13 15:15:30 -05:00
parent a26d9da76d
commit 2ad0574ccb

View File

@ -4,25 +4,38 @@ import GenericButton from '@/components/buttons/GenericButton';
import { Panel } from 'primereact/panel'; import { Panel } from 'primereact/panel';
import { useNDKContext } from "@/context/NDKContext"; import { useNDKContext } from "@/context/NDKContext";
import { NDKEvent } from "@nostr-dev-kit/ndk"; import { NDKEvent } from "@nostr-dev-kit/ndk";
import NDK, { NDKNip07Signer } from "@nostr-dev-kit/ndk";
import { useToast } from '@/hooks/useToast'; import { useToast } from '@/hooks/useToast';
const MessageInput = ({ onMessageSent }) => { const MessageInput = ({ onMessageSent }) => {
const [message, setMessage] = useState(''); const [message, setMessage] = useState('');
const [collapsed, setCollapsed] = useState(true); const [collapsed, setCollapsed] = useState(true);
const [isSubmitting, setIsSubmitting] = useState(false); // todo: revert this after testing phase
const { ndk, addSigner } = useNDKContext(); // const { ndk, addSigner } = useNDKContext();
const ndk = new NDK({
explicitRelayUrls: ["wss://nos.lol/",
"wss://relay.damus.io/",
"wss://relay.snort.social/",
"wss://relay.nostr.band/",
"wss://relay.mutinywallet.com/",
"wss://relay.primal.net/",
"wss://nostr21.com/",
"wss://nostrue.com/",
"wss://purplerelay.com/"]
});
const { showToast } = useToast(); const { showToast } = useToast();
const handleSubmit = async () => { const handleSubmit = async () => {
if (!message.trim() || !ndk || isSubmitting) return; if (!message.trim() || !ndk) return;
setIsSubmitting(true);
try { try {
if (!ndk.signer) { // if (!ndk.signer) {
await addSigner(); // await addSigner();
} // }
const nip07signer = new NDKNip07Signer();
await ndk.signer?.user();
ndk.signer = nip07signer;
const event = new NDKEvent(ndk); const event = new NDKEvent(ndk);
event.kind = 1; event.kind = 1;
event.content = message; event.content = message;
@ -35,8 +48,6 @@ const MessageInput = ({ onMessageSent }) => {
} catch (error) { } catch (error) {
console.error("Error publishing message:", error); console.error("Error publishing message:", error);
showToast('error', 'Error', 'There was an error sending your message. Please try again.'); showToast('error', 'Error', 'There was an error sending your message. Please try again.');
} finally {
setIsSubmitting(false);
} }
}; };
@ -75,7 +86,6 @@ const MessageInput = ({ onMessageSent }) => {
outlined outlined
onClick={handleSubmit} onClick={handleSubmit}
className="w-fit py-2" className="w-fit py-2"
disabled={isSubmitting}
/> />
</div> </div>
</Panel> </Panel>