Ignore:
Timestamp:
03/24/26 22:13:36 (3 months ago)
Author:
kikisrbinoska <srbinoskakristina07@…>
Branches:
main
Children:
7fbb91c
Parents:
acf690c
Message:

Fixed reading lists,comments and likes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapterx-frontend/src/pages/admin/AdminGenresPage.tsx

    racf690c r73b69b2  
    1 import React, { useState } from 'react'
     1import React, { useState, useEffect } from 'react'
    22import { useNavigate } from 'react-router-dom'
    33import { ArrowLeft, Plus, Trash2, Tag } from 'lucide-react'
     
    1010export const AdminGenresPage: React.FC = () => {
    1111  const navigate = useNavigate()
    12   const { genres, addGenre, deleteGenre } = useStoryStore()
     12  const { genres, fetchGenres, addGenre, deleteGenre } = useStoryStore()
    1313  const { addToast } = useUIStore()
    1414  const [addOpen, setAddOpen] = useState(false)
     
    1616  const [deleteTarget, setDeleteTarget] = useState<Genre | null>(null)
    1717
    18   const handleAdd = () => {
     18  useEffect(() => { fetchGenres() }, [])
     19
     20  const handleAdd = async () => {
    1921    if (!newName.trim()) return
    2022    if (genres.some(g => g.name.toLowerCase() === newName.trim().toLowerCase())) {
     
    2224      return
    2325    }
    24     addGenre({ genre_id: Date.now(), name: newName.trim(), story_count: 0 })
    25     addToast(`Genre "${newName.trim()}" added!`)
    26     setNewName('')
    27     setAddOpen(false)
     26    try {
     27      await addGenre(newName.trim())
     28      addToast(`Genre "${newName.trim()}" added!`)
     29      setNewName('')
     30      setAddOpen(false)
     31    } catch {
     32      addToast('Failed to add genre', 'error')
     33    }
    2834  }
    2935
    30   const handleDelete = (genre: Genre) => {
    31     if (genre.story_count > 0) {
    32       addToast('Cannot delete genre with associated stories', 'error')
    33       return
     36  const handleDelete = async (genre: Genre) => {
     37    try {
     38      await deleteGenre(genre.genre_id)
     39      addToast(`Genre "${genre.name}" deleted`, 'info')
     40    } catch {
     41      addToast('Failed to delete genre', 'error')
    3442    }
    35     deleteGenre(genre.genre_id)
    36     addToast(`Genre "${genre.name}" deleted`, 'info')
    3743    setDeleteTarget(null)
    3844  }
Note: See TracChangeset for help on using the changeset viewer.