Changeset 0b502c2 for chapterx-frontend/src/pages/admin
- Timestamp:
- 06/23/26 17:20:47 (13 days ago)
- Branches:
- main
- Children:
- 99c1e45
- Parents:
- b373fea
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapterx-frontend/src/pages/admin/AdminGenresPage.tsx
rb373fea r0b502c2 10 10 export const AdminGenresPage: React.FC = () => { 11 11 const navigate = useNavigate() 12 const { genres, fetchGenres, addGenre, deleteGenre } = useStoryStore() 12 const { genres, fetchGenres, addGenre, deleteGenre, stories } = useStoryStore() 13 const publishedStories = stories.filter(s => s.status === 'published') 13 14 const { addToast } = useUIStore() 14 15 const [addOpen, setAddOpen] = useState(false) … … 75 76 </div> 76 77 <div className="flex items-center gap-4"> 77 <span className="text-slate-500 text-sm">{ genre.story_count} stories</span>78 <span className="text-slate-500 text-sm">{publishedStories.filter(s => s.genres.some(g => g.toLowerCase() === genre.name.toLowerCase())).length} stories</span> 78 79 <button 79 80 onClick={() => setDeleteTarget(genre)} 80 81 className={`transition-colors p-1 rounded ${ 81 genre.story_count > 082 publishedStories.some(s => s.genres.some(g => g.toLowerCase() === genre.name.toLowerCase())) 82 83 ? 'text-slate-700 cursor-not-allowed' 83 84 : 'text-slate-500 hover:text-rose-400 hover:bg-rose-500/10' 84 85 }`} 85 disabled={ genre.story_count > 0}86 title={ genre.story_count > 0? 'Cannot delete genre with stories' : 'Delete genre'}86 disabled={publishedStories.some(s => s.genres.some(g => g.toLowerCase() === genre.name.toLowerCase()))} 87 title={publishedStories.some(s => s.genres.some(g => g.toLowerCase() === genre.name.toLowerCase())) ? 'Cannot delete genre with stories' : 'Delete genre'} 87 88 > 88 89 <Trash2 size={14} />
Note:
See TracChangeset
for help on using the changeset viewer.
