diff --git a/web/src/components/NewConversationModal.tsx b/web/src/components/NewConversationModal.tsx index 253e41e..f20d1b5 100644 --- a/web/src/components/NewConversationModal.tsx +++ b/web/src/components/NewConversationModal.tsx @@ -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([]); + 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(); };