import { BookOpen, Check, Loader2, X } from 'lucide-react' import type { ReaderSearchOrigin } from '../../api/reader' /** * SourcePickerDialog 换源弹窗:列出同一本书可用的书源,选中即切换。 * * 书源对同一本书的封面 / 最新章节等覆盖能力不同,所以列表里带上各源的最新章节, * 方便挑一个更全的源;当前正在使用的源会标注「当前」且不可重复选择。 */ export function SourcePickerDialog({ title, origins, current, loading = false, emptyHint = '没有找到其它书源', onPick, onClose, }: { title: string origins: ReaderSearchOrigin[] /** 当前正在使用的源:优先按书本地址匹配(同源可能承载多本书),其次按书源地址 */ current?: { originURL?: string; bookURL?: string } loading?: boolean emptyHint?: string onPick: (origin: ReaderSearchOrigin) => void onClose: () => void }) { return (
{loading ? '正在搜索其它书源…' : `共 ${origins.length} 个可用书源 · 阅读进度会保留`}
{emptyHint}
) : (