import React, { useState, useEffect } from 'react' import { useNavigate } from 'react-router-dom' import { Globe, BookOpen, User } from 'lucide-react' import { useStoryStore } from '../../store/storyStore' import { ReadingList } from '../../types' import { Modal } from '../../components/ui/Modal' import { GenreBadge } from '../../components/ui/Badge' import { Avatar } from '../../components/ui/Avatar' export const CommunityListsPage: React.FC = () => { const navigate = useNavigate() const { readingLists, fetchReadingLists } = useStoryStore() const [selectedList, setSelectedList] = useState(null) useEffect(() => { fetchReadingLists() }, []) const publicLists = readingLists.filter(l => l.is_public) return (
{/* Header */}

Community Reading Lists

Discover curated lists from the ChapterX community

{publicLists.length === 0 ? (

No public lists yet

Be the first to share your reading list!

) : (
{publicLists.map(list => (
setSelectedList(list)} > {/* Cover preview */}
{Array.from({ length: Math.min(3, list.stories.length) }).map((_, i) => (
0 ? '2' : '0'}`} style={{ transform: `rotate(${(i - 1) * 5}deg)` }} /> ))}

{list.name}

Public
@{list.username}
{list.description && (

{list.description}

)}
{list.stories.length} stories
))}
)} {/* List detail modal */} {selectedList && ( setSelectedList(null)} title={selectedList.name} size="lg" >

@{selectedList.username}

{selectedList.stories.length} stories

{selectedList.description && (

{selectedList.description}

)} {selectedList.stories.length === 0 ? (

This list is empty.

) : (
{selectedList.stories.map(item => (
{ navigate(`/story/${item.story_id}`); setSelectedList(null) }} >

{item.story_title}

by {item.author_username}

{item.genres.slice(0, 2).map(g => )}
))}
)}
)}
) }