Ignore:
Timestamp:
03/22/26 17:58:40 (4 months ago)
Author:
kikisrbinoska <srbinoskakristina07@…>
Branches:
main
Children:
73b69b2
Parents:
b62cefc
Message:

Added fixes for the login,stories management and reading lists

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapterx-frontend/src/pages/reading-list/ReadingListPage.tsx

    rb62cefc racf690c  
    1 import React, { useState } from 'react'
     1import React, { useState, useEffect } from 'react'
    22import { useNavigate } from 'react-router-dom'
    33import { Plus, BookOpen, Lock, Globe, Trash2, X } from 'lucide-react'
     
    1212  const navigate = useNavigate()
    1313  const { currentUser } = useAuthStore()
    14   const { readingLists, createReadingList, deleteReadingList, removeStoryFromList } = useStoryStore()
     14  const { readingLists, fetchReadingLists, createReadingList, deleteReadingList, removeStoryFromList } = useStoryStore()
     15
     16  useEffect(() => {
     17    fetchReadingLists()
     18  }, [])
    1519  const { addToast } = useUIStore()
    1620  const [createOpen, setCreateOpen] = useState(false)
     
    3135  const myLists = readingLists.filter(l => l.user_id === currentUser.user_id)
    3236
    33   const handleCreate = () => {
     37  const handleCreate = async () => {
    3438    if (!newListName.trim()) return
    35     createReadingList({
    36       list_id: Date.now(),
    37       user_id: currentUser.user_id,
    38       username: currentUser.username,
    39       name: newListName.trim(),
    40       description: newListDesc.trim() || undefined,
    41       is_public: isPublic,
    42       created_at: new Date().toISOString(),
    43       stories: [],
    44     })
    45     addToast(`"${newListName}" created!`)
     39    try {
     40      await createReadingList({
     41        list_id: Date.now(),
     42        user_id: currentUser.user_id,
     43        username: currentUser.username,
     44        name: newListName.trim(),
     45        description: newListDesc.trim() || undefined,
     46        is_public: isPublic,
     47        created_at: new Date().toISOString(),
     48        stories: [],
     49      })
     50      addToast(`"${newListName}" created!`)
     51    } catch (err: any) {
     52      addToast(err?.response?.data?.message || 'Failed to create list.', 'error')
     53      return
     54    }
    4655    setNewListName('')
    4756    setNewListDesc('')
     
    100109                  </div>
    101110                  <button
    102                     onClick={() => { deleteReadingList(list.list_id); addToast('List deleted', 'info') }}
     111                    onClick={async () => { try { await deleteReadingList(list.list_id); addToast('List deleted', 'info') } catch { addToast('Failed to delete list.', 'error') } }}
    103112                    className="text-slate-500 hover:text-rose-400 transition-colors p-1"
    104113                  >
Note: See TracChangeset for help on using the changeset viewer.