codestates / codestates/Subllet

[김태형] 2021. 12. 12

Open
#175 0 comments 0 reactions 1 assignee Claimed by @kkangtaeng View on GitHub
Dev-log
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?
- 상세보기 페이지에서 모든 기능을 완료하였고 추가적인 css 작업과 약간의 수정만 하면 모두 완성된다.
- 모두보기 페이지에서 필터링 기능구현을 시도하였다.
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 모두보기 페이지에서 필터링하는 기능이 많이 어려운것 같다.. 알고리즘 푸는 느낌이기도하고.. 한가지 기준만 적용이되면 쉬웠지만 3가지의 기준과 각 기준에서의 항목을 적용하여 필터링하는것이 생각보다 복잡했다...

```js
// 처음 생각한 필터링 구현이다
// 각 기준에서 항목이 있을 때 필터하는 코드이지만 추가적인 보안작업이 필요할듯 하다...
// 추가적으로 각 버튼을 클릭시로 변경 후 기준들을 상태로 저장해서 하는 방향으로 수정예정중이다
const filterServices = (category, price, free) => {
if (category) {
setCategoryName(category.target.textContent);
if (category.target.textContent === "모든 카테고리") {
setFilter(services);
} else {
let filtered = test.filter((service) => {
return service.category === category.target.textContent.toLowerCase();
});
setFilter(filtered);
}
} else if (price) {
setpriceName(price.target.textContent);
if (price.target.textContent === "모든 가격") {
setFilter(services);
} else {
let filtered = services.filter((service) => {
return (
Number(service.Prices[0].price.slice(0, -1)) <=
Number(price.target.textContent)
);
});
setFilter(filtered);
}
} else if (free) {
setfreeName(free.target.textContent);
if (free.target.textContent === "모든 체험") {
setFilter(services);
} else {
let filtered = services.filter((service) => {
if (free.target.textContent === "유") {
return service.demo === true;
} else {
return service.demo === false;
}
});
setFilter(filtered);
}
}
};
```

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [ ] 필터링 기능 완벽 구현하기
- [ ] 상세보기페이지 가격버튼 default값으로 주기!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.