Fix server id not being replaced properly.

Fix links in spoilers opening when revealing.
Fix unread icon appearing for home.
Fix unreads not being acknowledged.
This commit is contained in:
Paul
2021-07-31 10:05:59 +01:00
parent 58d9744fad
commit 305243ab43
7 changed files with 23 additions and 24 deletions

View File

@@ -218,7 +218,7 @@ export const ServerListSidebar = observer(({ unreads, lastOpened }: Props) => {
if (
(x.channel?.channel_type === "DirectMessage"
? x.channel?.active
: true) &&
: x.channel?.channel_type === "Group") &&
x.unread
) {
homeUnread = "unread";

View File

@@ -1,4 +1,4 @@
import { autorun } from "mobx";
import { autorun, isObservableProp, reaction } from "mobx";
import { Channel } from "revolt.js/dist/maps/Channels";
import { useLayoutEffect } from "preact/hooks";
@@ -17,10 +17,7 @@ export function useUnreads({ channel, unreads }: UnreadProps) {
const client = useClient();
useLayoutEffect(() => {
function checkUnread(
target: Channel,
last_message: Channel["last_message"],
) {
function checkUnread(target: Channel) {
if (!target) return;
if (target._id !== channel._id) return;
if (
@@ -50,7 +47,11 @@ export function useUnreads({ channel, unreads }: UnreadProps) {
}
}
return autorun(() => checkUnread(channel!, channel!.last_message));
checkUnread(channel);
return reaction(
() => channel.last_message,
() => checkUnread(channel),
);
}, [channel, unreads]);
}