mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-09-29 04:52:59 +02:00
small fixes
This commit is contained in:
@@ -35,12 +35,14 @@ export function parseStreamEvent(stream: NostrEvent): ParsedStream {
|
|||||||
const summary = stream.tags.find((t) => t[0] === "summary")?.[1];
|
const summary = stream.tags.find((t) => t[0] === "summary")?.[1];
|
||||||
const image = stream.tags.find((t) => t[0] === "image")?.[1];
|
const image = stream.tags.find((t) => t[0] === "image")?.[1];
|
||||||
const starts = stream.tags.find((t) => t[0] === "starts")?.[1];
|
const starts = stream.tags.find((t) => t[0] === "starts")?.[1];
|
||||||
const endsTag = stream.tags.find((t) => t[0] === "ends")?.[1];
|
const ends = stream.tags.find((t) => t[0] === "ends")?.[1];
|
||||||
const streaming = stream.tags.find((t) => t[0] === "streaming")?.[1];
|
const streaming = stream.tags.find((t) => t[0] === "streaming")?.[1];
|
||||||
const recording = stream.tags.find((t) => t[0] === "recording")?.[1];
|
const recording = stream.tags.find((t) => t[0] === "recording")?.[1];
|
||||||
const goal = stream.tags.find((t) => t[0] === "goal")?.[1];
|
const goal = stream.tags.find((t) => t[0] === "goal")?.[1];
|
||||||
const identifier = stream.tags.find((t) => t[0] === "d")?.[1];
|
const identifier = stream.tags.find((t) => t[0] === "d")?.[1];
|
||||||
|
|
||||||
|
if (!identifier) throw new Error("missing identifier");
|
||||||
|
|
||||||
let relays = stream.tags.find((t) => t[0] === "relays");
|
let relays = stream.tags.find((t) => t[0] === "relays");
|
||||||
// remove the first "relays" element
|
// remove the first "relays" element
|
||||||
if (relays) {
|
if (relays) {
|
||||||
@@ -49,11 +51,10 @@ export function parseStreamEvent(stream: NostrEvent): ParsedStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const startTime = starts ? parseInt(starts) : undefined;
|
const startTime = starts ? parseInt(starts) : undefined;
|
||||||
const endTime = endsTag ? parseInt(endsTag) : undefined;
|
let endTime = ends ? parseInt(ends) : undefined;
|
||||||
|
|
||||||
if (!identifier) throw new Error("missing identifier");
|
|
||||||
|
|
||||||
let status = stream.tags.find((t) => t[0] === "status")?.[1] || "ended";
|
let status = stream.tags.find((t) => t[0] === "status")?.[1] || "ended";
|
||||||
|
if (status === "ended" && endTime === undefined) endTime = stream.created_at;
|
||||||
if (endTime && endTime > dayjs().unix()) {
|
if (endTime && endTime > dayjs().unix()) {
|
||||||
status = "ended";
|
status = "ended";
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,11 @@ export default function useStreamChatTimeline(stream: ParsedStream) {
|
|||||||
const muteFilter = useClientSideMuteFilter();
|
const muteFilter = useClientSideMuteFilter();
|
||||||
|
|
||||||
const eventFilter = useCallback(
|
const eventFilter = useCallback(
|
||||||
(event: NostrEvent) => !(hostMuteFilter(event) || muteFilter(event)),
|
(event: NostrEvent) => {
|
||||||
|
if (stream.starts && event.created_at < stream.starts) return false;
|
||||||
|
if (stream.ends && event.created_at > stream.ends) return false;
|
||||||
|
return !(hostMuteFilter(event) || muteFilter(event));
|
||||||
|
},
|
||||||
[hostMuteFilter, muteFilter],
|
[hostMuteFilter, muteFilter],
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -38,5 +42,6 @@ export default function useStreamChatTimeline(stream: ParsedStream) {
|
|||||||
}
|
}
|
||||||
return streamQuery;
|
return streamQuery;
|
||||||
}, [stream, goal]);
|
}, [stream, goal]);
|
||||||
|
|
||||||
return useTimelineLoader(`${getEventUID(stream.event)}-chat`, streamRelays, query, { eventFilter });
|
return useTimelineLoader(`${getEventUID(stream.event)}-chat`, streamRelays, query, { eventFilter });
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user