import { FC, useState } from "react"; import { CloseCircle } from "iconsax-react"; import { useTranslation } from "react-i18next"; import SwitchComponent from "../../../../components/Switch"; import Select from "../../../../components/Select"; import { useGetUsers } from "../../../users/hooks/useUserData"; import { UserItemType } from "../../../users/types/UserTypes"; import WorkspaceColorPicker from "./WorkspaceColorPicker"; import UserAvatar from "../../components/UserAvatar"; export type SelectedUser = { id: string; name: string; profilePic?: string; }; type Props = { isActive: boolean; onIsActiveChange: (value: boolean) => void; selectedColor: string; onColorChange: (color: string) => void; selectedUsers: SelectedUser[]; onSelectedUsersChange: (users: SelectedUser[]) => void; }; const CreateWorkspaceSidebar: FC = ({ isActive, onIsActiveChange, selectedColor, onColorChange, selectedUsers, onSelectedUsersChange, }) => { const { t } = useTranslation("global"); const getUsers = useGetUsers(""); const [userSelectValue, setUserSelectValue] = useState(""); const userItems = getUsers.data?.data?.users ?.filter( (user: UserItemType) => !selectedUsers.some((selected) => selected.id === user.id), ) .map((user: UserItemType) => ({ label: `${user.firstName} ${user.lastName}`, value: user.id, })) ?? []; const handleUserSelect = (e: React.ChangeEvent) => { const value = e.target.value; if (!value) return; const user = getUsers.data?.data?.users?.find( (item: UserItemType) => item.id === value, ); if (user) { onSelectedUsersChange([ ...selectedUsers, { id: user.id, name: `${user.firstName} ${user.lastName}`, profilePic: user.profilePic, }, ]); } setUserSelectValue(""); }; const handleRemoveUser = (id: string) => { onSelectedUsersChange(selectedUsers.filter((user) => user.id !== id)); }; return (
{t("taskmanager.workspace_status")}
{isActive ? t("slider.active") : t("slider.inactive")}
{t("taskmanager.choose_color")}