Live video on the AT Protocol
at next 18 lines 571 B view raw
1import { useStore } from "store"; 2import { PlaceStreamSegment } from "streamplace"; 3 4// composite selector that tells us when the current user is live 5export const useLiveUser = (): boolean => { 6 const mySegments = useStore((state) => state.mySegments); 7 if (mySegments.length === 0) { 8 return false; 9 } 10 if (!PlaceStreamSegment.isRecord(mySegments[0].record)) { 11 return false; 12 } 13 const record = mySegments[0].record as PlaceStreamSegment.Record; 14 if (Date.now() - new Date(record.startTime).getTime() < 1000 * 10) { 15 return true; 16 } 17 return false; 18};