/** * @file components/members/MemberList.tsx * @description Renders categorized online and offline member lists. */ import { useMemo } from "react"; import { MemberItem, type Member } from "@/components/members/MemberItem"; /** * Renders categorized lists of online and offline members with user counters. * * @param {Object} props - Component properties. * @param {Member[]} [props.members=[]] - Array of member objects to group and render. * @returns {JSX.Element} The rendered member list container. */ export function MemberList({ members = [] }: { members?: Member[] }) { const { onlineMembers, offlineMembers } = useMemo(() => { return { onlineMembers: members.filter((m) => m.status !== "OFFLINE"), offlineMembers: members.filter((m) => m.status === "OFFLINE"), }; }, [members]); return (
No members online
)}