diff --git a/frontend/src/pages/pc/admin/AdminAlbums.jsx b/frontend/src/pages/pc/admin/AdminAlbums.jsx index c087e22..4ea944c 100644 --- a/frontend/src/pages/pc/admin/AdminAlbums.jsx +++ b/frontend/src/pages/pc/admin/AdminAlbums.jsx @@ -7,6 +7,9 @@ import { } from 'lucide-react'; import Toast from '../../../components/Toast'; import Tooltip from '../../../components/Tooltip'; +import * as authApi from '../../../api/admin/auth'; +import { getAlbums } from '../../../api/public/albums'; +import * as albumsApi from '../../../api/admin/albums'; function AdminAlbums() { const navigate = useNavigate(); @@ -28,34 +31,28 @@ function AdminAlbums() { useEffect(() => { // 로그인 확인 - const token = localStorage.getItem('adminToken'); - const userData = localStorage.getItem('adminUser'); - - if (!token || !userData) { + if (!authApi.hasToken()) { navigate('/admin'); return; } - setUser(JSON.parse(userData)); + setUser(authApi.getCurrentUser()); fetchAlbums(); }, [navigate]); - const fetchAlbums = () => { - fetch('/api/albums') - .then(res => res.json()) - .then(data => { - setAlbums(data); - setLoading(false); - }) - .catch(error => { - console.error('앨범 로드 오류:', error); - setLoading(false); - }); + const fetchAlbums = async () => { + try { + const data = await getAlbums(); + setAlbums(data); + } catch (error) { + console.error('앨범 로드 오류:', error); + } finally { + setLoading(false); + } }; const handleLogout = () => { - localStorage.removeItem('adminToken'); - localStorage.removeItem('adminUser'); + authApi.logout(); navigate('/admin'); }; @@ -64,21 +61,10 @@ function AdminAlbums() { setDeleting(true); try { - const token = localStorage.getItem('adminToken'); - const response = await fetch(`/api/admin/albums/${deleteDialog.album.id}`, { - method: 'DELETE', - headers: { - 'Authorization': `Bearer ${token}`, - }, - }); - - if (!response.ok) { - throw new Error('삭제 실패'); - } - + await albumsApi.deleteAlbum(deleteDialog.album.id); setToast({ message: `"${deleteDialog.album.title}" 앨범이 삭제되었습니다.`, type: 'success' }); setDeleteDialog({ show: false, album: null }); - fetchAlbums(); // 목록 새로고침 + fetchAlbums(); } catch (error) { console.error('삭제 오류:', error); setToast({ message: '앨범 삭제 중 오류가 발생했습니다.', type: 'error' });