DM filter fix
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user