mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-09-27 12:07:43 +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 image = stream.tags.find((t) => t[0] === "image")?.[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 recording = stream.tags.find((t) => t[0] === "recording")?.[1];
|
||||
const goal = stream.tags.find((t) => t[0] === "goal")?.[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");
|
||||
// remove the first "relays" element
|
||||
if (relays) {
|
||||
@@ -49,11 +51,10 @@ export function parseStreamEvent(stream: NostrEvent): ParsedStream {
|
||||
}
|
||||
|
||||
const startTime = starts ? parseInt(starts) : undefined;
|
||||
const endTime = endsTag ? parseInt(endsTag) : undefined;
|
||||
|
||||
if (!identifier) throw new Error("missing identifier");
|
||||
let endTime = ends ? parseInt(ends) : undefined;
|
||||
|
||||
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()) {
|
||||
status = "ended";
|
||||
}
|
||||
|
@@ -18,7 +18,11 @@ export default function useStreamChatTimeline(stream: ParsedStream) {
|
||||
const muteFilter = useClientSideMuteFilter();
|
||||
|
||||
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],
|
||||
);
|
||||
|
||||
@@ -38,5 +42,6 @@ export default function useStreamChatTimeline(stream: ParsedStream) {
|
||||
}
|
||||
return streamQuery;
|
||||
}, [stream, goal]);
|
||||
|
||||
return useTimelineLoader(`${getEventUID(stream.event)}-chat`, streamRelays, query, { eventFilter });
|
||||
}
|
||||
|
Reference in New Issue
Block a user