import { useEffect, useState } from 'react' import { Link, useNavigate } from 'react-router-dom' import { BookOpen, Loader2, RefreshCw, Search, Settings2 } from 'lucide-react' import { readerAPI, type ReaderBook } from '../../api/reader' import { ReaderModeSwitch } from './ReaderModeSwitch' // 首页阅读模式的书架内容(首页切换与 /reader 路由共用)。 // 结构仿 legado 书架:网格封面 + 书名 + 阅读进度,右上搜索/书源管理入口。 export function ReaderHomeContent({ embedded = false }: { embedded?: boolean }) { const navigate = useNavigate() const [books, setBooks] = useState(null) const [error, setError] = useState('') const load = () => { setError('') readerAPI .listBooks() .then(setBooks) .catch((e) => setError(e?.response?.data?.error ?? '加载书架失败')) } // eslint-disable-next-line react-hooks/exhaustive-deps useEffect(load, []) return (
{!embedded && }

书架

书源管理 搜索
{books === null && !error && (
)} {error && books === null && (

{error}

)} {books !== null && books.length === 0 && (

书架空空如也

先到「书源管理」导入书源,再搜索加入书架

导入书源 去搜索
)} {books !== null && books.length > 0 && (
{books.map((book) => ( ))}
)}
) }