Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
584 commits
Select commit Hold shift + click to select a range
1251f11
refactor: #100 (섞임) modal(form용 submit props추가 -> confirm과 분리), util,…
nidor022 Nov 19, 2025
856eaee
Merge pull request #134 from codeit18-4-5/feat/article-list
suuuuya Nov 20, 2025
1612d66
Merge branch 'develop' into feat/article-create
suuuuya Nov 20, 2025
fbfcf14
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 20, 2025
ea9c194
Merge branch 'develop' into feat/auth
sohyun0 Nov 20, 2025
c9e721f
feat: #91 자유게시판 폼 컴포넌트 작성/수정 타입 props artcle.ts로 정리
suuuuya Nov 20, 2025
4c71d7c
Merge remote-tracking branch 'origin/develop' into feat/tasklist
nidor022 Nov 20, 2025
f611ee7
feat: #100 tasklist 메인 임시커밋
nidor022 Nov 20, 2025
85806c2
remove: #56 사용하지 않는 api 삭제
sohyun0 Nov 20, 2025
b5b42ff
feat: #56 카카오 api 수정
sohyun0 Nov 20, 2025
4ccc41d
feat: #56 카카오 로그인 버튼 구현
sohyun0 Nov 20, 2025
12913f9
feat: #56 카카오 리다이렉트 페이지
sohyun0 Nov 20, 2025
a91cd61
feat: #56 카카오 버튼 컴포넌트 추가
sohyun0 Nov 20, 2025
2eb9b83
feat: #56 카카오 로그인 기능 추가
sohyun0 Nov 20, 2025
de55d3f
refactor: #91 이미지 업로드 컴포넌트 폼상태 분리, 제출 시점에만 서버 전송 하도록 리팩토링, 기타 테스트(임시 저장)
suuuuya Nov 20, 2025
dcc8ddf
feat: #56 카카오 로그인 실패시 모달 오픈
sohyun0 Nov 20, 2025
5eb2b86
refactor: #91 게시글 폼/이미지 업로드 개선(이미지 제출시에만 string), svg 이미지 업로드 차단
suuuuya Nov 20, 2025
53f5c1d
fix: #91 작성 페이지 내 잘못 반영된 defaultValues 삭제 수정 페이지 defaultValues 로직 수정
suuuuya Nov 21, 2025
bb7e0c4
fix: #90 ImgUpload 스토리에서 control prop을 제거하고 onChange 핸들러 추가(빌드 오류 해결)
suuuuya Nov 21, 2025
3057fb3
feat: #91 게시글 작성/수정 시 상태 관리 개선(useMutation)
suuuuya Nov 21, 2025
ce3fc25
feat: #91 자유게시판 게시글 편집 폼 로딩 및 오류 처리 UI 개선
suuuuya Nov 21, 2025
b23fa05
chore: #90 게시글 작성/편집 페이지 routes 하위로 폴더 이동
suuuuya Nov 21, 2025
cbdd311
Merge pull request #135 from codeit18-4-5/feat/auth
sohyun0 Nov 21, 2025
c71bd7b
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 21, 2025
f1a7173
feat: #51 로그인 관련 페이지 header 추가
sohyun0 Nov 21, 2025
97cb6a0
feat: #58 기본 routes 경로 layout 추가
sohyun0 Nov 21, 2025
1775226
feat: #58 미들웨어 사용하여 라우팅 보호
sohyun0 Nov 21, 2025
111c749
feat: #58 라우팅 보호 화이트 리스트 작성
sohyun0 Nov 21, 2025
5b00eed
rename: #58 기존 routes 그룹 test 로 이동
sohyun0 Nov 21, 2025
2b45191
refactor: #49 image 업로드 api 통일을 위하여 수정, 코드리뷰 반영
sejin5 Nov 21, 2025
7df8d05
rename: #49 폴더 경로 수정, team 경로 구성을 위한 파일 추가
sejin5 Nov 21, 2025
2336e3f
Merge remote-tracking branch 'origin/develop' into feat/tasklist
nidor022 Nov 21, 2025
7621d53
feat: #100 tasklist type, utils 함수 조금 수정
nidor022 Nov 21, 2025
0872a9b
feat: #86 게시글 상세 페이지 및 상세 정보/댓글 컴포넌트 구현, 접근성 개선(시간표기, 작성자, 작성글 정보 등)
suuuuya Nov 21, 2025
dc6733d
feat: #66 비밀번호 재설정 ui와 같이사용을 위해 옵션추가
sohyun0 Nov 21, 2025
782572f
feat: #66 비밀번호 재설정을 위한 이메일 전송 모달 추가
sohyun0 Nov 21, 2025
867e8a3
feat: #66 비밀번호 재설정 모달 및 페이지 인풋 필드 추가
sohyun0 Nov 21, 2025
8260af3
feat: #68 user password 관련 타입 추가
sohyun0 Nov 21, 2025
e847656
refactor: #68 동일한 유효성 검사를 여러번 작성하지 않기위해 개별로직으로 분리 후 조합 형식으로 변경
sohyun0 Nov 21, 2025
97ea4c8
feat: #68 비밀번호 재설정 에러 핸들러 추가
sohyun0 Nov 21, 2025
d4f7b5b
feat: #68 비밀번호 재설정 api 추가
sohyun0 Nov 21, 2025
1ed6104
feat: #68 비밀번호 재설정 시 이메일 전달하는 모달 및 이메일 발송 기능 추가
sohyun0 Nov 21, 2025
f9fed23
feat: #68 메일 리다이렉트 및 비밀번호 재설정 가능한 페이지 UI 및 기능 추가
sohyun0 Nov 21, 2025
b32981c
refactor: #100 utils, task type 수정
nidor022 Nov 21, 2025
6e98fa4
feat: #110 task 등록 modal form zod 유효성검사 코드 작성
nidor022 Nov 21, 2025
3843e32
refactor: #100 datepicker 현재날짜 이전 선택 가능하게 할지말지 useMinDate 값으로 구분. (bo…
nidor022 Nov 21, 2025
0051458
feat: #100 datepicker size 화면에 맞게 조정. (노가다로 구현), modal css 조금 변경
nidor022 Nov 22, 2025
95b652e
style: #86 게시글 상세 페이지 스타일 및 mockComment 적용
suuuuya Nov 22, 2025
f4ee61c
Merge branch 'develop' into feat/article-create
suuuuya Nov 22, 2025
9823c6f
fix: #91 axiosErrorMsg삭제 빌드 오류 해결
suuuuya Nov 22, 2025
0c73488
feat: #100 axios-sever 파일
nidor022 Nov 22, 2025
64c2c7e
feat: #100 tasklist page (100, 101, 102, 105 포함 ㅠ), 그리고 team경로 url파일 …
nidor022 Nov 22, 2025
a366b08
feat: #106 tasklist date api로 가져오는기능
nidor022 Nov 22, 2025
c123328
refactor: #100 기존경로 page제거
nidor022 Nov 22, 2025
c5c1fa9
feat: #106 tasklist get용 api
nidor022 Nov 22, 2025
db9b389
feat: #145 tasklist card 컴포넌트
nidor022 Nov 22, 2025
6f5cbe9
feat: #143 taslist layout 및 css
nidor022 Nov 22, 2025
7988433
chore: #58 콘솔로그 삭제
sohyun0 Nov 22, 2025
3f2912a
feat: #121 modal 인터셉팅 라우트방식으로 생성
nidor022 Nov 22, 2025
c2c575f
feat: #121 tasklist 그룹명 모달 ui
nidor022 Nov 22, 2025
ee5374c
feat: #121 task 생성 모달 ui, 유효성검사까지 (122, 123)
nidor022 Nov 22, 2025
cfc41f8
refactor: #121 상세보기 페이지 일단 주석처리
nidor022 Nov 22, 2025
80ef929
fix:#121 modal page promise 누락값 추가
nidor022 Nov 22, 2025
372fc93
refactor: #91 쿼리 키 일관되게 변경하여 개선
suuuuya Nov 22, 2025
cdd8615
fix: #121 detail modal 누락된부분 주석처리
nidor022 Nov 22, 2025
e21cdd5
fix: #100 임시 page 내용생성
nidor022 Nov 22, 2025
b669ecc
fix: #100 vercel배포문제 , params props값 추가
nidor022 Nov 22, 2025
3532b86
refactor: #91 useMutation에서 mutate 호출 방식 개선
suuuuya Nov 22, 2025
6ce8654
refactor: #91 이미지 업로드 훅에 SVG 파일 제한 에러 삭제 accept에 속성 제외 처리하여 개선
suuuuya Nov 22, 2025
3352521
reafactor: #100 tasklist page에서 params받도록 설정 (찐막), 쿼리 key 변경
nidor022 Nov 22, 2025
7499eed
design: #121 할일 그룹 추가 css 조정
nidor022 Nov 22, 2025
d674403
refactor: #100 목록 추가 명칭 명경
nidor022 Nov 22, 2025
40af6d7
Merge pull request #138 from codeit18-4-5/feat/middleware
sohyun0 Nov 22, 2025
4c3ed18
Merge remote-tracking branch 'origin/develop' into feat/tasklist
nidor022 Nov 22, 2025
e2ad1aa
fix: #100 tasklist layout header 제거
nidor022 Nov 22, 2025
5b24b45
Merge pull request #139 from codeit18-4-5/feat/kakao
sohyun0 Nov 22, 2025
c8619da
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 22, 2025
4400128
chore: #68 rename 충돌 해결을 위해 빈 페이지 생성
sohyun0 Nov 22, 2025
40d0a9a
remove: #68 rename 충돌 해결을 위해 삭제
sohyun0 Nov 22, 2025
5aaf2b7
테스트용 커밋
nidor022 Nov 22, 2025
dd41bb3
Merge branch 'test2' into feat/tasklist
nidor022 Nov 22, 2025
95e1a9b
Revert "Merge branch 'test2' into feat/tasklist"
nidor022 Nov 22, 2025
4c5d263
fix: #142 console.log -> console.error로 변경
nidor022 Nov 22, 2025
9149fcf
fix: #142 tasklis api 필요없는 예외처리 제거
nidor022 Nov 22, 2025
c719a9b
fix: #142 필요없는 공백 제거및 tasklist title font사이즈 조정
nidor022 Nov 22, 2025
3a99c4a
fix: #142 인증필요한 api url 수정
nidor022 Nov 22, 2025
8668b09
fix: #142 소수점 width 조정(ㅋ) 및 불필요한 프래그먼트 제거
nidor022 Nov 22, 2025
0eefdbc
fix: #142 window... -> usePathname으로 변경, tab.label 오타 수정
nidor022 Nov 22, 2025
b131cb4
fix: #142 할일 만들기 모달 불필요한 주석 및 console.log제거
nidor022 Nov 22, 2025
4c6a2f8
feat: #100 할일 상세 인터셉팅 라우트 -> 기본 사이드 패널구조로 변경
nidor022 Nov 22, 2025
2441f32
Merge pull request #137 from codeit18-4-5/feat/article-create
suuuuya Nov 22, 2025
ab89ac3
Merge remote-tracking branch 'origin/develop' into feat/tasklist
nidor022 Nov 22, 2025
6fe19cc
feat: #87 게시글 상세 페이지 getArticleDetail API 연동 및 상세 정보 연결에 필요한 API 생성 작…
suuuuya Nov 22, 2025
f219157
refactor: #100 layout한번만 더 변경 (폴더구조)
nidor022 Nov 22, 2025
8086c30
fix: #142 인증 url 경로 변경
nidor022 Nov 22, 2025
3a2f939
Merge branch 'develop' into feat/article-detail
suuuuya Nov 22, 2025
6c9c024
feat: #55 액세스 토큰 쿠키에 저장
sohyun0 Nov 22, 2025
fbe4e9c
feat: #55 eslint DOM타입 추가
sohyun0 Nov 22, 2025
071edd7
feat: #87 게시글 상세 페이지 ArticleCommentSection API 연동 및 댓글 수정, 삭제 처리(Aler…
suuuuya Nov 22, 2025
5cacf97
feat: #55 no auth url 유틸함수 axios 와 분리
sohyun0 Nov 23, 2025
f7e041c
chore: #55 수정된 유틸함수로 변경
sohyun0 Nov 23, 2025
6e8f02d
feat: #55 app url 추가
sohyun0 Nov 23, 2025
7c99080
feat: #55 로그인 시 액세스 토큰 쿠키에 저장
sohyun0 Nov 23, 2025
7ca9cc7
style: #55 환경변수 컴포넌트 밖으로 이동
sohyun0 Nov 23, 2025
5ef6471
feat: #55 로그아웃 시 액세스 토큰 삭제
sohyun0 Nov 23, 2025
57ffc4c
chore: #55 콘솔 삭제
sohyun0 Nov 23, 2025
4902b19
feat: #55 서버 패치 헬퍼함수 에러핸들러 추가
sohyun0 Nov 23, 2025
78a704f
feat: #55 SSR 서버 패치 헬퍼함수
sohyun0 Nov 23, 2025
3c13dfe
feat: #55 서버 패치 함수 타입 추가 및 에러 핸들러 통일
sohyun0 Nov 23, 2025
92b116d
refactor: #55 서버 패치 함수 조건 개선
sohyun0 Nov 23, 2025
07b89d6
refactor: #55 서버 패치 에러 핸들러 클래스 이름 변경 및 생성자 수정
sohyun0 Nov 23, 2025
5b6070a
feat: #55 로그인 페이지에서 만료된 세션 처리 및 서버 API 인증 실패 시 자동 로그아웃 기능 추가
sohyun0 Nov 23, 2025
93369a2
feat: #55 액세스토큰 리프레시 요청 api 추가
sohyun0 Nov 23, 2025
2735eb4
feat: #55 getSSRUser 함수 추가 및 getUserFromRefresh 제거
sohyun0 Nov 23, 2025
b166788
refactor: #55 초기 유저 정보 조회 방식 변경 및 액세스 토큰 재발급 로직 개선
sohyun0 Nov 23, 2025
fe9cad4
feat: #71 마이 히스토리 api 및 타입 정의
sohyun0 Nov 23, 2025
7a8079c
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 23, 2025
3726888
feat: #87 게시글 상세 페이지 댓글 기능 개선(ReplyInput 폼 submit 방식, 댓글 수정됨 표시 등) 및 …
suuuuya Nov 23, 2025
ef37ccb
feat: #87 게시글 상세 페이지 댓글 영역 ReplySkeleton 적용
suuuuya Nov 23, 2025
d1c446d
feat: #87 게시글 상세 페이지 댓글 영역에 댓글이 없을 경우 ArticleListEmpty 추가
suuuuya Nov 23, 2025
176629e
refactor: #55 serverApi 삭제
sohyun0 Nov 23, 2025
f3b0b11
refactor: #55 로그아웃 로직 정리
sohyun0 Nov 23, 2025
0c819b8
feat: #87 ArticleDetailPage HydrationBoundary 적용 및 클라이언트 훅 사용 컴포넌트에 u…
suuuuya Nov 23, 2025
fdd619b
feat: #87 상세 페이지 댓글 목록 ArticleCommentList 컴포넌트로 분리
suuuuya Nov 23, 2025
ddbf602
refactor: #87 이미지 업로드/삭제/유지 분기 로직 개선 및 불필요 코드 삭제
suuuuya Nov 24, 2025
cec429a
feat: #87 게시글 삭제 기능 추가, 게시판용 KebabMenu 컴포넌트 구현 및 연동
suuuuya Nov 24, 2025
f7a2399
refactor: #55 useAuthStore 호출 방식 변경 및 초기화 로직 개선
sohyun0 Nov 24, 2025
facf488
chore: #55 콘솔로그 삭제
sohyun0 Nov 24, 2025
cfde8a9
feat: #87 댓글/좋아요 수 표시 방식 개선 및 관련 유틸리티 함수 추가, 자유 게시판 리스트 페이지에 게시글 댓글 영…
suuuuya Nov 24, 2025
26fc3f4
feat: #55 액세스 토큰 관리 방식을 zustand 에서 cookie로 변경
sohyun0 Nov 24, 2025
e54f3bd
feat: #55 리다이렉트 쿼리 파라미터가 있으면 작성한 경로로 이동 추가
sohyun0 Nov 24, 2025
1ba26cc
chore: #55 콘솔로그 삭제
sohyun0 Nov 24, 2025
c2f6848
fix: #87 ReplyInput 스토리 입력값/변경 핸들러 추가(빌드오류해결)
suuuuya Nov 24, 2025
d0a914c
refactor: #55 axios에서 logoutDirect 사용할 수 있도록 함수 위치 변경
sohyun0 Nov 24, 2025
a8ab2f2
fix: #55 use client 추가
sohyun0 Nov 24, 2025
28dc156
fix: #55 vercel error 해결
sohyun0 Nov 24, 2025
4a0f096
feat: #55 useSearchParams 사용으로 인해 Suspense 추가
sohyun0 Nov 24, 2025
3983e38
asset: #78 팀 리포트 페이지 이미지 추가
sejin5 Nov 24, 2025
f578093
chore: #49 image upload ui 통일
sejin5 Nov 24, 2025
ac9b24c
refactor: #49 api 통일 후 수정
sejin5 Nov 24, 2025
4e6794b
delete: #49 api 중복 삭제
sejin5 Nov 24, 2025
dff7f70
Merge pull request #142 from codeit18-4-5/feat/tasklist
nidor022 Nov 24, 2025
cefcf90
Merge branch 'develop' into feat/addteam
sejin5 Nov 24, 2025
54d1bd8
Merge pull request #136 from codeit18-4-5/feat/addteam
sejin5 Nov 24, 2025
5ddede1
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sejin5 Nov 24, 2025
74ecfb6
feat: #77 할일목록 UI
sejin5 Nov 24, 2025
c5e9989
feat: #78 progress lib 설치, 리포트 UI 구현
sejin5 Nov 24, 2025
6c9c000
feat: #79 할일 목록에 쓰이는 뱃지 UI 구현
sejin5 Nov 24, 2025
001c000
feat: #80 팀 멤버 UI 구현, dropdown div 수정
sejin5 Nov 24, 2025
c2fd9a8
feat: #75 팀 페이지 UI 구현
sejin5 Nov 24, 2025
657887c
fix: #49 Img 태그 width, height 속성 설정
sejin5 Nov 24, 2025
599d422
fix: #145 Imgae 태그 속성 추가
sejin5 Nov 24, 2025
280f634
Merge branch 'develop' into feat/token
sohyun0 Nov 24, 2025
27751d9
fix: #55 git 충돌해결
sohyun0 Nov 24, 2025
6fe630e
design: #70 헤더 포함 최소 높이 css 추가
sohyun0 Nov 24, 2025
9f5a1a7
feat: #70 마이 히스토리 타입 추가
sohyun0 Nov 24, 2025
aff0ef5
feat: #70 마이 히스토리 퍼블리싱
sohyun0 Nov 24, 2025
65a2de3
feat: #71 마이 히스토리 api 작업
sohyun0 Nov 24, 2025
6e30c1f
design: #71 마이 히스토리 날짜스타일 변경
sohyun0 Nov 25, 2025
7b230e4
Merge branch 'develop' into feat/article-detail
suuuuya Nov 25, 2025
35f4d16
refactor: #87 날짜 형식 변환 함수 업데이트
suuuuya Nov 25, 2025
fc2ae3a
feat: 팀 페이지 퍼블리싱
sejin5 Nov 25, 2025
297d5c4
feat: #88 좋아요 버튼 컴포넌트 추가
suuuuya Nov 25, 2025
6e1a269
Merge pull request #141 from codeit18-4-5/feat/article-detail
suuuuya Nov 25, 2025
2673a70
Merge branch 'develop' into feat/token
sohyun0 Nov 25, 2025
65e72bd
fix: git 충돌 해결
sohyun0 Nov 25, 2025
a2844eb
Merge pull request #143 from codeit18-4-5/feat/token
sohyun0 Nov 25, 2025
aa9a279
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 25, 2025
097664a
fix: #66 git 충돌 해결
sohyun0 Nov 25, 2025
73e99cf
chore: #66 일부 텍스트 변경
sohyun0 Nov 25, 2025
eb1369d
feat: #66 Suspense 추가
sohyun0 Nov 25, 2025
daa6c11
Merge pull request #140 from codeit18-4-5/feat/password
sohyun0 Nov 25, 2025
570a1ad
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 25, 2025
dde934f
feat: #62 유저 비밀번호 변경 api 추가
sohyun0 Nov 25, 2025
84e4fb3
feat: #88 상세 페이지 좋아요 기능 추가 및 상세 페이지 초기 데이터 설정(임시저장)
suuuuya Nov 25, 2025
7ac8871
Merge branch 'develop' into feat/article-detail
suuuuya Nov 25, 2025
d44fc4d
feat: #87 상세 페이지 상세 정보 서버 컴포넌트로 분리
suuuuya Nov 26, 2025
4d27dbe
refactor: #87 댓글 및 좋아요 카운트 클라이언트 컴포넌트로 분리, 최신화 적용
suuuuya Nov 26, 2025
f9c87ce
refactor: #87 댓글 입력 필드 onSuccess시 초기화, 핸들러 함수 개선
suuuuya Nov 26, 2025
9d6bcfb
feat: #62 유저 프로필 변경 스키마 추가
sohyun0 Nov 25, 2025
638b398
feat: #63 파일 정책에 이미지 형식 추가
sohyun0 Nov 26, 2025
08b7598
asset: #63 프로필 이미지 삭제 이미지 추가
sohyun0 Nov 26, 2025
de520b2
refactor: #87 상세 페이지 좋아요/댓글 카운트 캐시 데이터 활용
suuuuya Nov 26, 2025
cef74a9
refactor: #88 상세 페이지 좋아요 및 댓글 기능 개선 작업 진행(임시저장)
suuuuya Nov 26, 2025
fb0073a
feat: #62 유저 프로필 변경 api 추가
sohyun0 Nov 26, 2025
814b2e2
feat: #62 form 에 id 및 method 추가할수 있도록 변경
sohyun0 Nov 26, 2025
0bd08d9
feat: #62 프로필 수정 및 비밀번호 변경, 회원탈퇴
sohyun0 Nov 26, 2025
4b44e04
chore: #62 프로필 수정 및 비밀번호 변경, 회원탈퇴 파일 export 정리
sohyun0 Nov 26, 2025
cd3f9ba
feat: #62 프로필 닉네임도 옵셔널로 변경
sohyun0 Nov 26, 2025
0f0b77a
feat: #62 프로필 수정 기능 추가
sohyun0 Nov 26, 2025
0c012ed
feat: #61 유저 프로필용 스켈레톤UI 추가
sohyun0 Nov 26, 2025
adbe16c
feat: #62 dev모드일때 콘솔에러 노출되는 에러 유틸 함수 추가
sohyun0 Nov 26, 2025
386b353
feat: #62 프로필 관련 리액트 쿼리 추가
sohyun0 Nov 26, 2025
44d8a2d
refactor: #62 api 작업 리액트 쿼리 사용으로 변경
sohyun0 Nov 26, 2025
a51fc3b
feat: #61 중복 서브밋 방지 disabled 처리
sohyun0 Nov 26, 2025
55619d6
feat: #71 마이 히스토리 csr api 추가
sohyun0 Nov 26, 2025
c794f02
feat: #71 마이 히스토리 SSR 으로 변경 및 리액트 쿼리 적용
sohyun0 Nov 26, 2025
baecffe
design: #70 마이 히스토리 아이콘 크기 수정
sohyun0 Nov 26, 2025
52675bf
refactor: #87 상세 페이지 api 중복 호출 방지 하위(좋아요, 댓글, 카운트 등) 클라이언트 컴포넌트에서 ini…
suuuuya Nov 26, 2025
f065bf8
refactor: #87 자유게시판 글쓰기 버튼 클릭 시 로그인 모달 추가 및 라우팅 처리
suuuuya Nov 26, 2025
0f084ae
fix: #88 빌드 오류 해결
suuuuya Nov 26, 2025
dfd5766
feat: #148 팀페이지 get api 연동
sejin5 Nov 26, 2025
41bb58a
feat: #150 멤버 내보내기/나가기 구현
sejin5 Nov 26, 2025
ccf2583
style: #149 스타일, props, import 수정
sejin5 Nov 26, 2025
5680bc0
asset: #158 토스트 아이콘 추가
sohyun0 Nov 26, 2025
36749b5
feat: #158 토스트 퍼블리싱
sohyun0 Nov 26, 2025
33111bf
chore: #158 토스트 테스트 버튼 추가
sohyun0 Nov 26, 2025
31fda8f
feat: #162 자유 게시판 팀 참여 토큰 필드 추가(JSON 구조로 필드 추가, 유효성, 상세 페이지 내 토큰 복사 기…
suuuuya Nov 27, 2025
c8d4557
style: #162 copyToken 스타일 분리 및 적용
suuuuya Nov 27, 2025
c8a2632
design: #158 토스트 디자인 변경
sohyun0 Nov 27, 2025
45fc592
feat: #158 다중 토스트 기능 구현
sohyun0 Nov 27, 2025
5eaf59a
Merge pull request #164 from codeit18-4-5/feat/toast
sohyun0 Nov 27, 2025
c33a77d
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 27, 2025
9c39f7c
feat: #71 마이 히스토리 SSR 실패시 CSR로 넘어가도록 처리
sohyun0 Nov 27, 2025
19b7524
design: #71 마이 히스토리 스켈레톤 ui 추가
sohyun0 Nov 27, 2025
91f53a5
design: #71 마이 히스토리 데이터 없을때 ui 추가
sohyun0 Nov 27, 2025
fa683fb
design: #71 history layout에 container 추가
sohyun0 Nov 27, 2025
4648cfe
feat: #71 SSR 실패시 처리 및 CSR 실패시 재시도 ui 추가
sohyun0 Nov 27, 2025
9338665
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 27, 2025
400015f
design: #158 토스트 classname 추가 및 css 줄바꿈 추가
sohyun0 Nov 27, 2025
9597f27
feat: #62 비밀번호 및 탈퇴로직 리액트 쿼리 추가 및 상호작용 후 toast 노출
sohyun0 Nov 27, 2025
52729ce
feat: #160 페이지에 있던Suspense 컴포넌트를 Layout으로 이동 및 fallback 컴포넌트 적용
sohyun0 Nov 28, 2025
541552c
design: #160 auth layout container height 조정
sohyun0 Nov 28, 2025
07b0921
rename: #160 login -> signin 용어통일
sohyun0 Nov 28, 2025
f171a5d
refactor: #160 사용하지 않는 타입 제거 및 재사용 가능한 네이밍으로 수정
sohyun0 Nov 28, 2025
d0285ac
feat: #160 리액트 쿼리 적용
sohyun0 Nov 28, 2025
078445b
refactor: #160 authfield 컴포넌트 재사용할 수 있도록 확장
sohyun0 Nov 28, 2025
99ad17b
feat: #160 toast ui 추가
sohyun0 Nov 28, 2025
018fc73
chore: #160 공통 type 으로 이동
sohyun0 Nov 28, 2025
1f8a4d8
feat: #160 auth 관련 리액트 쿼리 hook 작성
sohyun0 Nov 28, 2025
3a28c3a
feat: #160 auth 관련 스켈레톤 ui 작성
sohyun0 Nov 28, 2025
3762568
feat: 그룹 정보 연동 및 멤버 내보내기 구현
sejin5 Nov 28, 2025
0195524
chore: #62 오타 수정
sohyun0 Nov 28, 2025
8968a91
Merge pull request #154 from codeit18-4-5/feat/history
sohyun0 Nov 28, 2025
b3bd600
Merge pull request #153 from codeit18-4-5/feat/profile
sohyun0 Nov 28, 2025
fab17b3
Merge branch 'develop' of https://github.com/codeit18-4-5/Plango into…
sohyun0 Nov 28, 2025
32278f4
feat: #71 마이 히스토리 isLoading-> isPending 으로 변경
sohyun0 Nov 28, 2025
e716d9d
feat: #62 유저 프로필 isLoading-> isPending 으로 변경
sohyun0 Nov 28, 2025
ff7ea5c
refactor: #160 error 메세지를 dev 에서만 노출하도록 변경
sohyun0 Nov 28, 2025
6fa381b
Merge pull request #163 from codeit18-4-5/refactor/article-create
suuuuya Nov 28, 2025
49ecfdd
Merge branch 'develop' into feat/article-detail
suuuuya Nov 28, 2025
2502a7b
fix: #87 CopyToken 컴포넌트 "use client"추가 (빌드 에러 해결)
suuuuya Nov 28, 2025
4045492
Merge pull request #155 from codeit18-4-5/feat/article-detail
suuuuya Nov 28, 2025
9cacbae
feat: #170 Header dropdown 분리 및 get-api 연동
sejin5 Nov 28, 2025
0d697df
feat: #170 routes layout user prop 전달 및 header 수정
sejin5 Nov 28, 2025
7bb27c9
fix: #170 group이 없을때도 sidebar 열리도록 수정
sejin5 Nov 28, 2025
598d1d4
feat: header api 연동
sejin5 Nov 28, 2025
4d0ead4
Merge pull request #165 from codeit18-4-5/refactor/auth
sohyun0 Nov 28, 2025
a96baa4
fix: vercel 에러 해결을 위한 use client 추가
sejin5 Nov 28, 2025
795a380
Merge pull request #174 from codeit18-4-5/fix/vercel
sejin5 Nov 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "\U0001F41B 버그 리포트 템플릿"
description: 프로젝트에서 발생하는 버그에 대해 명세합니다.
title: "[Fix] Issue title"
labels: "\U0001F41B fix"
body:
- type: input
id: parentKey
attributes:
label: '🎟️ 상위 작업 (Ticket Number)'
description: '상위 작업의 Ticket Number를 기입해주세요'
placeholder: 'SPFE18-00'
validations:
required: false

- type: textarea
id: description
attributes:
label: '버그리포트 요약'
description: '개선할 작업들을 작성해주세요'
value: |
## 💬 버그 설명
<!-- 문제가 생긴 상황을 간단히 설명해주세요. -->
## 🔁 재현 방법
<!-- 문제가 어떻게 발생했는지 순서대로 작성해주세요. -->
## ⚙️ 기대 동작
<!-- 정상적으로 어떤 동작을 기대했는지 설명해주세요. -->
## 📸 스크린샷 (선택사항)
## 📄 추가 정보
<!-- 기타 참고할만한 정보나 자료가 있다면 자유롭게 작성해주세요. -->
validations:
required: true
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "✨ 기능 개발 템플릿"
description: 개발해야 하는 기능을 단위별로 명세합니다.
title: "[Feat] Issue title"
labels: "✨ feat"
body:
- type: input
id: parentKey
attributes:
label: '🎟️ 상위 작업 (Ticket Number)'
description: '상위 작업의 Ticket Number를 기입해주세요'
placeholder: 'SPFE18-00'
validations:
required: false

- type: textarea
id: description
attributes:
label: '기능개발 요약'
description: '진행할 작업들을 작성해주세요'
value: |
## ✨ 기능 개요
<!-- 어떤 기능을 개발해야 하는지 간단히 설명해주세요. -->

## ✅ 작업 To-do
<!-- 진행할 작업들을 체크리스트 형식으로 정리해주세요. (작업 완료 시 체크)-->
- [ ] 항목 1
- [ ] 항목 2

## 🔁 연관된 화면/기능 (선택사항)
<!-- 이 기능과 연결되거나 영향을 줄 수 있는 화면/기능을 적어주세요.-->

## 📅 예상 일정 (선택사항)
<!-- 개발 예상 기간이나 작업 분배 계획이 있다면 적어주세요.-->

## 📄 참고 사항
<!-- 기타 참고 사항이 있다면 자유롭게 남겨주세요.-->
validations:
required: true
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/refactor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "♻️ 리팩토링 템플릿"
description: 개선 작업 내용에 대해 명세합니다.
title: "[Refactor] Issue title"
labels: "♻️ refactor"
body:
- type: input
id: parentKey
attributes:
label: "🎟️ 상위 작업 (Ticket Number)"
description: "상위 작업의 Ticket Number를 기입해주세요"
placeholder: "SPFE18-00"
validations:
required: false

- type: textarea
id: description
attributes:
label: "리팩토링 요약"
description: "개선할 작업들을 작성해주세요"
value: |
## ♻️ 리팩토링 목적
<!--리팩토링 대상과 개선이 필요한 이유를 간단히 설명해주세요.-->
## ✅ 개선 방향
<!-- 리팩토링 계획과 방법을 간단히 설명해주세요.-->
## ⚠️ 영향 범위/고려사항 (선택사항)
<!-- 변경으로 인한 영향 범위나 리스크 사항에 대해 작성해주세요.-->
## 📄 참고 사항 (선택사항)
<!-- 관련 문서, 참고 링크, 이 외 기타 참고 사항이 있다면 작성해주세요.-->
validations:
required: true
20 changes: 20 additions & 0 deletions .github/auto_assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Set to true to add reviewers to pull requests
addReviewers: true

