fix(web): navigate to newly created DM in NewConversationModal
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { useState, useMemo } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useConversationStore } from "../stores/conversation.ts";
|
||||
import { useMemberStore } from "../stores/member.ts";
|
||||
import { useServerStore } from "../stores/server.ts";
|
||||
@@ -11,6 +12,7 @@ interface NewConversationModalProps {
|
||||
export function NewConversationModal({ onClose }: NewConversationModalProps) {
|
||||
const [query, setQuery] = useState("");
|
||||
const [selected, setSelected] = useState<string[]>([]);
|
||||
const navigate = useNavigate();
|
||||
const createConversation = useConversationStore((s) => s.createConversation);
|
||||
const activeServerId = useServerStore((s) => s.activeServerId);
|
||||
const membersByServer = useMemberStore((s) => s.membersByServer);
|
||||
@@ -48,7 +50,14 @@ export function NewConversationModal({ onClose }: NewConversationModalProps) {
|
||||
|
||||
const handleCreate = async () => {
|
||||
if (selected.length === 0) return;
|
||||
await createConversation(selected);
|
||||
try {
|
||||
const conv = await createConversation(selected);
|
||||
if (conv?.id) {
|
||||
navigate(`/dm/${conv.id}`);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("Failed to create conversation:", err);
|
||||
}
|
||||
onClose();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user