setIsWithdrawModalOpen(false)}
+ title="회원 탈퇴"
+ size="sm"
+ closeOnBackdropClick={!isWithdrawing}
+ closeOnEscape={!isWithdrawing}
+ >
+
+ 탈퇴하면 모든 데이터가 삭제되며 복구할 수 없습니다.
+
+ 정말 탈퇴하시겠습니까?
+
+
+
+
+
+
+ >
+ );
}
diff --git a/src/hooks/queries/usePresentations.ts b/src/hooks/queries/usePresentations.ts
index f5fe9b2e..8f0a9551 100644
--- a/src/hooks/queries/usePresentations.ts
+++ b/src/hooks/queries/usePresentations.ts
@@ -27,10 +27,14 @@ export function usePresentations(options?: { enabled?: boolean }) {
/**
* 프로젝트 목록 조회 (필터/검색/정렬 지원)
*/
-export function usePresentationsWithFilters(params: GetPresentationsRequestDto) {
+export function usePresentationsWithFilters(
+ params: GetPresentationsRequestDto,
+ options?: { enabled?: boolean },
+) {
return useQuery({
queryKey: queryKeys.presentations.list(params),
queryFn: () => getPresentations(params),
+ enabled: options?.enabled ?? true,
});
}
@@ -67,6 +71,26 @@ export function useUpdatePresentation() {
? { ...old, title: updatePresentation.title, updatedAt: updatePresentation.updatedAt }
: old,
);
+ // 목록 캐시는 즉시 업데이트 (화면 전환 시 반영 지연 방지)
+ queryClient.setQueriesData