import React, { useMemo, useState } from "react"; import { Avatar, Button, ListItem, View, YGroup } from "tamagui"; import MenuButton from "@/components/ui/menu-button"; import Icons from "@/components/ui/icons"; import SearchInput from "@/components/ui/search-input"; type Props = { members?: any[]; allowWrite?: boolean; }; const MemberList = ({ members, allowWrite }: Props) => { const [search, setSearch] = useState(""); const memberList = useMemo(() => { let items = members || []; if (search) { items = items.filter((item: any) => { const q = search.toLowerCase(); return ( item.user?.name.toLowerCase().includes(q) || item.user?.username.toLowerCase().includes(q) || item.user?.email.toLowerCase().includes(q) ); }); } return items; }, [members, search]); return ( {memberList?.map((member: any) => ( } iconAfter={ allowWrite ? : undefined } /> ))} ); }; type MemberActionButtonProps = { member: any; }; const MemberActionButton = ({ member }: MemberActionButtonProps) => ( } circular bg="$colorTransparent" /> } > }> Change Role }> Remove Member ); export default MemberList;