import { useEffect, useState } from 'react'; import { useServerStore } from '../stores/server.ts'; import { useChannelStore } from '../stores/channel.ts'; import { CreateServerModal } from './CreateServerModal.tsx'; import { JoinServerModal } from './JoinServerModal.tsx'; function getInitials(name: string): string { const words = name.trim().split(/\s+/); if (words.length === 1) { return words[0].slice(0, 2).toUpperCase(); } return (words[0][0] + words[words.length - 1][0]).toUpperCase(); } export function ServerBar() { const servers = useServerStore((state) => state.servers); const activeServerId = useServerStore((state) => state.activeServerId); const fetchServers = useServerStore((state) => state.fetchServers); const setActiveServer = useServerStore((state) => state.setActiveServer); const setActiveChannel = useChannelStore((state) => state.setActiveChannel); const [showCreate, setShowCreate] = useState(false); const [showJoin, setShowJoin] = useState(false); useEffect(() => { fetchServers(); }, [fetchServers]); const handleSelect = (id: string) => { setActiveServer(id); setActiveChannel(null); }; return ( <>
{servers.map((server) => ( ))}
{showCreate && setShowCreate(false)} />} {showJoin && setShowJoin(false)} />} ); }