hide NoteBroadcaster in iris
This commit is contained in:
parent
31129fab2c
commit
9d0f7f4596
@ -10,6 +10,7 @@
|
||||
"publicDir": "public/snort",
|
||||
"httpCache": "",
|
||||
"animalNamePlaceholders": false,
|
||||
"showNoteBroadcaster": true,
|
||||
"defaultZapPoolFee": 0.5,
|
||||
"features": {
|
||||
"analytics": true,
|
||||
|
@ -10,6 +10,8 @@
|
||||
"publicDir": "public/iris",
|
||||
"httpCache": "https://api.iris.to",
|
||||
"animalNamePlaceholders": true,
|
||||
"showNoteBroadcaster": false,
|
||||
"defaultZapPoolFee": 0.5,
|
||||
"features": {
|
||||
"analytics": true,
|
||||
"subscriptions": false,
|
||||
|
3
packages/app/custom.d.ts
vendored
3
packages/app/custom.d.ts
vendored
@ -51,7 +51,8 @@ declare const CONFIG: {
|
||||
navLogo: string | null;
|
||||
httpCache: string;
|
||||
animalNamePlaceholders: boolean;
|
||||
defaultZapPoolFee?: number;
|
||||
showNoteBroadcaster: boolean;
|
||||
defaultZapPoolFee: number;
|
||||
features: {
|
||||
analytics: boolean;
|
||||
subscriptions: boolean;
|
||||
|
@ -10,6 +10,7 @@ import { removeRelay } from "@/Login";
|
||||
import useLogin from "@/Hooks/useLogin";
|
||||
import useEventPublisher from "@/Hooks/useEventPublisher";
|
||||
import { saveRelays } from "@/Pages/settings/Relays";
|
||||
import {sendEventToRelays} from "@/Element/Event/NoteBroadcaster/util";
|
||||
|
||||
export function NoteBroadcaster({
|
||||
evs,
|
||||
@ -25,26 +26,8 @@ export function NoteBroadcaster({
|
||||
const login = useLogin();
|
||||
const { publisher, system } = useEventPublisher();
|
||||
|
||||
async function sendEventToRelays(ev: NostrEvent) {
|
||||
if (customRelays) {
|
||||
return removeUndefined(
|
||||
await Promise.all(
|
||||
customRelays.map(async r => {
|
||||
try {
|
||||
return await system.WriteOnceToRelay(r, ev);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return await system.BroadcastEvent(ev, r => setResults(x => [...x, r]));
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
Promise.all(evs.map(a => sendEventToRelays(a)).flat()).catch(console.error);
|
||||
Promise.all(evs.map(a => sendEventToRelays(system, a, customRelays, setResults)).flat()).catch(console.error);
|
||||
}, []);
|
||||
|
||||
async function removeRelayFromResult(r: OkResponse) {
|
23
packages/app/src/Element/Event/NoteBroadcaster/util.ts
Normal file
23
packages/app/src/Element/Event/NoteBroadcaster/util.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import {NostrEvent, OkResponse, SystemInterface} from "@snort/system";
|
||||
import {removeUndefined} from "@snort/shared";
|
||||
|
||||
export async function sendEventToRelays(system: SystemInterface, ev: NostrEvent, customRelays?: Array<string>, setResults?: (x: Array<OkResponse>) => void) {
|
||||
console.log("sendEventToRelays", ev, customRelays);
|
||||
if (customRelays) {
|
||||
return removeUndefined(
|
||||
await Promise.all(
|
||||
customRelays.map(async r => {
|
||||
try {
|
||||
return await system.WriteOnceToRelay(r, ev);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
const responses: OkResponse[] = await system.BroadcastEvent(ev);
|
||||
setResults?.(responses);
|
||||
return responses;
|
||||
}
|
||||
}
|
@ -21,17 +21,18 @@ import { AsyncIcon } from "@/Element/AsyncIcon";
|
||||
import { fetchNip05Pubkey } from "@snort/shared";
|
||||
import { ZapTarget } from "@/Zapper";
|
||||
import { useNoteCreator } from "@/State/NoteCreator";
|
||||
import { NoteBroadcaster } from "./NoteBroadcaster";
|
||||
import { NoteBroadcaster } from "./NoteBroadcaster/NoteBroadcaster";
|
||||
import FileUploadProgress from "./FileUpload";
|
||||
import { ToggleSwitch } from "@/Icons/Toggle";
|
||||
import NostrBandApi from "@/External/NostrBand";
|
||||
import { useLocale } from "@/IntlProvider";
|
||||
import {sendEventToRelays} from "@/Element/Event/NoteBroadcaster/util";
|
||||
|
||||
export function NoteCreator() {
|
||||
const { formatMessage } = useIntl();
|
||||
const uploader = useFileUpload();
|
||||
const login = useLogin(s => ({ relays: s.relays, publicKey: s.publicKey, pow: s.appData.item.preferences.pow }));
|
||||
const { publisher: pub } = useEventPublisher();
|
||||
const { system, publisher: pub } = useEventPublisher();
|
||||
const publisher = login.pow ? pub?.pow(login.pow, GetPowWorker()) : pub;
|
||||
const note = useNoteCreator();
|
||||
const relays = login.relays;
|
||||
@ -150,9 +151,14 @@ export function NoteCreator() {
|
||||
async function sendNote() {
|
||||
const ev = await buildNote();
|
||||
if (ev) {
|
||||
const events = (note.otherEvents ?? []).concat(ev);
|
||||
note.update(n => {
|
||||
n.sending = (note.otherEvents ?? []).concat(ev);
|
||||
n.sending = events;
|
||||
});
|
||||
if (!CONFIG.showNoteBroadcaster) {
|
||||
Promise.all(events.map(a => sendEventToRelays(system, a, note.selectedCustomRelays)).flat()).catch(console.error);
|
||||
reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user