import { Button, Checkbox, Dialog, DialogActions, DialogContent, DialogTitle, FormControlLabel, FormGroup, TextField, Typography, } from "@mui/material"; import React, { useState } from "react"; import { useAppSelector } from "../../redux/hooks"; import { selectFavorites } from "../../redux/slices/favoritesSlice"; import { selectTeam, selectUsers } from "../../redux/slices/usersSlice"; import GroupSelect from "../sidebar/GroupSelect"; import { SidebarUserObj } from "./Home"; interface Props { open: boolean; selectedValue: SidebarUserObj; onClose: (value: SidebarUserObj) => void; users: SidebarUserObj[]; } const CallFavouritesDialog: React.FC = ({ open, selectedValue, onClose, users, }: Props) => { const handleClose = () => { onClose(selectedValue); }; console.log(users); const [group, setGroup] = useState("Favorites"); const [inputText, setInputText] = useState(""); const [checkedUuids, setCheckedUuids] = useState([]); const handleCheck = (uuid: string, checked: boolean) => { if (checked) { setCheckedUuids(checkedUuids.concat([uuid])); } else { setCheckedUuids(checkedUuids.filter((id) => id != uuid)); } }; const handleGroupChange = () => { setCheckedUuids([]); }; const favoritesUuids = useAppSelector(selectFavorites); const teamUuids = useAppSelector(selectTeam); const groupMembersUuids: string[] = group === "Favorites" ? favoritesUuids : teamUuids; const groupMembers = useAppSelector((state) => selectUsers(state, groupMembersUuids) ); return ( Select who to call: { setInputText(e.target.value); }} /> {groupMembers .filter((member) => member.name.toLowerCase().includes(inputText.toLowerCase()) ) .map((member) => ( { handleCheck(member.uuid, e.target.checked); }} control={ } /> ))} ); }; export default CallFavouritesDialog;