import { useEffect, useRef, useState } from "react"; import { normalizePreviewPageNumber } from "./preview-page"; interface PreviewPageControlProps { current: number; total: number; onNavigate: (pageNumber: number) => void; } export function PreviewPageControl({ current, total, onNavigate }: PreviewPageControlProps) { const [draft, setDraft] = useState(String(current)); const editingRef = useRef(false); useEffect(() => { if (!editingRef.current) { setDraft(String(current)); } }, [current, total]); function commitPageNumber() { const pageNumber = normalizePreviewPageNumber(draft, current, total); setDraft(String(pageNumber)); if (pageNumber !== current) { onNavigate(pageNumber); } } return ( ); }