fix: 사용 중인 hooks 복원
실제로 사용 중인 hooks를 잘못 삭제함: - useMemberData.js (useMembers, useMemberDetail) - useAlbumData.js (useAlbums, useAlbumDetail, useAlbumGallery) - useScheduleData.js (useScheduleData, useScheduleDetail, useUpcomingSchedules, useCategories) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
27fc26ee96
commit
362182fb53
4 changed files with 125 additions and 0 deletions
|
|
@ -1,2 +1,16 @@
|
||||||
// 토스트
|
// 토스트
|
||||||
export { default as useToast } from './useToast';
|
export { default as useToast } from './useToast';
|
||||||
|
|
||||||
|
// 멤버 데이터
|
||||||
|
export { useMembers, useMemberDetail } from './useMemberData';
|
||||||
|
|
||||||
|
// 앨범 데이터
|
||||||
|
export { useAlbums, useAlbumDetail, useAlbumGallery } from './useAlbumData';
|
||||||
|
|
||||||
|
// 스케줄 데이터
|
||||||
|
export {
|
||||||
|
useScheduleData,
|
||||||
|
useScheduleDetail,
|
||||||
|
useUpcomingSchedules,
|
||||||
|
useCategories,
|
||||||
|
} from './useScheduleData';
|
||||||
|
|
|
||||||
37
frontend-temp/src/hooks/common/useAlbumData.js
Normal file
37
frontend-temp/src/hooks/common/useAlbumData.js
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
import { useQuery } from '@tanstack/react-query';
|
||||||
|
import { albumApi } from '@/api';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 앨범 목록 조회 훅
|
||||||
|
*/
|
||||||
|
export function useAlbums() {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['albums'],
|
||||||
|
queryFn: albumApi.getAlbums,
|
||||||
|
staleTime: 1000 * 60 * 10, // 10분 캐시
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 앨범 상세 조회 훅
|
||||||
|
* @param {string} name - 앨범 이름
|
||||||
|
*/
|
||||||
|
export function useAlbumDetail(name) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['album', name],
|
||||||
|
queryFn: () => albumApi.getAlbumByName(name),
|
||||||
|
enabled: !!name,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 앨범 갤러리 조회 훅
|
||||||
|
* @param {string} name - 앨범 이름
|
||||||
|
*/
|
||||||
|
export function useAlbumGallery(name) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['album', name, 'gallery'],
|
||||||
|
queryFn: () => albumApi.getAlbumGallery(name),
|
||||||
|
enabled: !!name,
|
||||||
|
});
|
||||||
|
}
|
||||||
25
frontend-temp/src/hooks/common/useMemberData.js
Normal file
25
frontend-temp/src/hooks/common/useMemberData.js
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { useQuery } from '@tanstack/react-query';
|
||||||
|
import { memberApi } from '@/api';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 멤버 목록 조회 훅
|
||||||
|
*/
|
||||||
|
export function useMembers() {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['members'],
|
||||||
|
queryFn: memberApi.getMembers,
|
||||||
|
staleTime: 1000 * 60 * 10, // 10분 캐시
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 멤버 상세 조회 훅
|
||||||
|
* @param {string} name - 멤버 이름
|
||||||
|
*/
|
||||||
|
export function useMemberDetail(name) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['member', name],
|
||||||
|
queryFn: () => memberApi.getMemberByName(name),
|
||||||
|
enabled: !!name,
|
||||||
|
});
|
||||||
|
}
|
||||||
49
frontend-temp/src/hooks/common/useScheduleData.js
Normal file
49
frontend-temp/src/hooks/common/useScheduleData.js
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
import { useQuery } from '@tanstack/react-query';
|
||||||
|
import { scheduleApi } from '@/api';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 스케줄 목록 조회 훅 (월별)
|
||||||
|
* @param {number} year - 년도
|
||||||
|
* @param {number} month - 월 (1-12)
|
||||||
|
*/
|
||||||
|
export function useScheduleData(year, month) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['schedules', year, month],
|
||||||
|
queryFn: () => scheduleApi.getSchedules(year, month),
|
||||||
|
enabled: !!year && !!month,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 스케줄 상세 조회 훅
|
||||||
|
* @param {number} id - 스케줄 ID
|
||||||
|
*/
|
||||||
|
export function useScheduleDetail(id) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['schedule', id],
|
||||||
|
queryFn: () => scheduleApi.getSchedule(id),
|
||||||
|
enabled: !!id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 다가오는 스케줄 조회 훅
|
||||||
|
* @param {number} limit - 조회 개수
|
||||||
|
*/
|
||||||
|
export function useUpcomingSchedules(limit = 3) {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['schedules', 'upcoming', limit],
|
||||||
|
queryFn: () => scheduleApi.getUpcomingSchedules(limit),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 카테고리 목록 조회 훅
|
||||||
|
*/
|
||||||
|
export function useCategories() {
|
||||||
|
return useQuery({
|
||||||
|
queryKey: ['categories'],
|
||||||
|
queryFn: scheduleApi.getCategories,
|
||||||
|
staleTime: 1000 * 60 * 10, // 10분 캐시
|
||||||
|
});
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue