37 lines
798 B
JavaScript
37 lines
798 B
JavaScript
|
|
import { useQuery } from '@tanstack/react-query';
|
||
|
|
import { albumsApi } from '@/api';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 앨범 목록 조회 훅
|
||
|
|
*/
|
||
|
|
export function useAlbums() {
|
||
|
|
return useQuery({
|
||
|
|
queryKey: ['albums'],
|
||
|
|
queryFn: albumsApi.getAlbums,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 앨범 상세 조회 훅
|
||
|
|
* @param {string} title - 앨범 타이틀 또는 폴더명
|
||
|
|
*/
|
||
|
|
export function useAlbumDetail(title) {
|
||
|
|
return useQuery({
|
||
|
|
queryKey: ['album', title],
|
||
|
|
queryFn: () => albumsApi.getAlbumByTitle(title),
|
||
|
|
enabled: !!title,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 앨범 갤러리 조회 훅
|
||
|
|
* @param {string} title - 앨범 타이틀 또는 폴더명
|
||
|
|
*/
|
||
|
|
export function useAlbumGallery(title) {
|
||
|
|
return useQuery({
|
||
|
|
queryKey: ['album-gallery', title],
|
||
|
|
queryFn: () => albumsApi.getAlbumGallery(title),
|
||
|
|
enabled: !!title,
|
||
|
|
});
|
||
|
|
}
|