# Set to true to add assignees to pull requests
addAssignees: author

# A list of reviewers to be added to pull requests (GitHub user name)
reviewers:
- sohyun0
- sejin5
- nidor022
- suuuuya

# A list of keywords to be skipped the process that add reviewers if pull requests include it
skipKeywords:
- wip

# A number of reviewers added to the pull request
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 3
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- PR 제목은 '[Jira Issue Key] #이슈번호 작업 내용 요약'으로 통일해주세요. -->

## 📄 PR 내용 요약

<!-- 어떤 작업을 했는지 간단하게 설명해주세요. -->

## ✅ 작업 내용 상세

<!-- 작업한 내용을 작성해주세요. -->

## 📸 스크린샷 (선택사항)

## 💬 참고 사항

<!-- 리뷰어에게 전달하고 싶은 참고 사항이나 이슈가 있다면 자유롭게 작성해주세요. -->
136 changes: 136 additions & 0 deletions .github/workflows/create-jira-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Create Jira issue
on:
issues:
types:
- opened

permissions:
contents: read
issues: write

jobs:
create-issue:
name: Create Jira issue
runs-on: ubuntu-latest
steps:
- name: Login
uses: atlassian/gajira-login@v3
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
- name: Checkout repository
uses: actions/checkout@v4

- name: Jira Issue Label Setting
id: set_issue_type
run: |
LABELS="${{ join(github.event.issue.labels.*.name, ',') }}"
echo "GitHub Labels: $LABELS"

