import CardContainer from './CardContainer'; import { ArrowUpTrayIcon } from '@heroicons/react/24/outline'; import { useState } from 'react'; import { generatePrivateKey, getPublicKey, finishEvent, relayInit} from 'nostr-tools'; import { minePow } from '../../utils/mine'; const difficulty = 10 export const relay = relayInit('wss://nostr.lu.ke') const NewThreadCard = () => { const [comment, setComment] = useState(""); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); let sk = generatePrivateKey() let pk = getPublicKey(sk) relay.on('connect', () => { console.log(`connected to ${relay.url}`) }) relay.on('error', () => { console.log(`failed to connect to ${relay.url}`) }) await relay.connect() try { const event = minePow({ kind: 1, tags: [], content: 'Hello, world!', created_at: Math.floor(Date.now() / 1000), //needs to be date To Unix pubkey: pk, }, difficulty) const signedEvent = finishEvent(event, sk) await relay.publish(signedEvent) console.log(signedEvent.id) } catch (error) { setComment(comment + " " + error); } relay.close() }; // async function attachFile(file_input: File | null) { // try { // if (file_input) { // const rx = await NostrImg(file_input); // if (rx.url) { // setComment(comment + " " + rx.url); // } else if (rx?.error) { // setComment(comment + " " + rx.error); // } // } // } catch (error: unknown) { // if (error instanceof Error) { // setComment(comment + " " + error?.message); // } // } // } return ( <>