"use client"; import { useEffect, useRef, useState } from "react"; import MessageBox from "@/components/MessageBox"; import AppSidebar from "@/components/Sidebar"; import Message from "@/types/message"; import useUser, { User } from "@/hooks/get-user"; import { NumberMap } from "@/types/typeUtils"; import auth, { makeAddress } from "@/lib/auth"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { toast } from "sonner"; import ProfilePicture from "@/components/ProfilePicture"; export default function Chat() { const ip = "localhost"; const wsRef = useRef(null); const { user, loading } = useUser(); const [userList, setUserList] = useState>({}); useEffect(() => { if (!ip || !user || loading) return; auth( makeAddress(ip, 7090), wsRef, () => {}, () => {}, (m) => { toast(`New message from ${m.from}`, { description: m.contents.slice(0, 80), }); } ); setUserList((prev) => { prev[user.id] = user; return prev; }); }, [ip, user, loading]); return ( Direct Messages ); } function DMItem({ name, status }: { name: string; status: string }) { return (
{name} {status}
); }