import React, { useEffect } from "react"; import { Card, CardContent, Grid, IconButton, InputAdornment, Stack, TextField, Typography, } from "@mui/material"; import { useTranslation } from "react-i18next"; import { Clear, Search } from "@mui/icons-material"; import ProjectGrid from "./ProjectGrid"; import { Props as UserWorkspaceProps } from "./UserWorkspacePage"; interface Props { assignedProjects: UserWorkspaceProps["assignedProjects"]; maintainNormalStaffWorkspaceAbility?: boolean; maintainManagementStaffWorkspaceAbility?: boolean; } const AssignedProjects: React.FC = ({ assignedProjects, maintainNormalStaffWorkspaceAbility, maintainManagementStaffWorkspaceAbility }) => { const { t } = useTranslation("home"); // Projects const [filteredProjects, setFilterProjects] = React.useState(assignedProjects); // Query related const [query, setQuery] = React.useState(""); const onQueryInputChange = React.useCallback< React.ChangeEventHandler >((e) => { setQuery(e.target.value); }, []); const clearQueryInput = React.useCallback(() => { setQuery(""); }, []); useEffect(() => { setFilterProjects( assignedProjects.filter( (p) => p.code.toLowerCase().includes(query.toLowerCase()) || p.name.toLowerCase().includes(query.toLowerCase()), ), ); }, [assignedProjects, query]); return ( <> {t("Assigned Projects")} ), }} /> ); }; export default AssignedProjects;