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

feat: 행동대장 v1.0.1 #529

Merged
merged 229 commits into from
Aug 23, 2024
Merged
Changes from 1 commit
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
e9e2a24
chore: webpack, react, typescript 환경 설정
Todari Jul 11, 2024
dff70d7
chore: eslint, prettier 설정
Todari Jul 11, 2024
29a0a46
docs: pr 템플릿 및 issue 템플릿 세팅
Todari Jul 11, 2024
4ac4d93
docs: issue 템플릿에 타이틀과 관련된 부가 정보 추가
Todari Jul 11, 2024
c4a8dc1
chore: 모든 install 에 legacy-peer-deps를 사용하도록 설정
pakxe Jul 15, 2024
404c8c5
chore: emotion css props 사용 예제 작성
pakxe Jul 15, 2024
6eb4bb5
chore: webpack, @emotion/react 라이브러리 설치
pakxe Jul 15, 2024
32f623a
chore: css props를 사용하기 위해 'jsxImportSource' 옵션 설정
pakxe Jul 15, 2024
a8515a5
chore: css props 사용 위해 모든 파일 최상단에 주석을 자동으로 작성해주도록 플러그인 세팅
pakxe Jul 15, 2024
80c352f
chore: 개발서버 포트번호 3001 -> 3000 으로 수정
pakxe Jul 15, 2024
c7cae03
chore: prettier에서 useTabs를 사용하지 않도록 제거
pakxe Jul 15, 2024
288718b
chore: 여러 명이 co-authored-by로 들어갈 수 있는지 테스트 커밋
pakxe Jul 15, 2024
5fe7696
chore: 임시로 지웠던 types 옵션을 다시 활성화
pakxe Jul 15, 2024
748656c
chore: 기본 webpack 설정
soi-ha Jul 15, 2024
3d70443
feat: theme, token 구현
soi-ha Jul 15, 2024
9cf6fd5
chore: storybook 설정
soi-ha Jul 15, 2024
94b04b7
feat: Button 구현
soi-ha Jul 15, 2024
f85d43a
feat: Text 구현
soi-ha Jul 15, 2024
4852189
fix: webpack 설정 entry 파일 확장자 tsx에서 ts로 변경
soi-ha Jul 15, 2024
92ac1fd
chore: modify-source-webpack-plugin 의존성 반영되지 않은 것 추가
jinhokim98 Jul 15, 2024
3add0c8
chore: css파일을 처리하기 위한 webpack 세팅
jinhokim98 Jul 15, 2024
5172f23
design: 기본 css style 초기화 작업
jinhokim98 Jul 15, 2024
725fa31
feat: 메인 페이지 퍼블리싱
jinhokim98 Jul 15, 2024
00d75e4
feat: 이벤트 생성 페이지 퍼블리싱
jinhokim98 Jul 15, 2024
b287a34
feat: 이벤트 생성 완료 페이지 퍼블리싱
jinhokim98 Jul 15, 2024
367db23
design: 전역 스타일링 설정
jinhokim98 Jul 15, 2024
6b2c45a
feat: 라우터 셋팅
jinhokim98 Jul 15, 2024
fb6b094
feat: 앱의 진입점 설정
jinhokim98 Jul 15, 2024
e102d59
feat: 라우트 경로 설정
jinhokim98 Jul 15, 2024
3d4a4b9
fix: 라우트 이동 시 페이지가 제대로 보이지 않던 문제 해결
jinhokim98 Jul 15, 2024
74378e6
feat: 모달 컴포넌트 생성
jinhokim98 Jul 15, 2024
c3e7e64
feat: 스위치 컴포넌트 생성
jinhokim98 Jul 15, 2024
af02b4e
feat: 초기인원 세팅 기능 퍼블리싱 및 구현
jinhokim98 Jul 15, 2024
64192d0
feat: 행동 추가를 위한 모달 컨텐츠 구현
jinhokim98 Jul 15, 2024
5ebfab3
feat: 지출 내역 관리 기능구현
jinhokim98 Jul 15, 2024
077c88b
feat: 인원 관리 기능구현
jinhokim98 Jul 15, 2024
82b8743
feat: 행사관리 페이지 퍼블리싱 및 구현
jinhokim98 Jul 15, 2024
e8adc5b
feat: 해커톤 로그 출력을 위한 임시처리
jinhokim98 Jul 17, 2024
b25a7a8
feat: 프로젝트 초기 설정
kunsanglee Jul 18, 2024
f5483bf
feat: 엔티티 추가
kunsanglee Jul 18, 2024
54fb77d
refactor: gitignore 수정
kunsanglee Jul 18, 2024
e360386
refactor: 엔티티 컬럼명 변경
kunsanglee Jul 18, 2024
f9de259
chore: path alias 설정 및 lint 마이그레이션
soi-ha Jul 18, 2024
3b41054
Merge pull request #40 from woowacourse-teams/feature/#24
kunsanglee Jul 18, 2024
f043fa0
[FE] 해커톤 범위 디자인시스템 구현 (#36)
Todari Jul 18, 2024
e6fe894
feat: CI/CD 파이프라인 구축 (#42)
Arachneee Jul 18, 2024
bd1b976
feat: 행사 생성 기능 구현
kunsanglee Jul 18, 2024
8917865
feat: 지출 내역 추가 기능 구현
Arachneee Jul 18, 2024
9d6aa7b
refactor: event의 마지막 action 순서 조회 로직 수정
khabh Jul 19, 2024
75ee013
refactor: BillAction fetch type 수정
khabh Jul 19, 2024
ba22020
test: 불필요한 mocking 제거
khabh Jul 19, 2024
5ec0c4c
refactor: 중요도에 따라 필드 순서 변경
khabh Jul 19, 2024
ced5660
fix: BillAction 저장 Dto 검증 추가
khabh Jul 19, 2024
3d09f45
[FE] 디자인 시스템 수정 (#46)
Todari Jul 19, 2024
9c22e47
refactor: BillAction 검증 로직 수정
khabh Jul 19, 2024
24ef6e4
refactor: 지출 내역 추가 로직 수정
Arachneee Jul 19, 2024
ef63c60
feat: BillAction과 Action cascade 옵션과 orphanRemoval 옵션 변경
Arachneee Jul 20, 2024
fd926b6
test: event save 로직 분리
Arachneee Jul 20, 2024
926ef40
test: DisplayName 변경
Arachneee Jul 20, 2024
507676e
test: 경계값 테스트로 변경
Arachneee Jul 20, 2024
a91426a
test: 지출 내역 생성 테스트 수정
khabh Jul 21, 2024
2b5345d
feat: PR 후 테스트 리포트 발행 기능 추가 (#56)
Arachneee Jul 21, 2024
e489d82
test: 미사용 test class 제거
Arachneee Jul 21, 2024
ad8f78d
Merge pull request #45 from woowacourse-teams/feature/#16
kunsanglee Jul 21, 2024
7dc4e8f
[BE] 인원 변동 기능 구현 (#47)
3Juhwan Jul 21, 2024
22e4af8
[BE] 패키지 구조 변경 (#62)
3Juhwan Jul 22, 2024
e9ceb0f
feat: api wrapping 객체 생성 (#68)
Todari Jul 22, 2024
784745e
[FE] @svgr/webpack 플러그인 설치
soi-ha Jul 23, 2024
880833a
feat: 행사 정보 조회 기능 구현 (#75)
3Juhwan Jul 23, 2024
ac916e8
[BE] 설정 파일 서브 모듈 생성 (#82)
3Juhwan Jul 23, 2024
8665f7a
[BE] 요청 데이터가 맵핑되지 않는 문제 해결 (#86)
3Juhwan Jul 23, 2024
22c1ab7
feat: 현재 참여 인원 조회 기능 구현 (#70)
Arachneee Jul 24, 2024
4586192
design: 탭 컴포넌트 height 소수점 문제 (#51)
jinhokim98 Jul 24, 2024
165618a
chore: 배포, CI 및 테스트 전략 수립 #32
Todari Jul 24, 2024
ce65a4c
feat: 행사 생성 페이지 구현 (#87)
Todari Jul 24, 2024
1be9c4e
feat: 행사 홈 페이지 구현 (#88)
pakxe Jul 24, 2024
fc4138c
feat: 현재 참여자 검색 component 생성 (#78)
jinhokim98 Jul 24, 2024
20519e7
feat: CORS 설정 (#90)
Arachneee Jul 24, 2024
cf90b45
feat: 행사 커스텀 예외 처리 (#92)
Arachneee Jul 24, 2024
a6e9ea2
feat: 참여자별 정산 현황 조회 기능 구현 (#77)
Arachneee Jul 24, 2024
8ed9900
feat: api 명세에서 행사 url을 표현하는 용어와 전달 방식 수정 (#98)
3Juhwan Jul 24, 2024
2eaeb4b
feat: 기본 프로파일에서 DB를 MySQL을 H2로 변경 (#102)
3Juhwan Jul 24, 2024
2248e9d
refactor: 지출 내역 생성 및 현재 참여 인원 조회 예외 메시지 변경 (#100)
Arachneee Jul 25, 2024
2610de8
refactor: 참여자별 정산 현황 조회 예외 메시지 변경 (#106)
khabh Jul 25, 2024
3e2c5b0
refactor: 행사 생성 API 예외 메세지 및 DTO 검증 애너테이션 추가 (#103)
kunsanglee Jul 25, 2024
7b92958
feat: 행사 관리 페이지 구현 (#107)
soi-ha Jul 25, 2024
c85f71e
fix: 예외에서 정의한 메세지를 꺼내지 못하는 오류 해결 (#111)
kunsanglee Jul 25, 2024
97bd3e6
feat: 퍼블리싱된 페이지 매끄럽게 연결 (#114)
soi-ha Jul 25, 2024
3cb6872
refactor: 인원 변동 요청 형태 변경 (#117)
Arachneee Jul 25, 2024
d943520
feat: 액션 이력 조회 기능 구현 (#76)
kunsanglee Jul 25, 2024
74de2a6
chore: frontend yml lint 과정 수정 (#120)
Todari Jul 25, 2024
b9870ed
fix: 액션 이력이 없는 경우 빈 리스트 반환 (#122)
kunsanglee Jul 25, 2024
ff2632d
fix: 액션 이력 조회 오류 수정 (#124)
kunsanglee Jul 25, 2024
6be91da
fix: StepResponse 로직 수정 (#126)
kunsanglee Jul 25, 2024
38a28f7
test: Gradle, Docker 캐싱을 위한 Feature/#121 test (#128)
kunsanglee Jul 26, 2024
1d2e71a
test: Gardle, Docker 캐싱을 위한 Feature/#121 test2 (#130)
kunsanglee Jul 26, 2024
8838844
revert: gradle cache, docker cache (#133)
3Juhwan Jul 26, 2024
b0f0ffa
refactor: 애플리케이션 도커 포트 번호 수정 (#134)
3Juhwan Jul 26, 2024
d056d28
refactor: Docker 빌드 성능 개선 (#138)
kunsanglee Jul 26, 2024
14be9b3
refactor: 참여자 정산 현황 로직 리펙토링 (#110)
Arachneee Jul 26, 2024
8977466
chore: storybook chromatic 배포 (#81)
Todari Jul 27, 2024
e443f3b
feat: 2차 스프린트 API 연결 (#137)
soi-ha Jul 27, 2024
4d8697a
refactor: 도커 계정 관련 정보 secrets으로 수정 (#139)
khabh Jul 28, 2024
ee1030c
feat: 2차 스프린트 디자인 시스템 수정 (#83)
jinhokim98 Jul 29, 2024
3b5e73d
chore: server directory 복구 (#150)
jinhokim98 Jul 29, 2024
4675795
fix: gradlew 권한 버그 수정 (#152)
Arachneee Jul 29, 2024
36c6f60
remove: 서버 코드 삭제
3Juhwan Jul 30, 2024
60ea18b
[FE] 스프린트3 디자인 수정 (#162)
soi-ha Jul 30, 2024
5229370
chore: branch 변경에 따른 yml 파일 수정 (#165)
Todari Jul 30, 2024
fcb1efd
fix: 스토리북 워크플로우 오류 (#168)
pakxe Jul 31, 2024
1460d1e
feat: 토스트 생성 (#166)
jinhokim98 Aug 2, 2024
8a1ffbb
fix: client 디렉토리 reset, 전역 스타일 GlobalStyle을 사용하는 것으로 변경 (#173)
jinhokim98 Aug 4, 2024
e3e4151
design: Button이 disabled일 때 커서가 포인터가 아니도록 수정 (#171)
pakxe Aug 4, 2024
a5663fa
feat: Input 컴포넌트 관련한 기능 수정, useDynamic-* 훅 관련 오류 수정, 네이밍 통일, 의미를 명확하게…
pakxe Aug 4, 2024
94d1404
feat: 변경된 API endpoint로 수정 (#196)
soi-ha Aug 5, 2024
e55f7b6
feat: 디자인시스템 hover, mouse, transition animation (#198)
Todari Aug 5, 2024
4b6a972
[FE] ListButton component 생성 (#203)
Todari Aug 5, 2024
4b836ea
feat: 개별 ActionItem 컨트롤을 위한 StepItem 및 BillItem / InOutItem component…
Todari Aug 7, 2024
c8d8c17
feat: 삭제 아이콘을 위한 IconButton component 수정 (#209)
Todari Aug 7, 2024
9336798
feat: 멤버 액션 삭제 기능 구현 + 바뀐 디자인시스템 적용 (#214)
jinhokim98 Aug 7, 2024
241cdce
fix: FixedButton의 delete button type "button"으로 변경 (#234)
Todari Aug 8, 2024
bfbce95
feat: 행사생성 flow에서 admin 접근을 위한 비밀번호를 입력받는 기능 추가 (#226)
Todari Aug 8, 2024
03d370b
feat: 지출 액션 수정, 삭제 기능 구현 (#230)
jinhokim98 Aug 8, 2024
8153601
feat: 전체 참여자 BottomSheet 내부 디자인 퍼블리싱 (#228)
soi-ha Aug 8, 2024
5a73742
feat: api에러 등의 에러를 잡아 핸들링 (#232)
pakxe Aug 8, 2024
d40e946
chore: 빌드 환경 prod와 dev로 구분 (#217)
Todari Aug 8, 2024
335b5de
fix: merge를 통해 발생한 에러 해결 (#246)
soi-ha Aug 8, 2024
81503cc
fix: input value 수정이 되지 않는 문제 (#253)
jinhokim98 Aug 8, 2024
2ac2efa
fix: useToast 에러바운더리 문제 해결 (#264)
jinhokim98 Aug 8, 2024
b47e080
fix: 디자인시스템 Text 컴포넌트 color prop 받도록 변경 (#257)
Todari Aug 8, 2024
66c1d22
fix: 디자인시스템 Input value 동기화 오류 수정 (#266)
Todari Aug 8, 2024
c5eb658
fix: 행동디자인 Search 컴포넌트 기능 제거 (#260)
jinhokim98 Aug 8, 2024
255ed4f
feat: 행사 생성 완료 페이지 유저 친화적으로 변경 (#271)
Todari Aug 8, 2024
9968cb8
feat: 인원 탈주 시 인원 검색 기능 구현 (#270)
jinhokim98 Aug 8, 2024
09a204c
feat: 전체 참여자 데이터 요청하고 출력하기 (#250)
soi-ha Aug 8, 2024
03117e8
feat: 전체 참여자 이름 수정 및 삭제 (#276)
soi-ha Aug 8, 2024
cd6e6c8
feat: sentry 적용 (#262)
pakxe Aug 8, 2024
ff951e5
feat: 3차 데모데이 merge 중 발생한 문제 수정 (#280)
pakxe Aug 8, 2024
a393fb8
feat: requestPost에 대해 response가 있는 post와 없는 post로 분기해 사용하도록함 (#281)
pakxe Aug 8, 2024
f5df738
feat: 홈에서 액션 수정 삭제 바텀시트 활성화 버그 (#285)
jinhokim98 Aug 9, 2024
80c8983
feat: cookie가 없는 경우 비밀번호 입력 페이지로 이동 (#286)
Todari Aug 9, 2024
c2dde5d
feat: 데모데이를 위해 페이지 약간 수정 (#289)
pakxe Aug 9, 2024
eb286ba
fix: import 가 안되어있는 부분 수정 (#293)
pakxe Aug 9, 2024
cf6e223
fix: 인원 탈주 검색 인풋 오류 (#299)
jinhokim98 Aug 12, 2024
c372661
chore: hooks폴더 구조 정리 (#312)
pakxe Aug 12, 2024
5362587
feat: 전체 참여자 수정 및 삭제 수정 (#315)
soi-ha Aug 12, 2024
9a74f39
feat: 차수 멤버 확인, useFetch 확장, BottomSheet 활성화 수정 (#311)
jinhokim98 Aug 12, 2024
599d921
feat: 참여 인원 확인 임시 버튼 삭제 (#318)
jinhokim98 Aug 12, 2024
97f354a
feat: bottomSheet maxWidth 768px 되도록 변경 (#321)
Todari Aug 13, 2024
61e9d9d
feat: 메인, 관리 페이지 설명 글 수정 (#324)
jinhokim98 Aug 13, 2024
9b61b34
fix: useDynamicInput 버그 수정 (#327)
soi-ha Aug 13, 2024
e47972a
feat: 홈 및 관리 페이지에서 링크 복사 기능 추가 (#329)
Todari Aug 13, 2024
eb5d9ce
feat: pr issue close workflow 생성 (#328)
Arachneee Aug 13, 2024
f3f05f6
test: cypress 적용 및 행사 생성 flow e2e 테스트 작성 (#331)
Todari Aug 14, 2024
6894c08
fix: 토큰이 없을 때, 관리페이지로 이동하면 오류가 발생하는 부분 수정 (#338)
Todari Aug 14, 2024
f516a03
fix: 인원 탈주 추가 시 disable 버그 (#339)
jinhokim98 Aug 14, 2024
b01cb3a
feat: Sentry prod 환경에서만 돌아가도록 fetcher 설정 (#343)
jinhokim98 Aug 16, 2024
08c60bd
feat: 환경 변수 타입 선언 (#345)
jinhokim98 Aug 16, 2024
364bcd8
feat: useDeleteMemberAction 토스트 함수 결합도 제거 (#347)
jinhokim98 Aug 16, 2024
ae6ce80
feat: 사용성 개선 - Title component 변경 및 UX writing 수정 (#352)
Todari Aug 16, 2024
843d679
feat: 비밀번호 입력 페이지 커스텀 훅으로 분리 (#354)
jinhokim98 Aug 16, 2024
26eb877
fix: 탭 클릭 시 전체가 클릭되는 것처럼 보이는 현상 해결 (#356)
jinhokim98 Aug 16, 2024
c1c0916
feat: 사용성 개선 - 지출 내역 입력 아이템 구현 (#357)
Todari Aug 16, 2024
9634f15
refactor: 행사 생성 완료 페이지에서 불필요한 상태 제거 (#350)
jinhokim98 Aug 16, 2024
249fc3f
fix: 인원 탈주 시 검색이 되지 않는 버그 해결 (#368)
jinhokim98 Aug 16, 2024
ee322f6
fix: 머지하면서 신경쓰지 못한 코드오류 해결 (#381)
jinhokim98 Aug 16, 2024
7d54702
feat: Input 검증 에러 메시지 타입 구조 변경 (#376)
jinhokim98 Aug 16, 2024
a5bf87a
feat: 공통 input 코드를 useInput hook으로 분리 (#379)
soi-ha Aug 16, 2024
cd775ba
test: 훅에 필요한 테스트 추가 (#358)
pakxe Aug 16, 2024
0173142
refactor: 멤버 액션 삭제 훅 리팩토링 (#383)
jinhokim98 Aug 19, 2024
7cac9f3
refactor: 이벤트 생성 페이지 리팩토링 (#385)
jinhokim98 Aug 19, 2024
0472cf7
test: useError, useToast 테스트코드 작성 (#387)
pakxe Aug 19, 2024
325e943
feat: Zustand, react-query 도입 및 적용 (#388)
Todari Aug 19, 2024
7f01ba5
fix: valideMemberName의 조건문 name은 1 이하일 수 없다를 제거 (#396)
pakxe Aug 19, 2024
a5fc0f5
feat: 총액 업데이트 로직을 store안으로 이동 (#401)
pakxe Aug 21, 2024
abab410
fix: action log가 길어질 때 heigth 잘리는 버그 수정 (#408)
soi-ha Aug 21, 2024
24788ae
feat: 전체 인원 수정 '삭제' api 로직 롤백 수정 (#409)
soi-ha Aug 21, 2024
17b3314
feat: EditableItem.Input이 동적인 width를 갖도록 수정 (#411)
pakxe Aug 21, 2024
3dbbc65
feat: 차등 정산 기능 구현 및 테스트 작성 (#406)
jinhokim98 Aug 21, 2024
78d20a3
feat: 차등 적용 적용 중 지원되지 않는 기능 수정 (#423)
jinhokim98 Aug 21, 2024
9ab0a96
fix: 차등 적용 can submit이 valid 하지만 false되는 버그 (#428)
jinhokim98 Aug 21, 2024
4463eec
feat: 지출 내역 추가 변경사항 적용 (#414)
soi-ha Aug 21, 2024
c01c412
feat: 지출 내역 아이템 클릭시 뜨는 차등 정산 모달 퍼블리싱 (#431)
pakxe Aug 21, 2024
8ceb42f
feat: BottomSheet 지출 부분 삭제 & input autoFocus (#433)
soi-ha Aug 21, 2024
bd3f3e2
fix: height가 짤리는 버그 해결 (#434)
soi-ha Aug 21, 2024
1c01616
fix: 차등 적용 인원이 2명일 때 계산되지 않는 버그 (#435)
jinhokim98 Aug 21, 2024
eda2e25
feat: 랜딩페이지 구현 (#418)
Todari Aug 21, 2024
bc77462
fix: 랜딩페이지 Nav 버그 수정 (#438)
soi-ha Aug 21, 2024
c68101b
fix: totalPrice를 새로운 입력값으로 넘겨주지 않았던 문제 해결 (#442)
jinhokim98 Aug 21, 2024
a8f0af4
fix: 배경색상 height 버그 (#443)
soi-ha Aug 21, 2024
e9c3f80
fix: 백그라운드 수정 (#447)
jinhokim98 Aug 21, 2024
c1bb0c3
fix: 멤버가 변동됐을 때 지출 상세 정보 데이터가 날라가지 않는 버그 수정 (#448)
jinhokim98 Aug 21, 2024
1ee8465
fix: 차등 정산 모달에서 수정 완료 버튼을 누를 때 보내는 2개의 api의 순서를 보장하고 변동이 없으면 요청을 보내지 …
pakxe Aug 21, 2024
124c97f
feat: Step에 stepName 반영하기 (#452)
soi-ha Aug 21, 2024
32ebc61
fix: async, await 이 없어서 api 순서 보장이 안되기 때문에 추가 (#462)
pakxe Aug 21, 2024
ebdf17c
[FE] 지출 Input 금액 default 변경 및 autoFocus (#470)
soi-ha Aug 21, 2024
af39b52
feat: StepList에 isFixed 디자인시스템 반영 (#465)
Todari Aug 21, 2024
803f1c6
feat: 차등 정산 적용시 신선한 데이터가 바로 반영되지 않고 시간차를 두고 반영되는 부분 수정 (#458)
pakxe Aug 21, 2024
1e37410
feat: 관리자 로그인 페이지에서 스위치가 관리로 활성화되지 않는 버그 (#469)
jinhokim98 Aug 21, 2024
8ef3978
refactor: DB 데이터를 drop 할 수 없도록 DB user 권한 수정합니다. (#485)
kunsanglee Aug 22, 2024
dcf0387
fix: 배경 색이 잘리는 문제 해결 (#466)
jinhokim98 Aug 22, 2024
20e0818
feat: title과 price에 값이 존재하지 않을 경우 지출 input 닫기 (#472)
soi-ha Aug 22, 2024
ff3bf13
feat: 디자인시스템 일부 수정 (#475)
Todari Aug 22, 2024
b9781cb
feat: 버튼 로딩 구현 및 이벤트 생성 페이지에 적용 (#476)
Todari Aug 22, 2024
39eff11
fix: 행사 생성 완료 페이지 변경 (#478)
Todari Aug 22, 2024
805d792
fix: placeholder 추가 (#480)
Todari Aug 22, 2024
3964287
fix: 지출 내역 금액 부분에 문자가 입력되던 오류 수정 (#491)
Todari Aug 22, 2024
c578a18
fix: dropdown animation 버그 수정 (#493)
Todari Aug 22, 2024
ebc2bc2
chore: React-Query devtools 환경 설정 (#463)
jinhokim98 Aug 22, 2024
56ba99b
chore: amplitude 적용 (#335)
jinhokim98 Aug 22, 2024
f76dbdf
feat: react-query에 맞는 error handling 적용 (#415)
Todari Aug 22, 2024
7e1f274
fix 행사 인원 이름 변경시 지출 상세의 이름이 변경되지 않는 버그 수정 (#500)
Arachneee Aug 22, 2024
7b82752
fix: 로딩 라이브러리 도입으로 인해 테스트가 터지는 문제를 해결 (#501)
pakxe Aug 22, 2024
0bd913c
fix: 참여자 이름 변경시 지출 상세 이름 변경 안되는 버그 수정 (#508)
Arachneee Aug 22, 2024
bb8994e
feat: 비밀번호 4자리 넘게 적용되는 오류 수정 (#503)
Todari Aug 22, 2024
3ea6f8f
fix: BottomSheet가 조건부 렌더링 되도록 변경 (#506)
Todari Aug 22, 2024
851e0fd
feat: 홈페이지에서 지출 내역 눌렀을 때 차등 정산 모달 뜨기 (#507)
pakxe Aug 22, 2024
f7c1deb
feat: 행동대장 흔듯콘(파비콘), 로고 적용 (#496)
jinhokim98 Aug 22, 2024
da54b61
feat: meta tag 링크 복사 이미지와 설명 추가 (#510)
jinhokim98 Aug 22, 2024
a39079f
fix: 지출 내역 및 전체 참여자 버그 (#511)
soi-ha Aug 22, 2024
d67f564
fix: build를 위한 없는 파일 import 제거 (#513)
soi-ha Aug 22, 2024
e29e300
fix: og tag 이미지 해상도 변경 (#515)
jinhokim98 Aug 23, 2024
b53fc53
feat: 행동대장 v1.0.0 (#516)
Todari Aug 23, 2024
038fd4a
feat: 지출 내역이 없을 때 홈페이지에서 없다고 띄우기 (#520)
pakxe Aug 23, 2024
1c55967
chore: 라이브러리 업데이트 (#525)
pakxe Aug 23, 2024
06c925a
chore: 머지
pakxe Aug 23, 2024
ac26e95
chore: 충돌 해결
pakxe Aug 23, 2024
764f12e
Merge branch 'fe-dev' of https://github.com/woowacourse-teams/2024-ha…
pakxe Aug 23, 2024
60c4c41
chore: 충돌 해결
pakxe Aug 23, 2024
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: 해커톤 로그 출력을 위한 임시처리
Co-authored-by: pakxe <pigkill40@naver.com>
  • Loading branch information
jinhokim98 and pakxe committed Jul 17, 2024
commit e8adc5b00d311cc70ae3309ace3ec1e7a42d94a6
Original file line number Diff line number Diff line change
@@ -11,8 +11,8 @@ interface SetActionModalContentProps {
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
participants: string[];
setParticipants: React.Dispatch<React.SetStateAction<string[]>>;
purchaseInformation: PurchaseInformation;
setPurchaseInformation: React.Dispatch<React.SetStateAction<PurchaseInformation>>;
purchaseInformation: any;
setPurchaseInformation: any;
}

const SetActionModalContent = ({
@@ -35,14 +35,20 @@ const SetActionModalContent = ({
</div>

{actionType === '지출' && (
<SetPurchase setPurchaseInformation={setPurchaseInformation} purchaseInformation={purchaseInformation} />
<SetPurchase
setOpen={setOpen}
setPurchaseInformation={setPurchaseInformation}
purchaseInformation={purchaseInformation}
/>
)}
{actionType === '인원' && (
<UpdateParticipants
setOpen={setOpen}
participantType={participantType}
participants={participants}
setParticipants={setParticipants}
setPurchaseInformation={setPurchaseInformation}
purchaseInformation={purchaseInformation}
/>
)}
</>
30 changes: 22 additions & 8 deletions client/src/components/Modal/SetActionModalContent/SetPurchase.tsx
Original file line number Diff line number Diff line change
@@ -1,26 +1,40 @@
import {useState} from 'react';
import {PurchaseInformation} from '../../../pages/Event/Event';

interface SetPurchaseProps {
setPurchaseInformation: (info: PurchaseInformation) => void;
purchaseInformation: PurchaseInformation;
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
setPurchaseInformation: any;
purchaseInformation: any;
}

const SetPurchase = ({setPurchaseInformation, purchaseInformation}: SetPurchaseProps) => {
const SetPurchase = ({setOpen, setPurchaseInformation}: SetPurchaseProps) => {
const [newPurchaseInformation, setNewPurchaseInformation] = useState<PurchaseInformation>({
name: '',
price: 0,
});

const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setPurchaseInformation({...purchaseInformation, name: e.target.value});
setNewPurchaseInformation({...newPurchaseInformation, name: e.target.value});
};

const handlePriceChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setPurchaseInformation({...purchaseInformation, price: parseFloat(e.target.value)});
setNewPurchaseInformation({...newPurchaseInformation, price: parseFloat(e.target.value)});
};

const addPurchaseInformation = () => {
setPurchaseInformation((prev: PurchaseInformation[]) => [...prev, newPurchaseInformation]);
setOpen(false);
};

return (
<>
<div style={{display: 'flex', flexDirection: 'column'}}>
<input type="text" value={purchaseInformation.name} onChange={handleNameChange} placeholder="지출 내역" />
<input type="number" value={purchaseInformation.price} onChange={handlePriceChange} placeholder="금액" />
<input type="text" value={newPurchaseInformation.name} onChange={handleNameChange} placeholder="지출 내역" />
<input type="number" value={newPurchaseInformation.price} onChange={handlePriceChange} placeholder="금액" />
</div>
<button style={{backgroundColor: 'lightGreen'}}>지출 내역 작성 완료</button>
<button style={{backgroundColor: 'lightGreen'}} onClick={addPurchaseInformation}>
지출 내역 작성 완료
</button>
</>
);
};
Original file line number Diff line number Diff line change
@@ -5,9 +5,18 @@ interface UpdateParticipantsProps {
participantType: string;
participants: string[];
setParticipants: React.Dispatch<React.SetStateAction<string[]>>;
setPurchaseInformation: any;
purchaseInformation: any;
}

const UpdateParticipants = ({setOpen, participantType, participants, setParticipants}: UpdateParticipantsProps) => {
const UpdateParticipants = ({
setPurchaseInformation,
purchaseInformation,
setOpen,
participantType,
participants,
setParticipants,
}: UpdateParticipantsProps) => {
const [name, setName] = useState('');

const updateParticipant = () => {
@@ -18,13 +27,15 @@ const UpdateParticipants = ({setOpen, participantType, participants, setParticip
}

setParticipants([...participants, name]);
setPurchaseInformation([...purchaseInformation, {name, type: '늦참'}]);
} else if (participantType === '탈주') {
if (!participants.includes(name)) {
alert('그런 사용자는 없습니다. 올바른 이름을 입력해주세요.');
return;
}

setParticipants(prev => prev.filter(participant => participant !== name));
setPurchaseInformation([...purchaseInformation, {name, type: '탈주'}]);
}

setName('');
41 changes: 30 additions & 11 deletions client/src/pages/Event/Event.tsx
Original file line number Diff line number Diff line change
@@ -10,16 +10,23 @@ export type PurchaseInformation = {
price: number;
};

type ParticipantType = {
name: string;
type: '늦참' | '탈주';
};

const Event = () => {
const {eventId} = useParams();
const [open, setOpen] = useState(false);
const [participants, setParticipants] = useState<string[]>([]);
const [order, setOrder] = useState(0);

const [purchaseInformation, setPurchaseInformation] = useState<PurchaseInformation>({
name: '',
price: 0,
});
const [purchaseInformation, setPurchaseInformation] = useState<(PurchaseInformation | ParticipantType)[]>([
{
name: '',
price: 0,
} as PurchaseInformation,
]);

const setParticipantsAndModalClose = (participants: string[]) => {
setParticipants(participants);
@@ -37,14 +44,26 @@ const Event = () => {
<h4>{`${order}차`}</h4>
<p>{`${participants.length}명`}</p>
</header>
<section>
<h5>{purchaseInformation.name}</h5>
<p>{purchaseInformation.price.toLocaleString()}</p>
</section>
<footer css={orderFooterStyle}>
{purchaseInformation.map((information, index) => (
<section key={index} style={{padding: '10px'}}>
{'type' in information ? (
<>
<h5>
{information.name} {information.type}입니다.
</h5>
</>
) : (
<>
<h5>{information.name}</h5>
<p>{information.price.toLocaleString()}원</p>
</>
)}
</section>
))}
{/* <footer css={orderFooterStyle}>
<h6>총액</h6>
<p>{purchaseInformation.price.toLocaleString()}</p>
</footer>
<p>{purchaseInformation.reduce((total, info) => 'price' in info ? total + info.price : total, 0).toLocaleString()}</p>
</footer> */}
</article>
)}
<button onClick={() => setOpen(prev => !prev)}>