import { Dispatch, useEffect } from "react"; import { Project } from "../Types/goTypes"; import { api } from "../API/API"; /** * Gets all projects that user is a member of * @param props - A setStateAction for the array you want to put projects in * @returns {void} Nothing * @example * const [projects, setProjects] = useState([]); * GetAllUsers({ setProjectsProp: setProjects }); */ function GetProjects(props: { setProjectsProp: Dispatch>; }): void { const setProjects: Dispatch> = props.setProjectsProp; useEffect(() => { const fetchUsers = async (): Promise => { try { const token = localStorage.getItem("accessToken") ?? ""; const response = await api.getUserProjects(token); if (response.success) { setProjects(response.data ?? []); } else { console.error("Failed to fetch projects:", response.message); } } catch (error) { console.error("Error fetching projects:", error); } }; void fetchUsers(); }, [setProjects]); } export default GetProjects;