From 0747cd9440b4b5e845b4ba7b29becaffb89735d5 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Wed, 22 Oct 2025 12:02:59 +0200 Subject: [PATCH] Start new DM --- src/app/chat/StartNewDM.tsx | 56 +++++++++++++++++++++++++++++++++++++ src/app/chat/page.tsx | 6 ++-- 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 src/app/chat/StartNewDM.tsx diff --git a/src/app/chat/StartNewDM.tsx b/src/app/chat/StartNewDM.tsx new file mode 100644 index 0000000..bfdca60 --- /dev/null +++ b/src/app/chat/StartNewDM.tsx @@ -0,0 +1,56 @@ +"use client"; + +import { useState } from "react"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuTrigger, + DropdownMenuItem, +} from "@/components/ui/dropdown-menu"; +import { Input } from "@/components/ui/input"; +import { PlusCircle } from "lucide-react"; +import { UserProfile } from "@/hooks/get-user"; +import { useRouter } from "next/navigation"; +import axios from "axios"; + +export default function StartNewDM() { + const [username, setUsername] = useState(""); + const router = useRouter(); + + const handleStartDM = async () => { + const res = await axios.get("/api/profile", { + params: { username }, + }); + const user = res.data as UserProfile; + router.push(`/chat/${user.id}`); + setUsername(""); + }; + + return ( + + + + + + setUsername(e.target.value)} + autoComplete="off" + spellCheck={false} + autoCorrect="off" + autoCapitalize="none" + /> + + + + + ); +} diff --git a/src/app/chat/page.tsx b/src/app/chat/page.tsx index e4bac80..bd85e54 100644 --- a/src/app/chat/page.tsx +++ b/src/app/chat/page.tsx @@ -19,6 +19,7 @@ import { ChevronRight, } from "lucide-react"; import Link from "next/link"; +import StartNewDM from "./StartNewDM"; export default function ChatHub() { const app = useApp(); @@ -122,10 +123,7 @@ export default function ChatHub() {

Quick Actions

- +