"use client"; import { useEffect, useRef, useState } from "react"; import { useParams } from "next/navigation"; import MessageBox from "@/components/MessageBox"; import AppSidebar from "@/components/Sidebar"; import { Message, Server as ServerType } from "@/types/types"; import { UserProfile } from "@/hooks/get-user"; import { StringMap } from "@/types/typeUtils"; import auth from "@/lib/auth"; export default function Server() { const { ip } = useParams<{ ip: string }>(); const wsServerRef = useRef(null); const wsNodeRef = useRef(null); const [server, setServer] = useState(); const [messages, setMessages] = useState([]); const [userList, setUserList] = useState>({}); useEffect(() => { if (!ip) return; auth(ip, wsServerRef, setServer, setMessages, (m) => { setMessages((prev) => [...prev, m]); }); }, [ip]); return ( m.channel_id === "general") .toReversed()} sendMessage={(message) => { wsServerRef.current?.send( JSON.stringify({ type: "send_message", params: { channel_id: "general", contents: message, }, }) ); }} /> ); }