import { FC, useRef, useState } from "react"; import { CloseCircle, Gallery } from "iconsax-react"; import { useTranslation } from "react-i18next"; import Select from "../../../../components/Select"; import SwitchComponent from "../../../../components/Switch"; import { useGetUsers } from "../../../users/hooks/useUserData"; import { UserItemType } from "../../../users/types/UserTypes"; import WorkspaceColorPicker from "../../workspace/components/WorkspaceColorPicker"; type SelectedUser = { id: string; name: string; }; const BACKGROUND_PRESETS = [ "linear-gradient(45deg, #6a11cb, #2575fc)", "linear-gradient(45deg, #ff00cc, #333399)", "linear-gradient(45deg, #ff0000, #ff8c00)", "linear-gradient(45deg, #3f2b96, #a8c0ff)", "linear-gradient(45deg, #7f7fd5, #91eae4)", "linear-gradient(45deg, #2c3e50, #4ca1af)", "linear-gradient(45deg, #1cb5e0, #000851)", "linear-gradient(45deg, #0052d4, #4364f7)", ] as const; const CreateProjectSidebar: FC = () => { const { t } = useTranslation("global"); const getUsers = useGetUsers(""); const [isActive, setIsActive] = useState(true); const [selectedColor, setSelectedColor] = useState("#A8E6CF"); const [selectedUsers, setSelectedUsers] = useState([]); const [userSelectValue, setUserSelectValue] = useState(""); const [selectedBackground, setSelectedBackground] = useState( BACKGROUND_PRESETS[0], ); const [backgroundImage, setBackgroundImage] = useState(null); const fileInputRef = useRef(null); 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) { setSelectedUsers((prev) => [ ...prev, { id: user.id, name: `${user.firstName} ${user.lastName}` }, ]); } setUserSelectValue(""); }; const handleRemoveUser = (id: string) => { setSelectedUsers((prev) => prev.filter((user) => user.id !== id)); }; const handleBackgroundImageChange = ( event: React.ChangeEvent, ) => { const file = event.target.files?.[0] ?? null; setBackgroundImage(file); }; return (
{t("taskmanager.project_status")}
{isActive ? t("slider.active") : t("slider.inactive")}
); }; export default CreateProjectSidebar;