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

[페이먼츠 미션 Step 2] 아커(전증훈) 미션 제출합니다. #253

Merged
merged 62 commits into from
May 5, 2023
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
8182f36
docs: step2 기능 요구 사항 추가
jeonjeunghoon Apr 25, 2023
ecf4fb0
refactor: 페이지 레이아웃 조정
jeonjeunghoon Apr 26, 2023
27f4e9b
build: webpack 파일 수정
jeonjeunghoon Apr 26, 2023
baa1757
refactor: CSS 수정
jeonjeunghoon Apr 26, 2023
02b4431
refactor: 파일 구조 수정
jeonjeunghoon Apr 26, 2023
12ea9c0
feat: cardInfoList Context hook으로 관리하게 수정
jeonjeunghoon Apr 26, 2023
933038d
feat: CardInfoList 상태 local storage에 저장하는 기능 구현
jeonjeunghoon Apr 26, 2023
ec14a11
feat: Header hook 분리
jeonjeunghoon Apr 26, 2023
40cc64c
refactor: custom hook으로 분리
jeonjeunghoon Apr 26, 2023
583c7f2
chore: 실수 수정
jeonjeunghoon Apr 26, 2023
207ca67
refactor: 레이아웃 수정
jeonjeunghoon Apr 26, 2023
5f85030
fix: local Storage 데이터 지워도 남아있는 오류 수정
jeonjeunghoon Apr 27, 2023
66b986b
refactor: 레이아웃 수정
jeonjeunghoon Apr 27, 2023
eeaaedc
docs: 기능 요구 사항 수정
jeonjeunghoon Apr 27, 2023
f320209
refactor: 모달 구현 및 레이아웃 수정
jeonjeunghoon Apr 27, 2023
c1276d3
refactor: 레이아웃 수정
jeonjeunghoon Apr 27, 2023
0671cf9
refactor: 상수 수정
jeonjeunghoon Apr 27, 2023
95e0f99
feat: 모달에 컨텐츠 렌더링 기능 구현
jeonjeunghoon Apr 27, 2023
8258114
fix: 같은 이미지만 렌더링 되는 문제 해결
jeonjeunghoon Apr 27, 2023
f22bb3a
feat: 카드사 선택하면 카드사에 맞게 CardPreview 렌더링
jeonjeunghoon Apr 27, 2023
9746ada
refactor: css 수정
jeonjeunghoon Apr 27, 2023
970027b
feat: 별칭 페이지로 넘어가는 기능 구현
jeonjeunghoon Apr 27, 2023
b1ce17f
feat: 카드 별칭 기능 구현
jeonjeunghoon Apr 27, 2023
fef8271
feat: 카드 등록하다 뒤로가기 하면 데이터 지워지게 수정
jeonjeunghoon Apr 27, 2023
cda73d6
fix: 모달창 존재할 때, 포커싱 문제 해결
jeonjeunghoon Apr 27, 2023
012ad8e
refactor: CardAliasPage 커스텀훅으로 정리
jeonjeunghoon Apr 27, 2023
b37e252
refactor: CardAliasPage 스타일 수정
jeonjeunghoon Apr 27, 2023
256bae7
refactor: hook 정리
jeonjeunghoon Apr 27, 2023
8cf78b7
test: test-library 설치
jeonjeunghoon Apr 28, 2023
b2fec4d
fix: 잘못된 Hook 사용 수정
jeonjeunghoon Apr 28, 2023
ca4d625
fix: 잘못 설계된 hook 수정 및 사용 수정
jeonjeunghoon Apr 28, 2023
4bceb66
feat: 별칭 수정 기능 구현
jeonjeunghoon Apr 28, 2023
86b9d9a
CVC/CVV 툴팁 구현
jeonjeunghoon Apr 28, 2023
73dfb72
fix: 중복 key 수정
jeonjeunghoon Apr 28, 2023
97d46e9
feat: input에 autoComplete 속성 추가
jeonjeunghoon Apr 28, 2023
c38c1a7
refactor: useCardAliasPage 훅 분리
jeonjeunghoon Apr 28, 2023
ccaf024
refactor: 모바일 환경 뷰포트 조정
jeonjeunghoon Apr 28, 2023
4408be7
docs: 기능 목록 문서 수정
jeonjeunghoon May 2, 2023
36a32d9
fix: 버튼 위치 페이지 벗어나지 않게 수정
jeonjeunghoon May 2, 2023
b754cf8
fix: IOS 모바일 환경 뷰포트 수정
jeonjeunghoon May 2, 2023
d24cc97
fix: IOS 모바일 환경 뷰포트 설정
jeonjeunghoon May 2, 2023
6100006
fix: IOS 모바일 환경 뷰포트 설정
jeonjeunghoon May 2, 2023
4fdb79a
feat: 카드사 선택 자유도 높이도록 UX 수정
jeonjeunghoon May 2, 2023
618dcbc
refactor: 컴포넌트 이름 뒤에 접미사 추가
jeonjeunghoon May 3, 2023
d8078e1
refactor: CompanyLogoItem에 onClick 핸들러를 넘기는 방식으로 수정
jeonjeunghoon May 3, 2023
97e140b
refactor: CompanyLogoItem 타입 선언 위치 수정
jeonjeunghoon May 3, 2023
d848a64
refactor: CompanyLogoList map 콜백 함수 수정
jeonjeunghoon May 3, 2023
3393b68
refactor: CardListBox 피드백 관련 리팩터링
jeonjeunghoon May 3, 2023
7fcdfe4
refactor: 카드 별칭 페이지 history 문제 수정
jeonjeunghoon May 3, 2023
0188dbb
refactor: useInputBox 제거
jeonjeunghoon May 3, 2023
88b031f
refactor: useTitle 제거
jeonjeunghoon May 3, 2023
bcb5b62
refactor: PageLayout 컴포넌트 추가로 구조 수정
jeonjeunghoon May 3, 2023
c1b5cc7
fix: useEffect 종속성 배열 요소 추가
jeonjeunghoon May 3, 2023
2d8a81f
fix: RegisterForm div -> form 수정
jeonjeunghoon May 3, 2023
b921b22
fix: 페이지 이동되지 않는 현상 수정
jeonjeunghoon May 3, 2023
c0f8a91
feat: font 컬러 생성 함수 구현
jeonjeunghoon May 3, 2023
d0df2c1
refactor: 사용하지 않는 hook 정리
jeonjeunghoon May 3, 2023
5266ed3
refactor: 이벤트 핸들러 이름 구체적으로 수정
jeonjeunghoon May 3, 2023
3623390
refactor: NicknamePage 쓸모 없는 state 제거
jeonjeunghoon May 3, 2023
ac01702
feat: inputmode 추가
jeonjeunghoon May 3, 2023
75b97a4
refactor: 카드 등록 페이지 레이아웃 수정
jeonjeunghoon May 3, 2023
5cfc10e
refactor: NicknamePage 레이아웃 수정
jeonjeunghoon May 3, 2023
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
2 changes: 1 addition & 1 deletion .github/workflows/webpack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: NodeJS with Webpack

