@@ -5,33 +5,37 @@ import { ProjectsContext } from '../../context/ProjectsContext';
5
5
import ProjectsFilter from './ProjectsFilter' ;
6
6
7
7
const ProjectsGrid = ( ) => {
8
- const { setSearchProject, searchProjectsByTitle } =
9
- useContext ( ProjectsContext ) ;
8
+ const {
9
+ projects,
10
+ searchProject,
11
+ setSearchProject,
12
+ searchProjectsByTitle,
13
+ selectProject,
14
+ setSelectProject,
15
+ selectProjectsByCategory,
16
+ } = useContext ( ProjectsContext ) ;
10
17
11
- // const selectedProject = '';
12
- // const searchProject = '';
13
-
14
- // const filteredProjects = () => {
15
- // if (selectedProject) {
16
- // return filterProjectsByCategory();
17
- // } else if (searchProject) {
18
- // return filterProjectsBySearch();
19
- // }
20
- // return ProjectsData;
21
- // };
22
-
23
- // const filterProjectsByCategory = () => {
24
- // return ProjectsData.filter((item) => {
25
- // let category =
26
- // item.category.charAt(0).toUpperCase() + item.category.slice(1);
27
- // return category.includes(selectedProject);
28
- // });
29
- // };
30
-
31
- // const filterProjectsBySearch = () => {
32
- // let project = new RegExp(searchProject, 'i');
33
- // return ProjectsData.filter((el) => el.title.match(project));
34
- // };
18
+ const projectsResult = ( ) => {
19
+ if ( setSearchProject ) {
20
+ return searchProjectsByTitle . map ( ( project ) => (
21
+ < ProjectSingle
22
+ title = { project . title }
23
+ category = { project . category }
24
+ image = { project . img }
25
+ key = { project . id }
26
+ />
27
+ ) ) ;
28
+ } else if ( setSelectProject ) {
29
+ return selectProjectsByCategory . map ( ( project ) => (
30
+ < ProjectSingle
31
+ title = { project . title }
32
+ category = { project . category }
33
+ image = { project . img }
34
+ key = { project . id }
35
+ />
36
+ ) ) ;
37
+ }
38
+ } ;
35
39
36
40
return (
37
41
< section className = "py-5 sm:py-10 mt-5 sm:mt-10" >
@@ -116,22 +120,40 @@ const ProjectsGrid = () => {
116
120
</ div >
117
121
{ /* <ProjectsFilter @change="selectedProject = $event" /> */ }
118
122
119
- < ProjectsFilter />
123
+ < ProjectsFilter setSelectProject = { setSelectProject } />
120
124
{ /* <p>Filter projects</p> */ }
121
125
</ div >
122
126
</ div >
123
127
{ /* Filter and search projects end */ }
124
128
125
129
{ /* Projects grid start */ }
126
130
< div className = "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 mt-6 sm:gap-10" >
127
- { searchProjectsByTitle . map ( ( project ) => (
128
- < ProjectSingle
129
- title = { project . title }
130
- category = { project . category }
131
- image = { project . img }
132
- key = { project . id }
133
- />
134
- ) ) }
131
+ { selectProject
132
+ ? selectProjectsByCategory . map ( ( project ) => (
133
+ < ProjectSingle
134
+ title = { project . title }
135
+ category = { project . category }
136
+ image = { project . img }
137
+ key = { project . id }
138
+ />
139
+ ) )
140
+ : searchProject
141
+ ? searchProjectsByTitle . map ( ( project ) => (
142
+ < ProjectSingle
143
+ title = { project . title }
144
+ category = { project . category }
145
+ image = { project . img }
146
+ key = { project . id }
147
+ />
148
+ ) )
149
+ : projects . map ( ( project ) => (
150
+ < ProjectSingle
151
+ title = { project . title }
152
+ category = { project . category }
153
+ image = { project . img }
154
+ key = { project . id }
155
+ />
156
+ ) ) }
135
157
</ div >
136
158
{ /* Projects grid end */ }
137
159
</ section >
0 commit comments