Spaces:
Sleeping
Sleeping
File size: 882 Bytes
35b5bd1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import { Circle, Users } from 'lucide-react';
import type { ChatUser } from '../../shared/chat';
type UserSidebarProps = {
currentUserId: string | null;
users: ChatUser[];
};
export default function UserSidebar({ currentUserId, users }: UserSidebarProps) {
return (
<aside className="user-sidebar">
<div className="sidebar-title">
<Users size={18} />
<span>在线成员</span>
<strong>{users.length}</strong>
</div>
<div className="user-list">
{users.map((user) => (
<div
className={`user-pill ${user.id === currentUserId ? 'current' : ''}`}
key={user.id}
>
<Circle size={10} fill="currentColor" />
<span>{user.nickname}</span>
{user.id === currentUserId ? <em>我</em> : null}
</div>
))}
</div>
</aside>
);
}
|