This commit is contained in:
parent
cfb446c7c8
commit
fadfdb576a
@ -152,16 +152,18 @@ export function NoteCreator() {
|
|||||||
const ev = await buildNote();
|
const ev = await buildNote();
|
||||||
if (ev) {
|
if (ev) {
|
||||||
const events = (note.otherEvents ?? []).concat(ev);
|
const events = (note.otherEvents ?? []).concat(ev);
|
||||||
events.map(a => sendEventToRelays(system, a, note.selectedCustomRelays, r => {
|
events.map(a =>
|
||||||
if (CONFIG.noteCreatorToast) {
|
sendEventToRelays(system, a, note.selectedCustomRelays, r => {
|
||||||
r.forEach(rr => {
|
if (CONFIG.noteCreatorToast) {
|
||||||
Toastore.push({
|
r.forEach(rr => {
|
||||||
element: <OkResponseRow rsp={rr} />,
|
Toastore.push({
|
||||||
expire: unixNow() + (rr.ok ? 5 : 55555)
|
element: <OkResponseRow rsp={rr} />,
|
||||||
})
|
expire: unixNow() + (rr.ok ? 5 : 55555),
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
}));
|
}
|
||||||
|
}),
|
||||||
|
);
|
||||||
note.update(n => n.reset());
|
note.update(n => n.reset());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -327,18 +329,18 @@ export function NoteCreator() {
|
|||||||
onChange={e => {
|
onChange={e => {
|
||||||
note.update(
|
note.update(
|
||||||
v =>
|
v =>
|
||||||
(v.selectedCustomRelays =
|
(v.selectedCustomRelays =
|
||||||
// set false if all relays selected
|
// set false if all relays selected
|
||||||
e.target.checked &&
|
e.target.checked &&
|
||||||
note.selectedCustomRelays &&
|
note.selectedCustomRelays &&
|
||||||
note.selectedCustomRelays.length == a.length - 1
|
note.selectedCustomRelays.length == a.length - 1
|
||||||
? undefined
|
? undefined
|
||||||
: // otherwise return selectedCustomRelays with target relay added / removed
|
: // otherwise return selectedCustomRelays with target relay added / removed
|
||||||
a.filter(el =>
|
a.filter(el =>
|
||||||
el === r
|
el === r
|
||||||
? e.target.checked
|
? e.target.checked
|
||||||
: !note.selectedCustomRelays || note.selectedCustomRelays.includes(el),
|
: !note.selectedCustomRelays || note.selectedCustomRelays.includes(el),
|
||||||
)),
|
)),
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@ -407,9 +409,9 @@ export function NoteCreator() {
|
|||||||
onChange={e =>
|
onChange={e =>
|
||||||
note.update(
|
note.update(
|
||||||
v =>
|
v =>
|
||||||
(v.zapSplits = arr.map((vv, ii) =>
|
(v.zapSplits = arr.map((vv, ii) =>
|
||||||
ii === i ? { ...vv, weight: Number(e.target.value) } : vv,
|
ii === i ? { ...vv, weight: Number(e.target.value) } : vv,
|
||||||
)),
|
)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@ -656,4 +658,4 @@ export function NoteCreator() {
|
|||||||
{noteCreatorForm()}
|
{noteCreatorForm()}
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -11,50 +11,52 @@ import { useState } from "react";
|
|||||||
import { useIntl } from "react-intl";
|
import { useIntl } from "react-intl";
|
||||||
|
|
||||||
export function OkResponseRow({ rsp }: { rsp: OkResponse }) {
|
export function OkResponseRow({ rsp }: { rsp: OkResponse }) {
|
||||||
const [r, setResult] = useState(rsp);
|
const [r, setResult] = useState(rsp);
|
||||||
const { formatMessage } = useIntl();
|
const { formatMessage } = useIntl();
|
||||||
const { publisher, system } = useEventPublisher();
|
const { publisher, system } = useEventPublisher();
|
||||||
const login = useLogin();
|
const login = useLogin();
|
||||||
|
|
||||||
async function removeRelayFromResult(r: OkResponse) {
|
async function removeRelayFromResult(r: OkResponse) {
|
||||||
if (publisher) {
|
if (publisher) {
|
||||||
removeRelay(login, unwrap(sanitizeRelayUrl(r.relay)));
|
removeRelay(login, unwrap(sanitizeRelayUrl(r.relay)));
|
||||||
await saveRelays(system, publisher, login.relays.item);
|
await saveRelays(system, publisher, login.relays.item);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function retryPublish(r: OkResponse) {
|
async function retryPublish(r: OkResponse) {
|
||||||
const rsp = await system.WriteOnceToRelay(unwrap(sanitizeRelayUrl(r.relay)), r.event);
|
const rsp = await system.WriteOnceToRelay(unwrap(sanitizeRelayUrl(r.relay)), r.event);
|
||||||
setResult(rsp);
|
setResult(rsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
return <div className="flex items-center g16">
|
return (
|
||||||
<Icon name={r.ok ? "check" : "x"} className={r.ok ? "success" : "error"} size={24} />
|
<div className="flex items-center g16">
|
||||||
<div className="flex flex-col grow g4">
|
<Icon name={r.ok ? "check" : "x"} className={r.ok ? "success" : "error"} size={24} />
|
||||||
<b>{getRelayName(r.relay)}</b>
|
<div className="flex flex-col grow g4">
|
||||||
{r.message && <small>{r.message}</small>}
|
<b>{getRelayName(r.relay)}</b>
|
||||||
|
{r.message && <small>{r.message}</small>}
|
||||||
|
</div>
|
||||||
|
{!r.ok && (
|
||||||
|
<div className="flex g8">
|
||||||
|
<AsyncButton
|
||||||
|
onClick={() => retryPublish(r)}
|
||||||
|
className="p4 br-compact flex items-center secondary"
|
||||||
|
title={formatMessage({
|
||||||
|
defaultMessage: "Retry publishing",
|
||||||
|
id: "9kSari",
|
||||||
|
})}>
|
||||||
|
<Icon name="refresh-ccw-01" />
|
||||||
|
</AsyncButton>
|
||||||
|
<AsyncButton
|
||||||
|
onClick={() => removeRelayFromResult(r)}
|
||||||
|
className="p4 br-compact flex items-center secondary"
|
||||||
|
title={formatMessage({
|
||||||
|
defaultMessage: "Remove from my relays",
|
||||||
|
id: "UJTWqI",
|
||||||
|
})}>
|
||||||
|
<Icon name="trash-01" className="trash-icon" />
|
||||||
|
</AsyncButton>
|
||||||
</div>
|
</div>
|
||||||
{!r.ok && (
|
)}
|
||||||
<div className="flex g8">
|
|
||||||
<AsyncButton
|
|
||||||
onClick={() => retryPublish(r)}
|
|
||||||
className="p4 br-compact flex items-center secondary"
|
|
||||||
title={formatMessage({
|
|
||||||
defaultMessage: "Retry publishing",
|
|
||||||
id: "9kSari",
|
|
||||||
})}>
|
|
||||||
<Icon name="refresh-ccw-01" />
|
|
||||||
</AsyncButton>
|
|
||||||
<AsyncButton
|
|
||||||
onClick={() => removeRelayFromResult(r)}
|
|
||||||
className="p4 br-compact flex items-center secondary"
|
|
||||||
title={formatMessage({
|
|
||||||
defaultMessage: "Remove from my relays",
|
|
||||||
id: "UJTWqI",
|
|
||||||
})}>
|
|
||||||
<Icon name="trash-01" className="trash-icon" />
|
|
||||||
</AsyncButton>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
}
|
);
|
||||||
|
}
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user