fix(frontend): resolve all eslint errors to zero (B1)
This commit is contained in:
@@ -141,7 +141,13 @@ export default function Shelf() {
|
||||
const [qRaw, setQRaw] = useState(serverQ);
|
||||
const [confirmDel, setConfirmDel] = useState<Book | null>(null);
|
||||
|
||||
useEffect(() => setQRaw(serverQ), [serverQ]);
|
||||
// URL 是筛选词的事实来源:回退/前进/程序化改参时把输入框拉回 URL 值。
|
||||
// 用 React 官方推荐的「渲染期按下发值重置本地 state」替代原先 effect 内的同步 setState
|
||||
const [prevServerQ, setPrevServerQ] = useState(serverQ);
|
||||
if (prevServerQ !== serverQ) {
|
||||
setPrevServerQ(serverQ);
|
||||
setQRaw(serverQ);
|
||||
}
|
||||
useEffect(() => {
|
||||
if (qRaw.trim() === serverQ) return;
|
||||
const t = setTimeout(() => {
|
||||
@@ -284,6 +290,7 @@ export default function Shelf() {
|
||||
{continueRows.length > 0 && !searching && (
|
||||
<section className="mb-8">
|
||||
<h2 className="mb-3 text-sm font-medium text-muted-foreground">继续阅读</h2>
|
||||
{/* eslint-disable-next-line jsx-a11y/no-redundant-roles -- Tailwind preflight 移除了 ul 的 list 样式,Safari/VoiceOver 因此丢列表语义;role="list" 是官方推荐的补偿写法,非冗余 */}
|
||||
<ul className="flex gap-3 overflow-x-auto pb-2" role="list">
|
||||
{continueRows.map((r, i) => {
|
||||
const b = booksByKey.get(`${r.library_id}/${r.path}`);
|
||||
|
||||
Reference in New Issue
Block a user