import "./new-goal.css"; import * as Dialog from "@radix-ui/react-dialog"; import AsyncButton from "./async-button"; import { Icon } from "element/icon"; import { useState } from "react"; import { System } from "index"; import { GOAL } from "const"; import { useLogin } from "hooks/login"; import { FormattedMessage } from "react-intl"; import { defaultRelays } from "const"; export function NewGoalDialog() { const [open, setOpen] = useState(false); const login = useLogin(); const [goalAmount, setGoalAmount] = useState(""); const [goalName, setGoalName] = useState(""); async function publishGoal() { const pub = login?.publisher(); if (pub) { const evNew = await pub.generic(eb => { eb.kind(GOAL) .tag(["amount", String(Number(goalAmount) * 1000)]) .tag(["relays", ...Object.keys(defaultRelays)]) .content(goalName); return eb; }); console.debug(evNew); System.BroadcastEvent(evNew); setOpen(false); setGoalName(""); setGoalAmount(""); } } const isValid = goalName.length && Number(goalAmount) > 0; return (

setGoalName(e.target.value)} />

setGoalAmount(e.target.value)} />
); }