Index: chapterx-frontend/src/components/story/LikeButton.tsx
===================================================================
--- chapterx-frontend/src/components/story/LikeButton.tsx	(revision 73b69b22fa1e9888b8530a66db4a150efb8f52bc)
+++ chapterx-frontend/src/components/story/LikeButton.tsx	(revision 99c1e45f4ac45a164229bc6f60f3b05bc26df047)
@@ -9,11 +9,4 @@
 const API = 'https://localhost:7125/api'
 
-function getAuthHeaders() {
-  try {
-    const token = JSON.parse(localStorage.getItem('chapterx-auth') || '{}')?.state?.token
-    return token ? { Authorization: `Bearer ${token}` } : {}
-  } catch { return {} }
-}
-
 interface LikeButtonProps {
   storyId: number
@@ -25,6 +18,7 @@
 export const LikeButton: React.FC<LikeButtonProps> = ({ storyId, authorUserId, totalLikes, onCountChange }) => {
   const navigate = useNavigate()
-  const { currentUser } = useAuthStore()
+  const { currentUser, token } = useAuthStore()
   const { addNotification } = useNotificationStore()
+  const authHeaders = token ? { Authorization: `Bearer ${token}` } : {}
   const { addToast } = useUIStore()
   const [liked, setLiked] = useState(false)
@@ -55,10 +49,10 @@
     try {
       if (liked) {
-        await axios.delete(`${API}/likes/user/${currentUser.user_id}/story/${storyId}`, { headers: getAuthHeaders() })
+        await axios.delete(`${API}/likes/user/${currentUser.user_id}/story/${storyId}`, { headers: authHeaders })
         setLiked(false)
         setCount(c => { const n = c - 1; onCountChange?.(n); return n })
         addToast('Removed from likes', 'info')
       } else {
-        await axios.post(`${API}/likes`, { userId: currentUser.user_id, storyId }, { headers: getAuthHeaders() })
+        await axios.post(`${API}/likes`, { userId: currentUser.user_id, storyId }, { headers: authHeaders })
         setLiked(true)
         setCount(c => { const n = c + 1; onCountChange?.(n); return n })
