/** * @file components/members/MemberList.tsx * @description Renders categorized lists of online and offline members with their friendship statuses. */ import { useMemo } from "react"; import { MemberItem } from "@/components/members/MemberItem"; import { User } from "@/db/schema"; /** Props for the MemberList component. */ interface MemberListProps { members: User[]; currentUserId: string; userFriendships: Array<{ senderId: string; receiverId: string; status: string; }>; } /** Renders online and offline community members in distinct sections. */ export function MemberList({ members = [], currentUserId, userFriendships = [], }: MemberListProps) { const { onlineMembers, offlineMembers } = useMemo(() => { return { onlineMembers: members.filter((m) => m.status !== "OFFLINE"), offlineMembers: members.filter((m) => m.status === "OFFLINE"), }; }, [members]); return (
No members online
)}