set app badge

This commit is contained in:
Gigiaj 2025-06-11 01:41:49 -05:00
parent 350f3ac2f7
commit 815a0ac7f4
2 changed files with 6 additions and 3 deletions

View file

@ -1,5 +1,6 @@
import { Room, RoomEvent, RoomEventHandlerMap } from 'matrix-js-sdk';
import { useEffect, useState } from 'react';
import { getUnreadInfo } from '../utils/room';
const getEventReaders = (room: Room, evtId?: string) => {
if (!evtId) return [];
@ -21,7 +22,7 @@ const getEventReaders = (room: Room, evtId?: string) => {
export const useRoomEventReaders = (room: Room, eventId?: string): string[] => {
const [readers, setReaders] = useState<string[]>(() => getEventReaders(room, eventId));
const unreadInfo = getUnreadInfo(room);
useEffect(() => {
setReaders(getEventReaders(room, eventId));
@ -46,11 +47,13 @@ export const useRoomEventReaders = (room: Room, eventId?: string): string[] => {
room.on(RoomEvent.Receipt, handleReceipt);
room.on(RoomEvent.LocalEchoUpdated, handleLocalEcho);
navigator.setAppBadge(unreadInfo.total);
return () => {
room.removeListener(RoomEvent.Receipt, handleReceipt);
room.removeListener(RoomEvent.LocalEchoUpdated, handleLocalEcho);
};
}, [room, eventId]);
}, [room, eventId, unreadInfo.total]);
return readers;
};