Fix wrong notification count
This commit is contained in:
parent
e1adc6a3bc
commit
790bf5eac3
2 changed files with 7 additions and 8 deletions
|
@ -21,7 +21,7 @@ import ChevronRightIC from '../../../../public/res/ic/outlined/chevron-right.svg
|
|||
function DrawerBreadcrumb({ spaceId }) {
|
||||
const [, forceUpdate] = useState({});
|
||||
const scrollRef = useRef(null);
|
||||
const { roomList, notifications } = initMatrix;
|
||||
const { roomList, notifications, accountData } = initMatrix;
|
||||
const mx = initMatrix.matrixClient;
|
||||
const spacePath = navigation.selectedSpacePath;
|
||||
|
||||
|
@ -49,9 +49,9 @@ function DrawerBreadcrumb({ spaceId }) {
|
|||
}, [spaceId]);
|
||||
|
||||
function getHomeNotiExcept(childId) {
|
||||
const orphans = roomList.getOrphans();
|
||||
const childIndex = orphans.indexOf(childId);
|
||||
if (childId !== -1) orphans.splice(childIndex, 1);
|
||||
const orphans = roomList.getOrphans()
|
||||
.filter((id) => (id !== childId))
|
||||
.filter((id) => !accountData.spaceShortcut.has(id));
|
||||
|
||||
let noti = null;
|
||||
|
||||
|
|
|
@ -114,8 +114,7 @@ class Notifications extends EventEmitter {
|
|||
}
|
||||
|
||||
getTotalNoti(roomId) {
|
||||
const { total, highlight } = this.getNoti(roomId);
|
||||
if (highlight > total) return highlight;
|
||||
const { total } = this.getNoti(roomId);
|
||||
return total;
|
||||
}
|
||||
|
||||
|
@ -166,7 +165,7 @@ class Notifications extends EventEmitter {
|
|||
|
||||
_setNoti(roomId, total, highlight) {
|
||||
const addNoti = (id, t, h, fromId) => {
|
||||
const prevTotal = this.roomIdToNoti.get(id)?.total ?? null;
|
||||
const prevTotal = this.roomIdToNoti.has(id) ? this.getT : null;
|
||||
const noti = this.getNoti(id);
|
||||
|
||||
noti.total += t;
|
||||
|
@ -181,7 +180,7 @@ class Notifications extends EventEmitter {
|
|||
};
|
||||
|
||||
const noti = this.getNoti(roomId);
|
||||
const addT = total - noti.total;
|
||||
const addT = (highlight > total ? highlight : total) - noti.total;
|
||||
const addH = highlight - noti.highlight;
|
||||
if (addT < 0 || addH < 0) return;
|
||||
|
||||
|
|
Loading…
Reference in a new issue