Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3팀 이현동] [Chapter 2-2] 디자인 패턴과 함수형 프로그래밍 #11

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
47763f8
:wrench: Chore: prettier 설정
hdlee0619 Jan 13, 2025
b964c32
:sparkles: Feat: 기본과제 통과
hdlee0619 Jan 14, 2025
d18c7b2
- workflow 오타 rename
Jan 16, 2025
20aea45
:truck: Move: 파일 재배치
hdlee0619 Jan 16, 2025
46cf25f
:recycle: Refactor: CartPage 컴포넌트 분리
hdlee0619 Jan 16, 2025
dd7725d
:recycle: Refactor: AdminPage 컴포넌트 분리
hdlee0619 Jan 16, 2025
e94490e
:sparkles: useLocalStorage.ts, storageManager.ts 추가
hdlee0619 Jan 16, 2025
bbce853
:test_tube: AddTest: useLocalStorage, storageManager 테스트코드 추가
hdlee0619 Jan 16, 2025
6cc8118
:sparkles: Feat: useCart에 useLocalStorage Hook 적용
hdlee0619 Jan 16, 2025
aba8d62
:white_check_mark: Test: basic 테스트 통과
hdlee0619 Jan 16, 2025
8e4e842
:recycle: Refactor: ProductManagement에서 AddProductForm,EditProductFor…
hdlee0619 Jan 16, 2025
0bebf18
:recycle: Refactor: CouponManagement에서 CouponList, AddCouponForm 분리
hdlee0619 Jan 16, 2025
ba7cf6c
:sparkles: Feat: useForm Hook 추가
hdlee0619 Jan 16, 2025
440f8ea
:test_tube: AddTest: useForm Test 코드 추가
hdlee0619 Jan 16, 2025
4f3adae
:sparkles: Feat: Product, Coupon Form에 useForm Hook 적용
hdlee0619 Jan 16, 2025
245c228
:test_tube: UpdateTest: console 삭제
hdlee0619 Jan 16, 2025
e612e86
:sparkles: Feat: formatCurrency 유틸함수 추가
hdlee0619 Jan 16, 2025
39e7f90
:test_tube: AddTest: formatCurrency 테스트 추가
hdlee0619 Jan 16, 2025
814a3c0
:sparkles: Feat: formatCurrency 함수 적용
hdlee0619 Jan 16, 2025
bddff33
:sparkles: Feat: useProductSearch 훅 추가
hdlee0619 Jan 16, 2025
b551dc7
:test_tube: AddTest: useProductSearch hook 테스트 추가
hdlee0619 Jan 16, 2025
e51dc30
:sparkles: Feat: CartPage useProductSearch 적용
hdlee0619 Jan 16, 2025
d5dbe72
:art: Style: 코드 스타일 수정
hdlee0619 Jan 16, 2025
5330e85
:sparkles: Feat: debounce 함수 추가
hdlee0619 Jan 16, 2025
0d12a28
:test_tube: AddTest: debounce 함수 테스트 추가
hdlee0619 Jan 16, 2025
727c0b1
:sparkles: Feat: useProductSearch debounce 함수 적용
hdlee0619 Jan 16, 2025
00c8918
:white_check_mark: PassTest: useProductSearch Hook 수정
hdlee0619 Jan 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
✨ Feat: useProductSearch 훅 추가
- 상품 검색 훅
  • Loading branch information
hdlee0619 committed Jan 16, 2025
commit bddff331b70ad9369314cf9bc4ca0d2d3ff20578
17 changes: 17 additions & 0 deletions src/refactoring/hooks/useProductSearch.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { Product } from "../../types.ts";
import { useState } from "react";
import type { ChangeEvent } from "react";

export const useProductSearch = (products: Product[]) => {
const [word, setWord] = useState("");

const handleSearch = (e: ChangeEvent<HTMLInputElement>) => {
setWord(e.target.value);
};

const filteredProducts = products.filter((product) =>
product.name.toLowerCase().includes(word.toLowerCase()),
);

return { handleSearch, filteredProducts };
};