feat(web): iconify reader chrome, move 连读/预读 into 更多 menu with slider
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight, PanelLeft } from "lucide-react";
|
||||
import { useEffect, useRef, useState, type KeyboardEvent } from "react";
|
||||
import * as pdfjs from "pdfjs-dist";
|
||||
import { apiRaw } from "../api/client";
|
||||
@@ -139,23 +140,28 @@ export default function PdfReader({ book, initialLocator, initialPercent }: Read
|
||||
<canvas ref={canvasRef} className="max-w-3xl rounded-md shadow-2xl ring-1 ring-stone-700/50" />
|
||||
</div>
|
||||
<div className="flex items-center justify-center gap-2 border-t border-stone-800/80 px-4 py-2 text-sm">
|
||||
<button className={btn} disabled={page === 0} onClick={() => setPage(0)} aria-label="第一页">
|
||||
首页
|
||||
<button className={btn + " inline-flex items-center gap-0.5"} disabled={page === 0} onClick={() => setPage(0)} aria-label="第一页">
|
||||
<ChevronsLeft size={14} /> 首页
|
||||
</button>
|
||||
<button className={btn} disabled={page === 0} onClick={() => setPage((p) => Math.max(0, p - 1))}>
|
||||
← 上一页
|
||||
<button className={btn + " inline-flex items-center gap-0.5"} disabled={page === 0} onClick={() => setPage((p) => Math.max(0, p - 1))}>
|
||||
<ChevronLeft size={14} /> 上一页
|
||||
</button>
|
||||
<span className="min-w-16 text-center tabular-nums text-stone-400">
|
||||
{page + 1}/{num}
|
||||
</span>
|
||||
<button className={btn} disabled={page >= num - 1} onClick={() => setPage((p) => Math.min(num - 1, p + 1))}>
|
||||
下一页 →
|
||||
<button className={btn + " inline-flex items-center gap-0.5"} disabled={page >= num - 1} onClick={() => setPage((p) => Math.min(num - 1, p + 1))}>
|
||||
下一页 <ChevronRight size={14} />
|
||||
</button>
|
||||
<button className={btn} disabled={page >= num - 1} onClick={() => setPage(num - 1)} aria-label="最后一页">
|
||||
末页
|
||||
<button className={btn + " inline-flex items-center gap-0.5"} disabled={page >= num - 1} onClick={() => setPage(num - 1)} aria-label="最后一页">
|
||||
<ChevronsRight size={14} /> 末页
|
||||
</button>
|
||||
<button className="rd-btn" aria-expanded={nav} aria-controls="reader-nav" onClick={() => setNav((v) => !v)}>
|
||||
导航
|
||||
<button
|
||||
className="rd-btn inline-flex items-center gap-1.5"
|
||||
aria-expanded={nav}
|
||||
aria-controls="reader-nav"
|
||||
onClick={() => setNav((v) => !v)}
|
||||
>
|
||||
<PanelLeft size={14} /> 导航
|
||||
</button>
|
||||
</div>
|
||||
{nav && (
|
||||
|
||||
Reference in New Issue
Block a user