Skip to content

Commit dd0a222

Browse files
NaveOWOsh981013sjw-rCl8D
authored
Release client (#139)
* [Feat/CK-126] develop-client λΉŒλ“œ 였λ₯˜λ₯Ό ν•΄κ²°ν•œλ‹€ (#57) * fix: develop-client λΉŒλ“œ 였λ₯˜ ν•΄κ²° * refactor: id νƒ€μž… nullμΆ”κ°€ * feat: λ¬Έμžμ—΄μ—μ„œ -(λŒ€μ‹œ) μ‚­μ œν•˜λŠ” μœ ν‹Έ ν•¨μˆ˜ κ΅¬ν˜„ * test: λŒ€μ‹œ μ‚­μ œ μœ ν‹Έ ν•¨μˆ˜ ν…ŒμŠ€νŠΈ μž‘μ„± * fix: merge conflict resolved * fix: merge conflicts resolved * feat: νˆ¬λ‘ 생성 rule μ •μ˜ * feat: modal shadow value theme 에 μ •μ˜ * refactor: useValidateInput generic type 으둜 λ³€κ²½ * design: todo λͺ¨λ‹¬ μŠ€νƒ€μΌ κ΅¬ν˜„ * feat: DialogContent wrapper div νƒœκ·Έ λŒ€μ‹  fragment μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ * feat: νˆ¬λ‘ 생성 validation ν›… κ΅¬ν˜„ * feat: νˆ¬λ‘λ¦¬μŠ€νŠΈ λͺ¨λ‹¬ κ΅¬ν˜„ * feat: backdrop style 을 μŠ€νƒ€μΌ 파일둜 이동 * feat: νˆ¬λ‘λ¦¬μŠ€νŠΈ μΆ”κ°€ 둜직 κ΅¬ν˜„ 및 적용 * feat: GoalRoomTodoResponse νƒ€μž… μ •μ˜ * chore: 골룸 전체 todolist λ°›λŠ” mocking handler μΆ”κ°€ * feat: useFetchGoalRoomTodos (골룸 νˆ¬λ‘λ¦¬μŠ€νŠΈ fetchin) ν›… κ΅¬ν˜„ * feat: spinner loading component κ΅¬ν˜„ 및 suspense fallback 으둜 적용 * feat: νˆ¬λ‘λ¦¬μŠ€νŠΈ 전체보기 데이터 λ§€ν•‘ * feat: request url μ—μ„œ prefix api/ 제거 * feat: Readmap List mock μš”μ²­ κ΅¬ν˜„ 및 API λͺ…세에 맞좰 νƒ€μž… μˆ˜μ • * refactor: Readmap List Dummy데이터 제거 및 API μ—°κ²° * refactor: Home 화면에 Main μ»΄ν¬λ„ŒνŠΈ λŒ€μ‹  Roadmap List μ»΄ν¬λ„ŒνŠΈλ₯Ό ν• λ‹Ή * feat: μΉ΄ν…Œκ³ λ¦¬ 선택 κΈ°λŠ₯을 κ°€μ§„ ν›… κ΅¬ν˜„ * feat: μΉ΄ν…Œκ³ λ¦¬λ‘œ λ‘œλ“œλ§΅μ„ 필터링 ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„ * feat: μΆ”μ²œ λ‘œλ“œλ§΅ λͺ©λ‘ μ»΄ν¬λ„ŒνŠΈ 제거 * feat: "전체" μΉ΄ν…Œκ³ λ¦¬ μΆ”κ°€ * feat: goalroomId prop drilling ν•΄κ²°ν•˜κ³ μž scoped context api κ΅¬ν˜„ 및 λž˜ν•‘ * feat: μΈμ¦ν”Όλ“œ 생성 ν›… κ΅¬ν˜„ * design: 인증 ν”Όλ“œ λͺ¨λ‹¬ μŠ€νƒ€μΌ κ΅¬ν˜„ * feat: 인증 ν”Όλ“œ 전체보기 λͺ¨λ‹¬ κ΅¬ν˜„ 및 생성 둜직 λ§€ν•‘ * refactor: λ‘œλ“œλ§΅ λͺ©λ‘ μ»΄ν¬λ„ŒνŠΈ 생성 * feat: λͺ…μ„Έ 변경에 λ§žμΆ”μ–΄ νƒ€μž… λ³€κ²½ * feat: μš”μ²­ endpoint λ³€κ²½ * refactor: λΆˆν•„μš”ν•œ object wrapping 제거 * refactor: 각 μ‘°κ±΄λ§ˆλ‹€ boolean return ν•˜λ„λ‘ λ¦¬νŒ©ν† λ§ * refactor: Axios μ„€μ • 동기화 * [feat/CK-45] λ‘œλ“œλ§΅ 생성 apiλ₯Ό μ—°κ²°ν•œλ‹€ (#58) * feat: λ‘œλ“œλ§΅ 생성 api ν•¨μˆ˜ & ν›… μ„ μ–Έ * fix: interceptor의 response κ°’ μˆ˜μ • * design: λ‚œμ΄λ„ select μŠ€νƒ€μΌ λ³€κ²½ * fix: 본문의 valueκ°€ 가져와지지 μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * refactor: μ»΄ν¬λ„ŒνŠΈ 역전을 μœ„ν•œ ꡬ쑰 λ³€κ²½ * design: λ‘œλ“œλ§΅ μΆ”κ°€ν•˜κΈ° λ²„νŠΌ μŠ€νƒ€μΌ 생성 * refactor: onclickμ‹œμ— 이벀트 버블링 λ°©μ§€ν•˜λŠ” 둜직 μΆ”κ°€ * feat: μž…λ ₯된 νƒœκ·Έλ₯Ό κ°€μ Έμ˜€λŠ” 둜직 κ΅¬ν˜„ * feat: λ‘œλ“œλ§΅ 생성 apiλ₯Ό μœ„ν•œ νƒ€μž… μ„ μ–Έ * refactor: textarea μ—μ„œ input νƒœκ·Έλ‘œ λ³€κ²½ * feat: λ‘œλ“œλ§΅ 생성 apiμ—°κ²° * feat: formμ•ˆμ—μ„œ 각 inputλ“€μ˜ 값을 κ°€μ Έμ˜€κ³  μ œμΆœν•˜λŠ” μ»€μŠ€ν…€ ν›… 생성 * style: μ½”λ“œ κ°œν–‰ 정리 * [feat/CK-99] 골루 λͺ©λ‘ 쑰회의 apiλ₯Ό μ—°κ²°ν•œλ‹€ (#61) * chore: λΆˆν•„μš”ν•œ 파일 μ‚­μ œ * feat: 골룸 λͺ©λ‘μ‘°νšŒ νŽ˜μ΄μ§€ 경둜 μ„€μ • * feat: 골룸 λͺ©λ‘ 쑰회 api 둜직 κ΅¬ν˜„ * feat: 골룸 λͺ©λ‘ 쑰회 UIκ΅¬ν˜„ * feat: μΆ©λŒμ‚¬ν•­ ν•΄κ²° * feat: 골룸 λͺ©λ‘ νŽ˜μ΄μ§€ λΌμš°νŒ… * feat: 골룸λͺ©λ‘μ‘°νšŒ api μ—°κ²° * feat: 골룸λͺ©λ‘μ‘°νšŒ api μ—°κ²° * fix: responseμ—μ„œ access_token 에 μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λŠ” 였λ₯˜ ν•΄κ²° * feat: ui데이터 λ³€κ²½ * [feat/CK-129] 였λ₯˜ν•΄κ²° & ν†΅ν•©ν•œλ‹€ (#62) * fix: develop-client 였λ₯˜ ν•΄κ²° * fix: develop-client 였λ₯˜ ν•΄κ²° * feat: user μ €μž₯ context κ΅¬ν˜„ * feat: μœ μ € 둜그인 κΈ°λŠ₯ 고도화 * feat: μœ μ € 정보 쑴재 validation util κ΅¬ν˜„ * chore: toast message μ‹œκ°„ 증가 * feat: oath λ²„νŠΌ μ£Όμ„μ²˜λ¦¬ * feat: λ³€κ²½λœ todo type에 맞게 적용 * feat: todo μƒνƒœ λ³€κ²½ ν›… κ΅¬ν˜„ * feat: νˆ¬λ‘ μ»΄ν¬λ„ŒνŠΈμ— μƒνƒœλ³€κ²½ 둜직 적용 * feat: 리슀트 νŽ˜μ΄μ§€ μ›Ή μ ‘κ·Όμ„± ν–₯상 * [feat/CK-130] νŽ˜μ΄μ§€ λΌμš°νŒ…κ³Ό μž”μ—¬ μ„œλ²„ 연결을 μ²˜λ¦¬ν•œλ‹€ (#66) * feat: λ²„νŠΌ 곡용 μ»΄ν¬λ„ŒνŠΈμ— onclick μΆ”κ°€ * feat: λ‘œλ“œλ§΅ λͺ©λ‘κ³Ό λ‹¨μΌμ‘°νšŒ λΌμš°νŒ… μ—°κ²° * refactor: 데이터 패칭 ν•¨μˆ˜ & νƒ€μž… 넀이밍 λ³€κ²½ * feat: λ‘œλ“œλ§΅ λ‹¨μΌμ‘°νšŒ μ‹€μ œ 데이터 적용 * fix: 데이터 λ°˜ν™˜ 넀이밍이 λ§žμ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * refactor: 더미데이터 제거 * refactor: λ‘œλ“œλ§΅ λ‹¨μΌμ‘°νšŒ 데이터 λ°˜ν™˜ 넀이밍 μˆ˜μ • * fix: fixture 데이터 νƒ€μž… λ³€ν™˜ * refactor: νƒ€μž… λ³€κ²½ * chore: λΆˆν•„μš”ν•œ 파일 제거 * feat: dialogμ»΄ν¬λ„ŒνŠΈμ— defaultOpen 속성 μΆ”κ°€ * feat: 골룸 λ‹¨μΌμ‘°νšŒ UIκ΅¬ν˜„ * design: λͺ¨λ‹¬ λ””μžμΈ λ³€κ²½ * feat: 골룸 λ‹¨μΌμ‘°νšŒ api 둜직 κ΅¬ν˜„ * feat: dialog μ»΄ν¬λ„ŒνŠΈ 슀크둀 λ°©μ§€ 둜직 κ΅¬ν˜„ * feat: 골룸 단일 쑰회 νƒ€μž… μ„ μ–Έ * feat: 골룸 단일 쑰회 데이터 μ—°κ²° * design: 골름 λͺ©λ‘ λ°˜μ‘ν˜• ui 적용 * design: λ‘œλ“œλ§΅ 생성 ui μˆ˜μ • * feat: λ‘œλ“œλ§΅ 생성 ν›„ κ²½λ‘œμ„€μ • * feat: 골룸 μƒμ„±ν•˜λŠ” νŽ˜μ΄μ§€ λΌμš°νŒ… * refactor: node의 textarea μŠ€νƒ€μΌ μˆ˜μ • * feat: 톡신 μ—λŸ¬ ν•΄κ²° * feat: 톡신 μ—λŸ¬ ν•΄κ²° * fix: 골룸 생성 μ‹œ, λ‘œλ“œλ§΅ λ…Έλ“œμ— λŒ€ν•œ λ‚ μ§œ 값이 λ³€κ²½λ˜μ§€ μ•ŠλŠ” 버그 μˆ˜μ • * refactor: 골룸을 μƒμ„±ν•˜λ©΄, 골룸 리슀트 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜λ„λ‘ λ³€κ²½ * refactor: 골룸 생성 μš”μ²­μ˜ λ°˜ν™˜ νƒ€μž…μ— μš”μ²­ νƒ€μž…μ΄ 적용된 것 μˆ˜μ • * refactor: 골룸을 생성 μ‹œ, Toast둜 μ‚¬μš©μžμ—κ²Œ μ•Œλ €μ£Όλ„λ‘ λ³€κ²½ * refactor: 골룸 생성 응닡에 λŒ€ν•œ ν›„ 처리 λ‘œμ§μ„ 골룸 생성 μš”μ²­ ν›… λ‚΄λΆ€μ—μ„œ μˆ˜ν–‰ν•˜λ„λ‘ λ³€κ²½ * chore: λ°°κ²½ 투λͺ…ν•œ μ•½κ°„ νŒŒλž€μƒ‰ νŒ”λ ˆνŠΈμ— μΆ”κ°€ * chore: 성별 별 μ–Όκ΅΄ svg icon μΆ”κ°€ * feat: λ‚΄κ°€ μ†ν•œ 골룸 쑰회 ν›… κ΅¬ν˜„ * feat: 마이 νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„ * refactor: λͺ¨λ‹¬ λ‚΄λΆ€μ—μ„œ 슀크둀 Y 적용 및 μŠ€ν¬λ‘€λ°” 제거 * refactor: on, off κΈ°λŠ₯을 useSwitch ν›…μœΌλ‘œ λŒ€μ²΄ * refactor: μ»΄νŒŒμš΄λ“œ νŒ¨ν„΄μœΌλ‘œ κ΅¬ν˜„λœ λͺ¨λ‹¬μ˜ μƒνƒœκ°€ μ™ΈλΆ€μ—μ„œ 닀루어지고 μžˆλŠ” 이슈둜 μΈν•œ 버그 ν•΄κ²° * refactor: μ»΄ν¬λ„ŒνŠΈ λ‚΄λΆ€μ—μ„œ useNavigate λŒ€μ‹  Linkλ₯Ό μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ • * refactor: console λ¬Έ 제거 및 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 데이터에 λŒ€ν•œ UI 제거 * feat: μž…λ ₯받은 λ‚ μ§œκ°€ ν˜„μž¬λ₯Ό κΈ°μ€€μœΌλ‘œ μœ νš¨ν•œμ§€ νŒλ³„ν•˜λŠ” ν•¨μˆ˜ κ΅¬ν˜„ * feat: 골룸 인증 ν”Όλ“œ λ„μΆœ hook κ΅¬ν˜„ * feat: 골룸 μΈμ¦ν”Όλ“œ λͺ¨λ‹¬μ— μΈμ¦ν”Όλ“œ μΉ΄λ“œ 리슀트 λ„μΆœ * feat: μ‚¬μš©μžκ°€ 골룸에 μ°Έμ—¬ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄ 골룸 μ°Έμ—¬λ²„νŠΌμ„ 톡해 μ°Έμ—¬μ‹œν‚€κΈ° * refactor: μ‚¬μš©μžκ°€ 골룸에 참가쀑인지 μ•„λ‹Œμ§€ νŒλ³„ν•˜μ§€ λͺ»ν–ˆλ˜ 이슈 ν•΄κ²° * refactor: useValidateInput ν›… 검증 ν†΅κ³Όν•˜μ§€ λͺ»ν•˜λ”라도 μƒνƒœλŠ” λ°”λ€Œλ„λ‘ λ³€κ²½ * chore: ν† μŠ€νŠΈ λ©”μ„Έμ§€ λ„μ›Œμ§€λŠ” μ‹œκ°„ 증가 * feat: νšŒμ›κ°€μž… regex, μ—λŸ¬ λ©”μ„Έμ§€ κ΅¬ν˜„ * feat: νšŒμ›κ°€μž… μ„±κ³΅μ‹œ ν† μŠ€νŠΈ 메세지와 ν•¨κ»˜ 둜그인 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜λŠ” 둜직 κ΅¬ν˜„ * feat: νšŒμ›κ°€μž… 폼 검증 ν›… κ΅¬ν˜„ * refactor: GoalRoomCertificationFeedsResponse type νƒ€μž… μ„ μ–Έ ν˜•μ‹ μ»¨λ²€μ…˜μ— λ§žμΆ”μ–΄ λ³€κ²½ * [feat/CK-136] 둜그인 μœ μ§€μ™€ UI 버그λ₯Ό ν•΄κ²°ν•œλ‹€ (#97) * fix: 둜그인이 μœ μ§€λ˜μ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * fix: λ‘œλ“œλ§΅ 리슀트의 μ•„μ΄ν…œμ˜ 크기가 λ‹€λ₯Έ 였λ₯˜ ν•΄κ²° * fix: λͺ©λ‘μ‘°νšŒ νŽ˜μ΄μ§€μ˜ 높이 문제 ν•΄κ²° * style: μ½”λ“œ μŠ€νƒ€μΌ 정리 * refactor: unmountλ˜μ—ˆμ„ λ•Œ 비동기 μž‘μ—… μ·¨μ†Œ 둜직 κ΅¬ν˜„ * feat: μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν›… 제거 * [feat/CK-142] λ‘œλ“œλ§΅ μƒμ„±νŽ˜μ΄μ§€ 버그λ₯Ό ν•΄κ²°ν•œλ‹€ (#101) * design: νƒœκ·Έ μ‚­μ œλ²„νŠΌ 생성 * feat: νƒœκ·Έ μ‚­μ œλ²„νŠΌ 생성 & νƒœκ·Έ placeholder적용 * feat: νƒœκ·Έλ₯Ό μ‚­μ œν•˜λŠ” 둜직 κ΅¬ν˜„ * style: μ½”λ“œ μŠ€νƒ€μΌ 정리 * refactor: νƒœκ·Έλ₯Ό μ™„μ„±ν•˜λŠ” trigger 뢄리 ν›„ 적용 * fix: λ‘œλ“œλ§΅ μž…λ ₯λΆ€λΆ„ 크기가 λ§žμ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * fix: μ†Œκ°œκΈ€ μž…λ ₯창의 높이가 λŠ˜μ–΄λ‚˜μ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * refactor: λ‘œλ“œλ§΅ μž…λ ₯ placeholderμΆ”κ°€ * style: μ˜€νƒ€ μˆ˜μ • * feat: onChangeκ°€ λ°œμƒν–ˆμ„ λ•Œ, onSubmit이 λ°œμƒν–ˆμ„ λ•Œ μœ νš¨μ„± 검사λ₯Ό μˆ˜ν–‰ν•˜λ„λ‘ Hook ν™•μž₯ * chore: handleSubmit ν•¨μˆ˜μ— λŒ€ν•œ 주석 μΆ”κ°€ * feat: 코끼리끼리 InputField κ΅¬ν˜„ * design: number νƒ€μž…μΌ λ–„μ˜ μŠ€νƒ€μΌ μΆ”κ°€ * design: form을 section λ³„λ‘œ 뢄리 및 μŠ€νƒ€μΌ μž¬μ‘°μ • * feat: 객체 λ‚΄λΆ€μ˜ yyyy-mm-dd ν˜•μ‹μ˜ λ¬Έμžμ—΄μ„ yyyymmdd ν˜•νƒœλ‘œ λ³€ν™˜ν•˜λŠ” ν•¨μˆ˜ κ΅¬ν˜„ * refactor: μ™ΈλΆ€μ—μ„œ handleInputChange ν•¨μˆ˜μ˜ νƒ€μž…κ³Ό μ—λŸ¬ 객체의 νƒ€μž…μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ λ³€κ²½ * feat: 변동사항에 맞게 api fetching spec λ³€κ²½ * feat: 변동사항에 맞게 api fetching spec λ³€κ²½ * feat: 변동사항에 맞게 api fetching spec λ³€κ²½ * feat: λ¬΄ν•œ 슀크둀 적용 * feat: useIntersection hook κ΅¬ν˜„ * refactor: 각 Input의 validation을 ν•˜λ‚˜μ˜ ν•¨μˆ˜λ‘œ μž‘μ„±ν•˜λ„λ‘ λ¦¬νŽ™ν† λ§ * refactor: useFormInput 쀑볡 둜직 제거 λ¦¬νŽ™ν† λ§ * feat: λ¬΄ν•œμŠ€ν¬λ‘€ 적용된 apiλͺ…μ„Έ 반영 * feat: render-propsλ₯Ό μ΄μš©ν•œ 필터링 μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„ * design: 필터링 μ»΄ν¬λ„ŒνŠΈ μŠ€νƒ€μΌ μ½”λ“œ μž‘μ„± * feat: 골룸 필터링 constants 생성 * feat: Object.hasOwn의 νƒ€μž… μ»€μŠ€ν…€ * refactor: validation 객체의 λ©”μ„œλ“œ λ‚΄λΆ€μ—μ„œ λͺ¨λ“  μœ νš¨μ„± 검사 λ‘œμ§μ„ μˆ˜ν–‰ν•˜λ„λ‘ λ³€κ²½ * design: μ—λŸ¬ λ©”μ‹œμ§€κ°€ μž˜λ¦¬μ§€ μ•Šλ„λ‘ μŠ€νƒ€μΌ μˆ˜μ • * feat: any νƒ€μž…μ„ μ΅œμ†Œν™”ν•˜λ„λ‘ νƒ€μž… λ¦¬νŽ™ν† λ§ * feat: 회의 이후 κ΅¬ν˜„ν•˜μ§€ μ•ŠκΈ°λ‘œ ν•œ Calender μ»΄ν¬λ„ŒνŠΈ 제거 * feat: suspense fallback 에 Spinner μ»΄ν¬λ„ŒνŠΈ ν• λ‹Ή * feat: useInfiniteScroll ν›… κ΅¬ν˜„ * feat: λ‘œλ“œλ§΅ 리슀트 Fetching 훅에 λ¬΄ν•œ 슀크둀 둜직 적용 * feat: λ‘œλ“œλ§΅ 리슀트 Fetching 훅에 λ¬΄ν•œ 슀크둀 둜직 적용 * feat: RoadmapList μ»΄ν¬λ„ŒνŠΈμ— λ¬΄ν•œ 슀크둀 적용 * refactor: validation utils ν•¨μˆ˜ 뢄리 및 ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± * feat: 골룸 μ‚¬μš©μž fetching api function κ΅¬ν˜„ * feat: 골룸 μ°Έμ—¬μž query hook κ΅¬ν˜„ * feat: λ‘€λ£Έ λž­ν‚Ή λŒ€μ‹œλ³΄λ“œ λ°•μŠ€ κ΅¬ν˜„ * feat: isValidMaxValue ν•¨μˆ˜ κ΅¬ν˜„ 및 ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± * feat: μΈμ›μˆ˜μ— λŒ€ν•œ Input μΆ”κ°€ * refactor: validation의 λ§€μ§λ„˜λ²„μ™€ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό μƒμˆ˜ν™” * feat: InputField에 textarea νƒœκ·Έλ₯Ό 쑰건 λΆ„κΈ°λ‘œ μΆ”κ°€ * refactor: λ‘œλ“œλ§΅ Info λ§΅ν•‘ * feat: μœ μ € 전체 쑰회 query ν›… κ΅¬ν˜„ * feat: μœ μ € 전체보기 λͺ¨λ‹¬ κ΅¬ν˜„ * feat: λ‘œλ“œλ§΅ 검색 μ»΄ν¬λ„ŒνŠΈ UIκ΅¬ν˜„ * feat: λ‘œλ“œλ§΅ 검색 api 둜직 생성 * feat: hotfix * feat: hotfix * [feat/CK-151] Selectbox의 였λ₯˜λ₯Ό ν•΄κ²°ν•œλ‹€ (#107) * design: option 넓이 μˆ˜μ • * fix: render propsλ₯Ό λ°›λŠ” μ»΄ν¬λ„ŒνŠΈ μƒμ„±μœΌλ‘œ λ‚œμ΄λ„ valueν‘œμ‹œ 였λ₯˜ ν•΄κ²° * fix: render propsλ₯Ό λ°›λŠ” μ»΄ν¬λ„ŒνŠΈ μƒμ„±μœΌλ‘œ λ‚œμ΄λ„ valueν‘œμ‹œ 였λ₯˜ ν•΄κ²° * feat: λ¦¬ν„΄ν•˜λŠ” μƒνƒœ μΆ”κ°€ * feat: μ‚¬μ΄λ“œ λ„€λΈŒλ°”κ°€ 항상 μ΅œμƒμœ„ μš”μ†Œμ΄λ„λ‘ μˆ˜μ • * refactor: 골룸 μ•„μ΄ν…œμ˜ heightκ°€ λŠ˜μ–΄λ‚˜λŠ” 버그 μˆ˜μ • * refactor: 골룸을 μƒμ„±ν•œ ν›„, 골룸 λͺ©λ‘μ„ λ‹€μ‹œ λΆˆλŸ¬μ˜€λ„λ‘ κ΅¬ν˜„ * refactor: 골룸 생성 νŽ˜μ΄μ§€μ— Suspense 적용 * refactor: 골룸 λͺ¨λ‹¬ λ‚΄λΆ€μ˜ 컨텐츠λ₯Ό λˆŒλŸ¬λ„ λͺ¨λ‹¬μ΄ λ‹«νžˆλŠ” 버그 μˆ˜μ • * design: λ„€λΈŒλ°” μŠ€νƒ€μΌ 고도화 * feat: λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌ κ΅¬ν˜„ * design: 둜그인 μ‹œ λ’€λ‘œκ°€κΈ° λ²„νŠΌκ³Ό λ‘œκ³ κ°€ κ²ΉμΉ˜μ§€ μ•Šλ„λ‘ μˆ˜μ • * refactor: κΈ°μ‘΄ 둜그인 form 을 ν•Έλ“€λ§ν•˜λ©΄ ν™ˆμœΌλ‘œ κ°”λ˜ λ‘œμ§μ—μ„œ 응닡이 성곡 μ‹œ navigating ν•˜λ„λ‘ λ¦¬νŒ©ν† λ§ * feat: image src path S3 μ μš©ν•œ path둜 번경 * feat: λ‘œλ“œλž© 검색결과 μ„œλΈŒλΌμš°νŒ… * feat: λ‘œλ“œλ§΅ 검색 κ²°κ³Ό api둜직 생성 * design: 검색 μ•„μ΄μ½˜ 생성 * design: λ‘œλ“œλ§΅ 검색 μŠ€νƒ€μΌ μ½”λ“œ μž‘μ„± * design: λ‘œλ“œλ§΅ μƒμ„±λ²„νŠΌ UIλ³€κ²½ * feat: λ‘œλ“œλ§΅ 검색바 κ΅¬ν˜„ * refactor: λ¬΄ν•œ 슀크둀의 νŠΈλ¦¬κ±°κ°€ λ˜λŠ” μ»΄ν¬λ„ŒνŠΈ 뢄리 * feat: 골룸 리슀트 λ¬΄ν•œ 슀크둀 적용 * feat: μ£Όμ–΄μ§„ λ‚ μ§œ string 이 였늘 ν˜Ήμ€ 이후인지 νŒλ³„ν•˜λŠ” μœ ν‹Έ κ΅¬ν˜„ * feat: μ»΄ν¬λ„ŒνŠΈ λ‚΄ νŽ˜μ΄μ§€ 이동에 Link μ‚¬μš© * feat: 골룸 μ‹œμž‘ 쿼리 ν•¨μˆ˜ κ΅¬ν˜„ * feat: 골룸 μ‹œμž‘ λ²„νŠΌ 적용 * feat: 골룸 λŒ€μ‹œλ³΄λ“œ query key μƒμˆ˜ 적용 * feat: μΈμ¦ν”Όλ“œ 등둝 μ‹œ invalidate μ²˜λ¦¬μ™€ Input reset 둜직 κ΅¬ν˜„ * feat: 골룸 μƒμ„±μžκ°€ μ•„λ‹ˆλΌλ©΄ νˆ¬λ‘ 생성 폼 보지 λͺ»ν•˜λ„둝 처리 * design: μΈμ¦ν”Όλ“œ content min-width 적용 * feat: λŒ€μ‹œλ³΄λ“œμ—μ„œ μ±„νŒ… μ„Ήμ…˜ 제거 ν›„ 전체적인 λ ˆμ΄μ•„μ›ƒ 리사이징 * feat: λŒ€μ‹œλ³΄λ“œμ—μ„œ μ±„νŒ… μ„Ήμ…˜ 제거 ν›„ 전체적인 λ ˆμ΄μ•„μ›ƒ 리사이징 * design: paylayout min-height 적용 * feat: query key μƒμˆ˜ν™” 및 dependent μ—˜λ¦¬λ¨ΌνŠΈ μΆ”κ°€ * feat: λŒ€μ‹œλ³΄λ“œ νˆ¬λ‘, μΈμ¦ν”Όλ“œ 총 개수 λ„μΆœ 둜직 κ΅¬ν˜„ * feat: λŒ€μ‹œλ³΄λ“œ νˆ¬λ‘, μΈμ¦ν”Όλ“œ 총 개수 λ„μΆœ 둜직 κ΅¬ν˜„ * fix: merge conflicts resolved * feat: 골룸 μœ μ € λž­ν‚Ή * feat: 골룸 본인 λž­ν‚Ή λ„μΆœ 둜직 κ΅¬ν˜„ * feat: 골룸 본인 λž­ν‚Ή 폰트 λ³€κ²½ * feat: λ‚ μ§œ λ³€ν™˜ μœ ν‹Έ ν•¨μˆ˜ κ΅¬ν˜„ * feat: λ‚˜μ˜ λ‘œλ“œλ§΅ 리슀트 fetching hook κ΅¬ν˜„ * feat: λ§ˆμ΄νŽ˜μ΄μ§€μ— λ‚˜μ˜ λ‘œλ“œλ§΅ νƒ­ μΆ”κ°€ * design: 코끼리 둜고 쀑앙정렬 * design: λ‘œλ“œλ§΅ 리슀트 컨텐츠 κ°€μ‹œμ„± 문제 κ°œμ„  * refactor: mainPage μ œμž‘μ„ μœ„ν•œ λΌμš°νŒ… 처리 * feat: 메인 νŽ˜μ΄μ§€ κ΅¬ν˜„ * design: κΈ°μ‘΄ ꢌμž₯ μ†Œμš”κΈ°κ°„ days μ—μ„œ 일둜 λ³€κ²½ * feat: λ‘œλ“œλ§΅ μ†Œκ°œ κΈ€ μΆ”κ°€ * chore: μ˜€νƒ€ μˆ˜μ • * feat: κΈ°μ‘΄ ν•˜λ‹¨ 진행쀑인 골룸보기 λ²„νŠΌμ—μ„œ 골룸 생성 λ²„νŠΌμœΌλ‘œ λ³€κ²½ * feat: 메인 코끼리 μ• λ‹ˆλ©”μ΄μ…˜ μΆ”κ°€ * chore: νŒŒλΉ„μ½˜ μΆ”κ°€ * feat: 응닡받은 response λ³€μˆ˜μ˜ 넀이밍을 ~Response둜 μΌμΉ˜μ‹œν‚€λ„λ‘ λ³€κ²½ * feat: λΆˆν”Όμš”ν•œ μ»΄ν¬λ„ŒνŠΈ 제거 * [feat/CK-168] λ‘œλ“œλ§΅ μƒμ„±λΆ€λΆ„μ˜ λ³€κ²½λœ apiλ₯Ό λ°˜μ˜ν•œλ‹€ ( 사진좔가 κΈ°λŠ₯ ) (#122) * feat: λ‘œλ“œλ§΅ 생성 api headers λ³€κ²½ 반영 * design: 이미지 μ—…λ‘œλ“œ μ•„μ΄μ½˜ 생성 * design: λ‘œλ“œλ§΅ μƒμ„±μ˜ 이미지 μ‚½μž… UIκ΅¬ν˜„ * feat: λ‘œλ“œλ§΅ 생성 api νŒŒλΌλ―Έν„° νƒ€μž… λ³€κ²½ * feat: 이미지λ₯Ό μ—…λ‘œλ“œν•˜λ©΄ preview 이미지가 λ³΄μ΄λŠ” κΈ°λŠ₯ κ΅¬ν˜„ * design: λ‘œλ“œλ§΅ μƒμ„±ν•˜κΈ° λ²„νŠΌ UI λ³€κ²½ * feat: μ—…λ‘œλ“œλœ 이미지λ₯Ό μ·¨ν•©ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„ * feat: 이미지λ₯Ό μ—…λ‘œλ“œν•˜λŠ” μ»€μŠ€ν…€ ν›… 생성 * feat: λ‘œλ“œλ§΅ 생성 κ΄€λ ¨ νƒ€μž… μˆ˜μ • * design: 골룸 μ•„μ΄ν…œμ˜ 전체적인 border-radius μ‘°μ • * feat: 골룸 μ •λ ¬ 둜직 μƒμˆ˜ν™” 및 API μˆ˜μ • 사항 반 * feat: μ‹œμž‘ν•˜μ§€ μ•Šμ€ 골룸 λŒ€μ‹œλ³΄λ“œ 만질 수 μ—†κ²Œ 처리 * feat: 골룸 리슀트 μŠ€νƒ€μΌ 고도화 * feat: 골룸 생성 μ‹œ, λ‚ μ§œμ— λŒ€ν•œ μœ νš¨μ„± 검사 κ°•ν™” * feat: μ—λŸ¬ λ°”μš΄λ”λ¦¬ κ΅¬ν˜„ 및 적용 * [feat/CK-171] λ‘œλ“œλ§΅ ν™•μΈν•˜κΈ°λ₯Ό κ΅¬ν˜„ν•œλ‹€ & λ‘œλ“œλ§΅ 리슀트의 UIλ₯Ό λ³€κ²½ν•œλ‹€ (#127) * feat: μΆ©λŒν•΄κ²° * fix: merge conflict ν•΄κ²° * design: λ‘œλ“œλ§΅ 리슀트 μ •λ ¬ λ³€κ²½ * feat: λ‘œλ“œλ§΅ λ…Έλ“œ 리슀트 api ν•¨μˆ˜ 생성 * [feat/CK-157] λ‘œλ“œλ§΅ 리슀트의 검색기λŠ₯을 κ΅¬ν˜„ν•œλ‹€ (#130) * fix: mutate의 인자 λ³€κ²½ * feat: λ‘œλ“œλ§΅ 검색 apiμˆ˜μ • * feat: selectμ»΄ν¬λ„ŒνŠΈμ˜ default 선택값이 μžˆλ„λ‘ μˆ˜μ • * refactor: μΉ΄ν…Œκ³ λ¦¬ 선택에 λ”°λ₯Έ apiμš”μ²­μ„ query string을 μ΄μš©ν•˜λŠ”κ²ƒμœΌλ‘œ λ³€κ²½ * feat: λ‘œλ“œλ§΅ 검색기λŠ₯ κ΅¬ν˜„ * fix: 둜그인이 λ˜μ–΄ μžˆμ§€ μ•Šμ„ λ•Œ, 인증 헀더λ₯Ό 계속 μž¬μš”μ²­ν•˜λŠ” 버그 μˆ˜μ • * refactor: λ‘œλ“œλ§΅ 생성 μ‹œ, λ‘œλ“œλ§΅ λͺ©λ‘μ„ refetchν•˜λ„λ‘ λ³€κ²½ * feat: private router μ»΄ν¬λ„ŒνŠΈ 생성 * design: λ‘œλ“œλ§΅ μ•„μ΄ν…œ UI μœ„μΉ˜μˆ˜μ • * feat: 골룸 λŒ€μ‹œλ³΄λ“œ λ‘œλ“œλ§΅ κ΅¬ν˜„ * fix: 골룸 λ‹¨μΌμ‘°νšŒ λͺ¨λ‹¬ λ°°κ²½ z-index 였λ₯˜ μˆ˜μ • * feat: selectBox option에 defaultOption 속성 μΆ”κ°€ * feat: selectBox option에 defaultOption 속성 μΆ”κ°€ * fix: λ‘œλ“œλ§΅ 본문이 μ €μž₯λ˜μ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * design: λ‘œλ“œλ§΅ μƒμ„±ν•˜κΈ° λ²„νŠΌ UIμˆ˜μ • * fix: μΉ΄ν…Œκ³ λ¦¬ id μˆ˜μ • * feat: λ‘œλ“œλ§΅ 생성 μ‹œ get을 λ°›μ•„μ˜€λŠ” 둜직 μΆ”κ°€ * fix: λ‘œλ“œλ§΅ 본문이 μ €μž₯λ˜μ§€ μ•ŠλŠ” 였λ₯˜ ν•΄κ²° * refactor: μ˜€νƒ€ μˆ˜μ • 및 골룸 생성 νŽ˜μ΄μ§€μ˜ λ…ΈνŠΈ μ„€λͺ…에 YμΆ• 슀크둀 μΆ”κ°€ * fix: κ³¨λ£Έμƒμ„±μ˜ μΏΌλ¦¬μŠ€νŠΈλ§μ„ roadmapIdμ—μ„œ content.id둜 μˆ˜μ • * feat: ux κ°œμ„  * fix: μ—†λŠ” μΉ΄ν…Œκ³ λ¦¬ μ‚­μ œ (#137) --------- Co-authored-by: sh981013s <sh981013s@gmail.com> Co-authored-by: Jungwoo <evencoding@gmail.com> Co-authored-by: Woody <88191233+evencoding@users.noreply.github.com> Co-authored-by: Jiwon Lee <46810837+Cl8D@users.noreply.github.com>
1 parent 5af5d8c commit dd0a222

File tree

293 files changed

+59277
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

293 files changed

+59277
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: client test CI
2+
3+
on:
4+
pull_request:
5+
branches: [ develop-client ]
6+
7+
jobs:
8+
build:
9+
10+
runs-on: ubuntu-latest
11+
12+
strategy:
13+
matrix:
14+
node-version: [18.x]
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Use Node.js ${{ matrix.node-version }}
19+
uses: actions/setup-node@v2
20+
with:
21+
node-version: ${{ matrix.node-version }}
22+
- run: |
23+
cd client
24+
npm ci
25+
npm run build --if-present
26+
npm run test
27+

β€Ž.gitignoreβ€Ž

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.vscode
2+
.idea
3+
4+
# test coverage dir
5+
coverage
6+
7+
# misc
8+
.DS_Store

β€Žclient/.babelrcβ€Ž

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"presets": [
3+
["@babel/preset-env"],
4+
[
5+
"@babel/preset-react",
6+
{
7+
"runtime": "automatic"
8+
}
9+
],
10+
"@babel/preset-typescript"
11+
],
12+
"plugins": [
13+
[
14+
"babel-plugin-styled-components",
15+
{
16+
"displayName": true
17+
}
18+
],
19+
"@babel/plugin-transform-runtime"
20+
]
21+
}

β€Žclient/.eslintignoreβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.styles.ts

β€Žclient/.eslintrc.cjsβ€Ž

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
module.exports = {
2+
ignorePatterns: ['/*', '!/src'],
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint', 'react'],
5+
extends: [
6+
'airbnb',
7+
'airbnb/hooks',
8+
'plugin:@typescript-eslint/recommended',
9+
'plugin:prettier/recommended',
10+
'plugin:storybook/recommended',
11+
],
12+
parserOptions: {
13+
ecmaVersion: 2021,
14+
sourceType: 'module',
15+
ecmaFeatures: {
16+
jsx: true,
17+
},
18+
},
19+
env: {
20+
browser: true,
21+
es2021: true,
22+
node: true,
23+
},
24+
settings: {
25+
'import/resolver': {
26+
node: {
27+
extensions: ['.js', '.jsx', '.ts', '.tsx'],
28+
paths: ['src'],
29+
},
30+
alias: {
31+
map: [
32+
['@', './src'],
33+
['@apis', './src/apis'],
34+
['@assets', './src/assets'],
35+
['@components', './src/components'],
36+
['@constants', './src/constants'],
37+
['@hooks', './src/hooks'],
38+
['@mocks', './src/mocks'],
39+
['@pages', './src/pages'],
40+
['@styles', './src/styles'],
41+
['@myTypes', './src/myTypes'],
42+
['@utils', './src/utils'],
43+
],
44+
extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'],
45+
},
46+
},
47+
},
48+
rules: {
49+
'import/extensions': [
50+
'off',
51+
'ignorePackages',
52+
{
53+
js: 'never',
54+
jsx: 'never',
55+
ts: 'never',
56+
tsx: 'never',
57+
},
58+
],
59+
'prettier/prettier': 'error',
60+
'react/react-in-jsx-scope': 'off',
61+
'@typescript-eslint/explicit-module-boundary-types': 'off',
62+
'react/jsx-filename-extension': [
63+
1,
64+
{
65+
extensions: ['.js', '.jsx', '.ts', '.tsx'],
66+
},
67+
],
68+
'space-before-blocks': ['error', 'always'],
69+
'react/button-has-type': 'off',
70+
'@typescript-eslint/no-unused-vars': [
71+
'warn',
72+
{
73+
argsIgnorePattern: '^_',
74+
},
75+
],
76+
'no-console': [
77+
'warn',
78+
{
79+
allow: ['warn', 'error'],
80+
},
81+
],
82+
'prefer-const': 'warn',
83+
eqeqeq: 'warn',
84+
'prefer-arrow-callback': 'error',
85+
'@typescript-eslint/no-explicit-any': 'off',
86+
'@typescript-eslint/no-empty-function': 'off',
87+
'react/function-component-definition': [
88+
2,
89+
{
90+
namedComponents: 'arrow-function',
91+
},
92+
],
93+
'react-hooks/exhaustive-deps': 'off',
94+
'no-shadow': 'off',
95+
'import/prefer-default-export': 'off',
96+
'global-require': 'warn',
97+
'import/no-extraneous-dependencies': 'off',
98+
'no-use-before-define': 'off',
99+
'@typescript-eslint/no-use-before-define': [
100+
'error',
101+
{
102+
ignoreTypeReferences: true,
103+
},
104+
],
105+
'no-plusplus': 'off',
106+
'no-param-reassign': 'off',
107+
'react/require-default-props': 'off',
108+
'react/jsx-no-constructed-context-values': 'off',
109+
'react/jsx-props-no-spreading': 'off',
110+
'import/no-unresolved': 'off',
111+
'import/order': 'off',
112+
'react/jsx-no-constructed-context-values': 'off',
113+
'react/jsx-props-no-spreading': 'off',
114+
'no-nested-ternary': 'off',
115+
'react/jsx-no-useless-fragment': 'off',
116+
'react/no-unescaped-entities': 'off',
117+
'no-else-return': 'off',
118+
},
119+
};

β€Žclient/.gitignoreβ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/node_modules
2+
3+
/dist
4+
5+
.env

β€Žclient/.husky/commit-msgβ€Ž

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
5+
# 컀밋 μ»¨λ²€μ…˜
6+
# 0. 검사 μ˜ˆμ™Έ 쑰건 (μžλ™ 생성, 졜초 컀밋)
7+
# - Merge branch*, Merge pull request*, initial*
8+
# 1. μ ‘λ‘μ‚¬μ˜ κΈ€μžλŠ” μ†Œλ¬Έμž
9+
# 2. 맨 λ§ˆμ§€λ§‰ κΈ€μž '.' λ§ˆμΉ¨ν‘œ κΈˆμ§€
10+
# 3. 컀밋 접두사 (κ·œμΉ™: '접두사' + '콜둠' + ' ')
11+
# - feat: μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€
12+
# - fix: 버그 μˆ˜μ •
13+
# - docs: λ¬Έμ„œμ˜ μˆ˜μ •
14+
# - style: (μ½”λ“œμ˜ μˆ˜μ • 없이) μŠ€νƒ€μΌ(style)만 λ³€κ²½(λ“€μ—¬μ“°κΈ° 같은 ν¬λ§·μ΄λ‚˜ μ„Έλ―Έμ½œλ‘ μ„ 빼먹은 경우)
15+
# - refactor: μ½”λ“œλ₯Ό λ¦¬νŽ™ν† λ§
16+
# - test: Test κ΄€λ ¨ν•œ μ½”λ“œμ˜ μΆ”κ°€, μˆ˜μ •
17+
# - chore: (μ½”λ“œμ˜ μˆ˜μ • 없이) 섀정을 λ³€κ²½
18+
# - design: css μ½”λ“œ μˆ˜μ •
19+
20+
COMMIT_MSG_FILE=$1
21+
FIRST_LINE=`head -n1 ${COMMIT_MSG_FILE}`
22+
RES="needCheck" # needCheck, auto, initial, lintError*, clear
23+
24+
if [[ $FIRST_LINE =~ ^(Merge branch) ]] ||
25+
[[ $FIRST_LINE =~ ^(Merge pull request) ]]; then
26+
RES="auto"
27+
fi
28+
29+
if [[ $FIRST_LINE =~ ^(initial) ]]; then
30+
RES="initial"
31+
fi
32+
33+
if [ $RES == "needCheck" ]; then
34+
if [[ $FIRST_LINE =~ (\.)$ ]]; then
35+
RES="lintError1"
36+
fi
37+
38+
if [[ ! $FIRST_LINE =~ ^(feat: ) ]] &&
39+
[[ ! $FIRST_LINE =~ ^(fix: ) ]] &&
40+
[[ ! $FIRST_LINE =~ ^(docs: ) ]] &&
41+
[[ ! $FIRST_LINE =~ ^(style: ) ]] &&
42+
[[ ! $FIRST_LINE =~ ^(refactor: ) ]] &&
43+
[[ ! $FIRST_LINE =~ ^(test: ) ]] &&
44+
[[ ! $FIRST_LINE =~ ^(design: ) ]] &&
45+
[[ ! $FIRST_LINE =~ ^(build: ) ]] &&
46+
[[ ! $FIRST_LINE =~ ^(chore: ) ]]; then
47+
RES="lintError2"
48+
fi
49+
50+
if [[ ! $RES =~ ^(lintError) ]]; then
51+
RES="clear"
52+
fi
53+
fi
54+
55+
if [[ $RES =~ ^(lintError) ]]; then
56+
if [[ $RES == "lintError1" ]]; then
57+
echo "CommitLint#1: λ¬Έμž₯ λ§ˆμ§€λ§‰μ˜ ('.') λ§ˆμΉ¨ν‘œλ₯Ό μ œκ±°ν•΄μ£Όμ„Έμš”."
58+
fi
59+
if [[ $RES == "lintError2" ]]; then
60+
echo "CommitLint#2: 접두사, 콜둠, 띄어쓰기 ν˜•νƒœλ₯Ό ν™•μΈν•˜μ„Έμš”. (feat: , fix: , docs: , style: , refactor: , test: , chore: )"
61+
fi
62+
exit 1
63+
elif [[ $RES == "auto" ]]; then
64+
echo "Automatically generated commit message from git"
65+
elif [[ $RES == "initial" ]]; then
66+
echo "Initial commit"
67+
elif [[ $RES == "clear" ]]; then
68+
echo "Pass commit lint!"
69+
fi
70+
71+
exit 0

β€Žclient/.husky/pre-commitβ€Ž

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
cd client && echo πŸ‘©πŸΏβ€πŸ’»FE πŸ‘©πŸΏβ€πŸ’» pre-commit rules applying... && npm run lint-fix && node checkUtilTests.js && npm test

β€Žclient/.prettierrcβ€Ž

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"printWidth": 90,
3+
"singleQuote": true,
4+
"jsxSingleQuote": true,
5+
"newline-between-functions": true
6+
}

β€Žclient/.storybook/main.tsβ€Ž

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import type { StorybookConfig } from '@storybook/react-webpack5';
2+
3+
const config: StorybookConfig = {
4+
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
5+
addons: [
6+
'@storybook/addon-links',
7+
'@storybook/addon-essentials',
8+
'@storybook/addon-onboarding',
9+
'@storybook/addon-interactions',
10+
],
11+
framework: {
12+
name: '@storybook/react-webpack5',
13+
options: {},
14+
},
15+
docs: {
16+
autodocs: 'tag',
17+
},
18+
};
19+
export default config;

0 commit comments

Comments
Β (0)