-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
투표 상세보기에서 투표 변경사항이 즉시 적용되지 않음 (#306)
* feat: (#275) 게시물 상세 컴포넌트에서 게시글 정보 불러오기 리액트 쿼리 도입 * feat: (#275) 마감완료 여부 색상 동그라미로 보여주기 구현 * feat: (#275) 작성시간/마감시간 날짜형식에서 텍스트 형태로 수정 - 마감되었을 경우 마감완료로 표시 * fix: (#275) 게시물 목록 필터링/솔팅 셀렉터가 글에 가려지는 오류 수정 - z-index를 1로 설정 * feat: (#275) 전역 로그인 정보에 회원id 필드 추가 * feat: (#275) 게스트용 게시글 api 제작 및 연결 - 상세페이지에서 로그인 정보가 false라면 게스트용 게시글 상세정보 api로 fetch * refactor: (#275) 작성된 선택지 목록 컴포넌트에 작성자 여부 정의 방법 수정 * fix: 댓글창에 게스트여부 잘못 전달되는 오류 수정 * feat: 사용하지 않는 유저 포인트 정보 UI 삭제 * feat: (#275) 조기마감/게시글 삭제도 리액트 쿼리로 전환 * refactor: (#275) 가독성을 위한 개행 * feat: (#275) 게시물 삭제 시 유저 정보 캐시 삭제하도록 설정 * 회원 닉네임 수정, 회원 탈퇴 react-query를 이용한 커스텀훅 구현 (#192) * feat: (#187) 유저가 닉네임을 변경하는 커스텀 훅 구현 * feat: (#187) 유저 회원 탈퇴 기능 커스텀 훅 구현 * feat: (#187) 닉네임 변경 부분 낙관적 업데이트 적용 * refactor: (#187) 닉네임 변경에 실패했을 경우 console.error 코드 추가 * refactor: (#187) 회원 탈퇴를 cancel에서 withdrawal로 변경 * refactor: (#187) dev 브런치 머지 후 파일 경로 재설정 * 토스트/스낵바 컴포넌트 제작 (#259) * feat: (#258) 토스트 컴포넌트 제작 * feat: (#258) 토스트 컴포넌트 생성/삭제 훅 생성 * feat: (#258) 토스트 노출 시간 상수화 * feat: (#258) 토스트 fadeIn/Out 애니메이션 추가 * feat: (#258) 토스트 위치 props 추가 - top/bottom 설정 가능 - 맨 위 화면에 노출 - vw/vh를 사용하여 화면의 가로 중앙에 위치 * test: (#258) 토스트 컴포넌트 사이즈별/위치별 테스트 생성 * feat: (#258) 스낵바 컴포넌트 제작 * test: (#258) 스낵바 컴포넌트 사이즈별/위치별 테스트 생성 * refactor: (#258) 토스트 열림상태 변경 코드 리팩토링 * refactor: 스타일 관련 상수 표기법 변경 및 공통 상수 파일 분리 * 게시글 옵션을 ContextApi를 이용해 전역으로 관리 (#288) * feat: (#282) 게시글 옵션을 ContextApi를 이용해 전역으로 관리 상세 게시글을 보다가 뒤로가기를 하여도 원래 보던 옵션 게시글 목록이 나오도록 하기 위해서 * refactor: (#282) Provider를 RouterProvider만 감싸도록 수정 contextApi를 사용하며 setPostOption의 타입을 선언하는 곳에서 Dispatch, SetStateAction를 사용하도록 수정 * 게시글 목록이 비었을 때 사용자에게 해당 조건에 맞는 게시글이 존재하지 않는다는 UI 컴포넌트 구현 (#199) * feat: (#188) 빈 게시글 목록 리스트일 경우 사용자에게 보여주는 컴포넌트 UI 구현 및 적용 * chore: (#188) husky 권한 부여 * refactor: (#188) usePostList에서 데이터가 비었는지 여부를 반환하는 기능 추가 * refactor: (#188) 스타일 속성 개행, MSW 코드 중 검색 키워드 문자열로 수정 * refactor: (#188) 검색했을 때 전체 옵션이 아닌 경우 '현재 조건에는'이라는 접두사를 붙혀줌 --------- Co-authored-by: chsua <[email protected]> * (비회원) 게시글 목록 조회 (#291) * feat: (#285) querydsl 설정 * feat: (#285) 전체, 진행중, 마감완료, 최신순, 인기순 필터에 따른 게시글 목록 동적 쿼리 구현 * feat: (#285) 쿼리 성능 최적화를 위한 default batch fetch size 설정 * feat: (#285) 비회원 게시글 목록 조회 기능 구현 * feat: (#285) 비회원 게시글 목록 조회 API 구현 * refactor: (#285) 코드 컨벤션 수정 * refactor: (#285) 불필요한 출력문 제거 * refactor: (#285) 중복 어노테이션 제거 * refactor: (#285) 테스트 메서드 가독성 향상 * refactor: (#285) API Swagger 문서화 * chore: (#285) 코드 컨벤션 수정 * refactor: (#285) 시간 저장 범위 수정 * feat: (#285) 카테고리 필터링 조회 구현 * fix: (#285) 불필요한 클래스 제거 * 투표글, 댓글, 닉네임 신고 기능 구현 (#262) * feat: (#164) 신고 엔티티, 레포지토리 구현 * feat: (#164) 게시글 신고 기능 구현 * refactor: (#164) 도메인으로 로직 이동, 및 예외 추가, 함수 분리 * test: (#164) Report의 repository, service 테스트 추가 * feat: (#164) 닉네임 신고 기능 구현 * refactor: (#164) 닉네임 getter 추가 * test: (#164) 닉네임 신고 기능에 대한 검증 추가 * chore: (#164) swagger 어노테이션 추가 * test: (#164) 컨트롤러 신고 검증 추가 * refactor: (#164) nested로 신고 기능 묶기 * refactor: (#164) Report 엔티티 클래스에 컬럼 복합 인덱스 설정 * refactor: (#164) 신고에 대한 비즈니스 로직을 어플리케이션 계층으로 이동 * refactor: (#164) enum타입으로 request받기, ReportService 클래스의 메서드 분리, 중복제거 * refactor: (#164) Report 클래스 reason 필드 추가 * refactor: (#164) NumberGenerator, NicknameNumberGenerator 삭제 * refactor: (#164) 신고 횟수에 대한 비즈니스 로직을 어플리케이션 계층으로 이동 * chore: (#164) conflict 해결 완료 * chore: (#164) conflict 해결 완료 * Revert "투표글, 댓글, 닉네임 신고 기능 구현 (#262)" (#315) This reverts commit 3495a23. * feat: (#164) 신고 기능 구현 (#316) * 게시글, 댓글, 닉네임 신고 API fetch 함수 구현 HTML5 해결 (#296) * feat: (#251) html5으로 인식되도록 코드 추가 * feat: (#167) 신고하는 api 생성 * feat: (#167) 신고용 모달 생성 및 기존 코멘트모달 리팩토링 - 기존 commentModal을 twoButtonModal로 수정 * refactor: 공통으로 사용되는 메뉴 컴포넌트 이름 수정 및 common으로 이동 - CommentMenu > PostMenu * refactor: 신고모달 생성에 따른 기존 댓글신고, 댓글 작성자 신고 모달 대체 * refactor: postMenu를 처음 commentMenu으로 되돌리기 * feat: 공용으로 사용할 수 있는 메뉴 컴포넌트 제작 * test: 공용으로 사용할 수 있는 메뉴 컴포넌트 테스트 * feat: (#167) 게시물 신고 ui 수정 및 api 연동 - 신고 버튼 > 모바일에서는 버튼을 누르면 (게시글/닉네임) menu 가 등장 > 데스크탑에서는 버튼을 게시물신고와 작성자 닉네임 신고로 분리 - 삭제 버튼 클릭시 확인하는 모달 등장 - 신고 버튼 클릭시 사유를 선택하는 모들 등장 - 다만, 아직 api 오류 발생 * test: (#167) 신고 기능 추가에 따라 컴포넌트가 수정되어 테스트 코드도 수정 * fix: then이 catch보다 늦게 있어 오류 발생해도 then이 실행되는 오류 수정 * fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정 * feat: 게시물 삭제 조건 변경 및 예외처리 시 api 통신하지 않도록 수정 - 삭제조건: 마감되지 않으면 삭제불가 > 20인 이상 투표시 삭제 불가 * test: (#167) 게시물 삭제/신고 msw 생성 및 테스트 * refactor: alert창 오타 수정 * test: 댓글 가지고 오는 api msw 중지 * fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정 * feat: (#167) 댓글 신고/댓글 작성자 닉네임 신고기능 생성 * feat: (#167) 게시글 액션 타입 제한 적용 * test: (#167) 게시글 메뉴 컴포넌트 타입 제한에 따른 테스트 변경 * test: (#167) api 테스트 통과를 위해 댓글 msw 복구 * refactor: DeleteModal과 동일한 CommentDeleteModal 삭제하기 * refactor: (#167) 불필요한 타입 정의 정리 * refactor: (#167) 스타일 컨벤션 지키기 * refactor: (#167) 삭제 모달의 삭제 대상 타입 정의 및 상수화 * fix: (#167) 댓글 신고 시 request 데이터 타입 오지정 수정 * feat: (#308) 유저 정보, 카테고리 목록에서 캐싱, 스테일 타임을 1시간으로 수정 (#309) * 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정, 비회원 유저 정보 요청하지 않도록 수정 (#307) * feat: (#299) 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정 비회원일 때 members/me로 통신하지 않도록 수정 * test: (#299) 비회원일때 유저 정보를 불러오는 테스트 케이스 추가 * refactor: (#299) boolean 값을 상수화하여 코드 가독성 개선 * refactor: (#299) api 함수에서 isLogged를 isLoggedIn으로 변수명 변경 * Member 스키마 수정에 따른 코드 변경 (#330) * refactor: (#323) Member 엔티티 필드 수정으로 인한 컴파일 에러 처리 * refactor: (#323) 테스트 오류 수정 --------- Co-authored-by: jeomxon <[email protected]> * 비회원 게시글 목록 조회 추가 기능 구현 (#304) * test: (#292) 비회원 게시글 목록 조회 테스트 케이스 추가 및 비회원 게시글 목록 목킹 데이터 추가 * feat: (#292) 게시글 목록을 불러오는 api 함수에서 회원, 비회원을 구별하여 요청하는 것으로 변경 * test: (#292) 게시글 목록 조회 회원, 비회원에 대한 테스트 케이스 추가 * feat: (#292) 포스트 리스트에 적용 * fix: (#292) 댓글, 투표 MSW 코드에서 .env의 환경 변수를 설정한 것을 제거하고 테스트가 동작하도록 수정 * feat: (#292) 액세스 토큰을 가지고 있을 때 처음 렌더링 시 게스트 게시글 목록에서 회원용 게시글 목록으로 리패치 되도록 구현 * feat: (#292) 카테고리별 게시글일 때 서버에 요청하는 URL 변경 잘못 설정되어 있던 카테고리별 게시글 라우터 변경 내가 투표한 게시글과 내가 작성한 게시글을 번갈아 누를 때 요청하지 않는 문제 수정 * test: (#292) 투표 테스트에서 given을 구체화 * 현재 유저가 어떤 게시글 종류를 보고 있는지 정보를 반환하는 함수 구현 및 적용 (#318) * feat: (#310) 유저에게 어떤 게시글에 대한 종류를 보고 있는지 정보를 반환하는 함수 구현 * feat: (#310) 레이아웃, 포스트 리스트 페이지에 코드 적용 * feat: (#310) 검색어 글자가 10글자가 넘어간다면 ...으로 축약해서 보여주도록 구현 test의 given을 구체화 --------- Co-authored-by: 김영길/KIM YOUNG GIL <[email protected]> Co-authored-by: 최우창 <[email protected]> Co-authored-by: JeongHun Yu <[email protected]>
- Loading branch information
1 parent
ad50c70
commit 3e2db47
Showing
20 changed files
with
155 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import { useMutation, useQueryClient } from '@tanstack/react-query'; | ||
|
||
import { deletePost } from '@api/post'; | ||
|
||
import { QUERY_KEY } from '@constants/queryKey'; | ||
|
||
export const useDeletePost = (postId: number, isLogged: boolean) => { | ||
const queryClient = useQueryClient(); | ||
|
||
const { mutate, isError, error } = useMutation({ | ||
mutationFn: () => deletePost(postId), | ||
onSuccess: () => { | ||
queryClient.invalidateQueries([QUERY_KEY.USER_INFO, isLogged]); | ||
}, | ||
onError: error => { | ||
window.console.log('게시물 삭제에 실패했습니다.', error); | ||
}, | ||
}); | ||
|
||
return { mutate, isError, error }; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import { useMutation, useQueryClient } from '@tanstack/react-query'; | ||
|
||
import { setEarlyClosePost } from '@api/post'; | ||
|
||
import { QUERY_KEY } from '@constants/queryKey'; | ||
|
||
export const useEarlyClosePost = (postId: number) => { | ||
const queryClient = useQueryClient(); | ||
|
||
const { mutate, isError, error } = useMutation({ | ||
mutationFn: () => setEarlyClosePost(postId), | ||
onSuccess: () => { | ||
queryClient.invalidateQueries([QUERY_KEY.POST_DETAIL, postId]); | ||
}, | ||
onError: error => { | ||
window.console.log('조기마감에 실패했습니다.', error); | ||
}, | ||
}); | ||
|
||
return { mutate, isError, error }; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.