ISSUE_TYPE="Task"

if echo "$LABELS" | grep -qi "\U0001F41B fix"; then
ISSUE_TYPE="Bug"
elif echo "$LABELS" | grep -qi "✨ feat"; then
ISSUE_TYPE="Feature"
elif echo "$LABELS" | grep -qi "♻️ refactor"; then
ISSUE_TYPE="Feature"
fi

echo "ISSUE_TYPE=$ISSUE_TYPE" >> $GITHUB_OUTPUT

- name: Detect issue template by label
id: detect_template
run: |
LABELS=$(echo "${{ toJson(github.event.issue.labels.*.name) }}" | tr -d '[]"')
TEMPLATE=""

if echo "$LABELS" | grep -q "✨ feat"; then
TEMPLATE=".github/ISSUE_TEMPLATE/feature.yml"
elif echo "$LABELS" | grep -qi "\U0001F41B fix"; then
TEMPLATE=".github/ISSUE_TEMPLATE/bug.yml"
elif echo "$LABELS" | grep -qi "♻️ refactor"; then
TEMPLATE=".github/ISSUE_TEMPLATE/refactor.yml"
else
TEMPLATE=".github/ISSUE_TEMPLATE/feature.yml"
fi

echo "TEMPLATE=$TEMPLATE" >> $GITHUB_OUTPUT

- name: Issue Parser
uses: stefanbuck/github-issue-praser@v3
id: issue-parser
with:
template-path: ${{ steps.detect_template.outputs.TEMPLATE }}

- name: Check Parent Key
id: check_parent
run: |
if [ -z "${{ steps.issue-parser.outputs.issueparser_parentKey }}" ]; then
echo "부모키(parentKey)가 비어 있습니다. Jira 이슈 생성을 중단합니다."
exit 1
else
echo "✅ 부모키 확인됨: ${{ steps.issue-parser.outputs.issueparser_parentKey }}"
fi

- name: Convert markdown to Jira Syntax
uses: peter-evans/jira2md@v1
id: md2jira
with:
input-text: |
### Github Issue Link
- ${{ github.event.issue.html_url }}

${{ github.event.issue.body }}
mode: md2jira

- name: Map GitHub username to Jira accountId
id: map_account
run: |
case "${{ github.event.issue.user.login }}" in
sejin5)
echo "ASSIGNEE_ID=60e42ff9f90dee00694083d9" >> $GITHUB_OUTPUT ;;
sohyun0)
echo "ASSIGNEE_ID=712020:1f582e3a-77a7-4781-9960-678e3e199f15" >> $GITHUB_OUTPUT ;;
suuuuya)
echo "ASSIGNEE_ID=712020:03f8ee6e-4ccb-4818-98cb-72f4eebb0877" >> $GITHUB_OUTPUT ;;
nidor022)
echo "ASSIGNEE_ID=712020:858202d1-c42d-4141-bfcd-f175de469263" >> $GITHUB_OUTPUT ;;
esac

