diff --git a/frontend/src/components/pc/admin/common/VenueSearchDialog.jsx b/frontend/src/components/pc/admin/common/VenueSearchDialog.jsx index e3e83ba..501fd56 100644 --- a/frontend/src/components/pc/admin/common/VenueSearchDialog.jsx +++ b/frontend/src/components/pc/admin/common/VenueSearchDialog.jsx @@ -6,6 +6,7 @@ import { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { X, Search, MapPin, Globe } from "lucide-react"; +import useAuthStore from "@/stores/useAuthStore"; /** * @param {Object} props @@ -46,7 +47,7 @@ function VenueSearchDialog({ isOpen, onClose, onSelect }) { setError(null); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; if (region === "domestic") { // 카카오맵 API diff --git a/frontend/src/components/pc/admin/schedule/LocationSearchDialog.jsx b/frontend/src/components/pc/admin/schedule/LocationSearchDialog.jsx index 0016fe6..dba5f37 100644 --- a/frontend/src/components/pc/admin/schedule/LocationSearchDialog.jsx +++ b/frontend/src/components/pc/admin/schedule/LocationSearchDialog.jsx @@ -5,6 +5,7 @@ import { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { X, Search, MapPin } from 'lucide-react'; +import useAuthStore from '@/stores/useAuthStore'; /** * @param {Object} props @@ -33,7 +34,7 @@ function LocationSearchDialog({ isOpen, onClose, onSelect }) { setSearching(true); try { - const token = localStorage.getItem('adminToken'); + const token = useAuthStore.getState().token; const response = await fetch(`/api/admin/kakao/places?query=${encodeURIComponent(searchQuery)}`, { headers: { Authorization: `Bearer ${token}`, diff --git a/frontend/src/pages/pc/admin/albums/AlbumPhotos.jsx b/frontend/src/pages/pc/admin/albums/AlbumPhotos.jsx index 7747447..a6232da 100644 --- a/frontend/src/pages/pc/admin/albums/AlbumPhotos.jsx +++ b/frontend/src/pages/pc/admin/albums/AlbumPhotos.jsx @@ -19,6 +19,7 @@ import { import { useAdminAuth } from '@/hooks/pc/admin'; import { useToast } from '@/hooks/common'; import { adminAlbumApi, adminMemberApi } from '@/api/admin'; +import useAuthStore from '@/stores/useAuthStore'; function AdminAlbumPhotos() { const { albumId } = useParams(); @@ -337,7 +338,7 @@ function AdminAlbumPhotos() { setProcessingStatus(''); try { - const token = localStorage.getItem('adminToken'); + const token = useAuthStore.getState().token; const formData = new FormData(); const metadata = pendingFiles.map((pf) => ({ diff --git a/frontend/src/pages/pc/admin/schedules/ScheduleForm.jsx b/frontend/src/pages/pc/admin/schedules/ScheduleForm.jsx index b88d3f7..ff44322 100644 --- a/frontend/src/pages/pc/admin/schedules/ScheduleForm.jsx +++ b/frontend/src/pages/pc/admin/schedules/ScheduleForm.jsx @@ -25,6 +25,7 @@ import * as categoriesApi from '@/api/admin/categories'; import * as schedulesApi from '@/api/admin/schedules'; import { getMembers } from '@/api/public/members'; import { getColorStyle } from '@/utils/color'; +import useAuthStore from '@/stores/useAuthStore'; function ScheduleForm() { const navigate = useNavigate(); @@ -285,7 +286,7 @@ function ScheduleForm() { setSaving(true); try { - const token = localStorage.getItem('adminToken'); + const token = useAuthStore.getState().token; // FormData 생성 const submitData = new FormData(); diff --git a/frontend/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx b/frontend/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx index 2f8c71f..ab3fd0d 100644 --- a/frontend/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx +++ b/frontend/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx @@ -18,6 +18,7 @@ import AdminLayout from "@/components/pc/admin/layout/Layout"; import Toast from "@/components/common/Toast"; import { useAdminAuth } from "@/hooks/pc/admin"; import { useToast } from "@/hooks/common"; +import useAuthStore from "@/stores/useAuthStore"; // 애니메이션 variants const containerVariants = { @@ -60,7 +61,7 @@ function YouTubeEditForm() { const { data: schedule, isLoading: scheduleLoading, isError: scheduleError } = useQuery({ queryKey: ["schedule", id], queryFn: async () => { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const res = await fetch(`/api/schedules/${id}`, { headers: { Authorization: `Bearer ${token}` }, }); @@ -126,7 +127,7 @@ function YouTubeEditForm() { setSaving(true); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const response = await fetch(`/api/admin/youtube/schedule/${id}`, { method: "PUT", diff --git a/frontend/src/pages/pc/admin/schedules/form/XForm.jsx b/frontend/src/pages/pc/admin/schedules/form/XForm.jsx index fc20e17..70c098c 100644 --- a/frontend/src/pages/pc/admin/schedules/form/XForm.jsx +++ b/frontend/src/pages/pc/admin/schedules/form/XForm.jsx @@ -12,6 +12,7 @@ import { import Toast from "@/components/common/Toast"; import { useToast } from "@/hooks/common"; +import useAuthStore from "@/stores/useAuthStore"; // X 로고 아이콘 const XLogo = ({ size = 24, className = "" }) => ( @@ -64,7 +65,7 @@ function XForm() { setPostInfo(null); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const response = await fetch( `/api/admin/x/post-info?postId=${id}`, { @@ -115,7 +116,7 @@ function XForm() { setSaving(true); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const response = await fetch("/api/admin/x/schedule", { method: "POST", diff --git a/frontend/src/pages/pc/admin/schedules/form/YouTubeForm.jsx b/frontend/src/pages/pc/admin/schedules/form/YouTubeForm.jsx index 3d6b05a..8f53df1 100644 --- a/frontend/src/pages/pc/admin/schedules/form/YouTubeForm.jsx +++ b/frontend/src/pages/pc/admin/schedules/form/YouTubeForm.jsx @@ -11,6 +11,7 @@ import { } from "lucide-react"; import Toast from "@/components/common/Toast"; import { useToast } from "@/hooks/common"; +import useAuthStore from "@/stores/useAuthStore"; /** * YouTube 일정 추가 폼 @@ -39,7 +40,7 @@ function YouTubeForm() { setVideoInfo(null); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const response = await fetch( `/api/admin/youtube/video-info?url=${encodeURIComponent(url)}`, { @@ -90,7 +91,7 @@ function YouTubeForm() { setSaving(true); try { - const token = localStorage.getItem("adminToken"); + const token = useAuthStore.getState().token; const response = await fetch("/api/admin/youtube/schedule", { method: "POST",