/
DevMaster
/
my_cv
Обзор
Документация
Войти
/
DevMaster
/
my_cv
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/context/ProjectsContext.jsx
57 строк
2 KB
hubol01
add projects v1.0
14 окт 2024, 14:56
14 окт 2024, 14:56
3018ae5
Код
Авторство
О чём код?
import { useState, createContext } from "react"; import { projectsData } from "../data/projects"; // Create projects context export const ProjectsContext = createContext(); // Create the projects context provider export const ProjectsProvider = (props) => { const [projects, setProjects] = useState(projectsData); const [searchProject, setSearchProject] = useState(""); const [selectProject, setSelectProject] = useState(""); // Search projects by project title const searchProjectsByTitle = projects.filter((item) => { const result = item.title .toLowerCase() .includes(searchProject.toLowerCase()) ? item : searchProject === "" ? item : ""; return result; }); // Select projects by project category // const selectProjectsByCategory = projects.filter((item) => { // let category = // item.category.charAt(0).toUpperCase() + item.category.slice(1); // return category.includes(selectProject); // }); // Select projects by project category const selectProjectsByCategory = projects.filter((item) => { if (!item.category) { return false; } let category = item.category.charAt(0).toUpperCase() + item.category.slice(1); return category.includes(selectProject); }); return ( <ProjectsContext.Provider value={{ projects, setProjects, searchProject, setSearchProject, searchProjectsByTitle, selectProject, setSelectProject, selectProjectsByCategory, }} > {props.children} </ProjectsContext.Provider> ); };