- name: Create Issue
id: create
uses: atlassian/gajira-create@v3
with:
project: SPFE18
issuetype: ${{ steps.set_issue_type.outputs.ISSUE_TYPE }}
summary: "${{ github.event.issue.title }}"
description: "${{ steps.md2jira.outputs.output-text }}"
fields: |
{
"assignee": {
"accountId": "${{ steps.map_account.outputs.ASSIGNEE_ID }}"
},
"parent": {
"key": "${{ steps.issue-parser.outputs.issueparser_parentKey }}"
}
}

- name: Log created issue
run: echo "Jira Issue ${{ steps.issue-parser.outputs.parentKey }}/${{ steps.create.outputs.issue }} was created"

- name: Update issue title
uses: actions-cool/issues-helper@v3
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
title: '[${{ steps.create.outputs.issue }}] ${{ github.event.issue.title }}'

- name: Add comment with Jira issue link
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: 'Jira Issue Created: [${{ steps.create.outputs.issue }}](${{ secrets.JIRA_BASE_URL }}/browse/${{ steps.create.outputs.issue }})'
20 changes: 16 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@
# dependencies
/node_modules
/.pnp
.pnp.js
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage
Expand All @@ -23,14 +28,21 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# local env files
.env*.local
.env
# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

*storybook.log
storybook-static


._*
.temp
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.github
.yml
41 changes: 41 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import type { StorybookConfig } from "@storybook/nextjs";

const config: StorybookConfig = {
stories: ["../src/**/*.stories.@(js|jsx|mdc|ts|tsx)"],
addons: ["@storybook/addon-a11y", "@storybook/addon-docs", "@storybook/addon-themes"],
framework: {
name: "@storybook/nextjs",
options: {
builder: {
name: "@storybook/builder-webpack5",
options: {},
},
},
},
staticDirs: ["../public"],
typescript: {
check: false,
reactDocgen: "react-docgen-typescript",
reactDocgenTypescriptOptions: {
shouldExtractLiteralValuesFromEnum: true,
propFilter: prop => (prop.parent ? !/node_modules/.test(prop.parent.fileName) : true),
},
},
webpackFinal: async config => {
const imageRule = config.module?.rules?.find(rule => {
const test = (rule as { test: RegExp }).test;
if (!test) return false;
return test.test(".svg");
}) as { [key: string]: unknown };
imageRule.exclude = /\.svg$/;

config.module?.rules?.push({
test: /\.svg$/,
use: ["@svgr/webpack"],
});

return config;
},
};

export default config;
Loading