DM filter fix

This commit is contained in:
2025-10-13 12:31:20 +02:00
parent 388d764a19
commit f791a77d16
2 changed files with 10 additions and 1 deletions
+7 -1
View File
@@ -17,6 +17,7 @@ export default function DMs() {
const wsRef = useRef<WebSocket | null>(null); const wsRef = useRef<WebSocket | null>(null);
const [messages, setMessages] = useState<Message[]>([]); const [messages, setMessages] = useState<Message[]>([]);
const [userList, setUserList] = useState<StringMap<User>>({}); const [userList, setUserList] = useState<StringMap<User>>({});
const [user, setUser] = useState<User | undefined>();
return ( return (
<AppSidebar <AppSidebar
@@ -25,13 +26,18 @@ export default function DMs() {
userList={userList} userList={userList}
setUserList={setUserList} setUserList={setUserList}
chatWith={id} chatWith={id}
setUser={setUser}
> >
<MessageBox <MessageBox
channelName={userList[id]?.display_name || id} channelName={userList[id]?.display_name || id}
userList={userList} userList={userList}
setUserList={setUserList} setUserList={setUserList}
messages={messages messages={messages
.filter((m) => m.channel_id === id || m.from === id) .filter(
(m) =>
(m.channel_id === id && m.from === user?.id) ||
(m.from === id && m.channel_id === user?.id)
)
.toReversed()} .toReversed()}
sendMessage={(message) => { sendMessage={(message) => {
wsRef.current?.send( wsRef.current?.send(
+3
View File
@@ -40,6 +40,7 @@ export default function AppSidebar({
wsRef, wsRef,
setMessages, setMessages,
onNewMessage, onNewMessage,
setUser,
}: Readonly<{ }: Readonly<{
wsRef: React.RefObject<WebSocket | null>; wsRef: React.RefObject<WebSocket | null>;
setMessages: React.Dispatch<React.SetStateAction<Message[]>>; setMessages: React.Dispatch<React.SetStateAction<Message[]>>;
@@ -48,6 +49,7 @@ export default function AppSidebar({
setUserList: React.Dispatch<React.SetStateAction<StringMap<User>>>; setUserList: React.Dispatch<React.SetStateAction<StringMap<User>>>;
chatWith?: string; chatWith?: string;
children?: React.ReactNode; children?: React.ReactNode;
setUser?: React.Dispatch<React.SetStateAction<User | undefined>>;
}>) { }>) {
const [servers, setServers] = useState<[string, string][]>([]); const [servers, setServers] = useState<[string, string][]>([]);
const [newServer, setNewServer] = useState({ name: "", ip: "" }); const [newServer, setNewServer] = useState({ name: "", ip: "" });
@@ -64,6 +66,7 @@ export default function AppSidebar({
useEffect(() => { useEffect(() => {
if (!ip || !user) return; if (!ip || !user) return;
if (setUser) setUser(user);
auth( auth(
makeAddress(ip, 7090), makeAddress(ip, 7090),
wsRef, wsRef,