on:
push:
branches: ['step1']
branches: ['step2']

jobs:
deploy:
Expand Down
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"printWidth": 120,
"printWidth": 100,
"singleQuote": true,
"semi": true,
"trailingComma": "es5",
Expand Down
61 changes: 18 additions & 43 deletions docs/REQUIREMENTS.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,20 @@
# 기능 요구 사항

## 페이지

### 보유 카드 페이지

- [ ] 새로운 카드 등록 버튼을 누른다
- [ ] 사용자가 등록한 카드를 볼 수 있다

### 카드 추가 페이지

- [ ] 이전 페이지로 이동할 수 있다
- [ ] 등록 버튼을 누를 수 있다
- [ ] 카드 번호를 입력할 수 있다
- [x] 숫자만 입력할 수 있다
- [ ] 16개의 숫자를 입력하면 다음 만료일 Input으로 focus된다
- [ ] 4개의 숫자 입력마다 - 가 추가된다
- [ ] PreCardView를 업데이트 한다
- [ ] 만료일을 입력할 수 있다
- [x] 숫자만 입력할 수 있다
- [ ] 4개의 숫자를 입력하면 다음 카드 소유자 이름 Input으로 focus된다
- [ ] PreCardView를 업데이트 한다
- [ ] 2개의 숫자를 입력하면 / 가 추가된다
- [x] YY는 이번연도부터 가능
- [x] MM에는 01~12까지의 값만 들어갈 수 있다
- [x] YY가 이번연도일 경우, MM은 이번달부터 가능
- [ ] 카드 소유자 이름을 입력할 수 있다
- [x] 영어와 공백만 입력할 수 있다
- [x] 0글자 이상~30글자 이하까지만 입력이 가능하다
- [ ] 보안 코드를 입력할 수 있다
- [x] 숫자만 입력할 수 있다
- [ ] 3개의 숫자를 입력하면 카드 비밀번호 Input으로 focus된다
- [ ] 카드 비밀번호를 입력할 수 있다
- [x] 숫자만 입력할 수 있다
- [ ] 숫자를 입력하면 다음 비밀번호 Input으로 focus된다

## 공통 기능 목록

- [x] 숫자만 입력할 수 있다
- [ ] n개의 숫자 입력마다 어떤 문자가 추가된다
- [ ] 다음 Input으로 focus된다

## 기술 스택

styled-components (css)
- [ ] 스토리북 상호작용 테스트하기
- [x] Custom Hooks로 리팩토링하기
- [x] 카드 등록 버튼은 맨 아래에 위치한다.
- [x] CVC/CVV 툴팁
- [x] CardInfoList 상태를 Context API를 활용해 전역적으로 관리한다.
- [x] CardInfoList를 로컬 스토리지에 저장하여 페이지를 벗어나도 데이터가 남아 있어야 한다.
- [x] 카드 등록 페이지로 들어가면, 등록할 카드의 회사를 선택할 수 있다.
- [x] 카드 등록 페이지에서는 바텀 시트가 렌더링된다.
- [x] 바텀 시트에서 특정 카드 회사를 클릭하면, 회사 정보 state들이 저장된다.
- [x] 카드사 이름
- [x] 카드사 테마 컬러
- [x] 카드사가 선택되면, CardPreview는 카드사의 테마에 맞춰 디자인된다.
- [x] 카드 등록 페이지에서 다음 버튼을 누르면 별칭 설정 페이지로 이동한다.
- [x] 별칭 설정 페이지에서 카드 별칭을 설정할 수 있다.
- [x] 별칭 설정 페이지에서 별칭을 등록하면, CardInfoList의 마지막 요소에 별칭 state로 추가된다.
- [x] 카드 별칭은 보유 카드 페이지에서 확인할 수 있다.
- [x] 보유카드를 선택하면, 별칭 설정 페이지로 이동한다.
- [x] 별칭을 수정할 수 있다.
Loading