feat: toast notify on publish
This commit is contained in:
@ -18,14 +18,15 @@ import useLogin from "@/Hooks/useLogin";
|
||||
import { GetPowWorker } from "@/index";
|
||||
import AsyncButton from "@/Element/Button/AsyncButton";
|
||||
import { AsyncIcon } from "@/Element/Button/AsyncIcon";
|
||||
import { fetchNip05Pubkey } from "@snort/shared";
|
||||
import { fetchNip05Pubkey, unixNow } from "@snort/shared";
|
||||
import { ZapTarget } from "@/Zapper";
|
||||
import { useNoteCreator } from "@/State/NoteCreator";
|
||||
import { NoteBroadcaster } from "@/Element/Event/Create/NoteBroadcaster";
|
||||
import FileUploadProgress from "../FileUpload";
|
||||
import { ToggleSwitch } from "@/Icons/Toggle";
|
||||
import { sendEventToRelays } from "@/Element/Event/Create/util";
|
||||
import { TrendingHashTagsLine } from "@/Element/Event/Create/TrendingHashTagsLine";
|
||||
import { Toastore } from "@/Toaster";
|
||||
import { OkResponseRow } from "./OkResponseRow";
|
||||
|
||||
export function NoteCreator() {
|
||||
const { formatMessage } = useIntl();
|
||||
@ -151,15 +152,17 @@ export function NoteCreator() {
|
||||
const ev = await buildNote();
|
||||
if (ev) {
|
||||
const events = (note.otherEvents ?? []).concat(ev);
|
||||
note.update(n => {
|
||||
n.sending = events;
|
||||
});
|
||||
if (!CONFIG.showNoteBroadcaster) {
|
||||
Promise.all(events.map(a => sendEventToRelays(system, a, note.selectedCustomRelays)).flat()).catch(
|
||||
console.error,
|
||||
);
|
||||
reset();
|
||||
}
|
||||
events.map(a => sendEventToRelays(system, a, note.selectedCustomRelays, r => {
|
||||
if (CONFIG.noteCreatorToast) {
|
||||
r.forEach(rr => {
|
||||
Toastore.push({
|
||||
element: <OkResponseRow rsp={rr} />,
|
||||
expire: unixNow() + (rr.ok ? 5 : 55555)
|
||||
})
|
||||
});
|
||||
}
|
||||
}));
|
||||
note.update(n => n.reset());
|
||||
}
|
||||
}
|
||||
|
||||
@ -324,18 +327,18 @@ export function NoteCreator() {
|
||||
onChange={e => {
|
||||
note.update(
|
||||
v =>
|
||||
(v.selectedCustomRelays =
|
||||
// set false if all relays selected
|
||||
e.target.checked &&
|
||||
(v.selectedCustomRelays =
|
||||
// set false if all relays selected
|
||||
e.target.checked &&
|
||||
note.selectedCustomRelays &&
|
||||
note.selectedCustomRelays.length == a.length - 1
|
||||
? undefined
|
||||
: // otherwise return selectedCustomRelays with target relay added / removed
|
||||
a.filter(el =>
|
||||
el === r
|
||||
? e.target.checked
|
||||
: !note.selectedCustomRelays || note.selectedCustomRelays.includes(el),
|
||||
)),
|
||||
? undefined
|
||||
: // otherwise return selectedCustomRelays with target relay added / removed
|
||||
a.filter(el =>
|
||||
el === r
|
||||
? e.target.checked
|
||||
: !note.selectedCustomRelays || note.selectedCustomRelays.includes(el),
|
||||
)),
|
||||
);
|
||||
}}
|
||||
/>
|
||||
@ -404,9 +407,9 @@ export function NoteCreator() {
|
||||
onChange={e =>
|
||||
note.update(
|
||||
v =>
|
||||
(v.zapSplits = arr.map((vv, ii) =>
|
||||
ii === i ? { ...vv, weight: Number(e.target.value) } : vv,
|
||||
)),
|
||||
(v.zapSplits = arr.map((vv, ii) =>
|
||||
ii === i ? { ...vv, weight: Number(e.target.value) } : vv,
|
||||
)),
|
||||
)
|
||||
}
|
||||
/>
|
||||
@ -650,8 +653,7 @@ export function NoteCreator() {
|
||||
if (!note.show) return null;
|
||||
return (
|
||||
<Modal id="note-creator" className="note-creator-modal" onClose={reset}>
|
||||
{note.sending && <NoteBroadcaster evs={note.sending} onClose={reset} customRelays={note.selectedCustomRelays} />}
|
||||
{!note.sending && noteCreatorForm()}
|
||||
{noteCreatorForm()}
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user