cover
This commit is contained in:
@@ -7,9 +7,6 @@ import { getPaperDimensions } from '@/config/paperSizes';
|
||||
|
||||
const VIEWER_SCALE = 0.5;
|
||||
|
||||
// سایز کتاب همیشه A4 است (ثابت)
|
||||
const BOOK_PAPER_SIZE = 'a4';
|
||||
|
||||
export type BookViewerProps = {
|
||||
pages: PageData[];
|
||||
catalogSize?: string;
|
||||
@@ -38,19 +35,16 @@ const BookViewer: FC<BookViewerProps> = ({ pages, catalogSize }) => {
|
||||
const bookRef = useRef<FlipBookInstance | null>(null);
|
||||
const [currentPage, setCurrentPage] = useState(0);
|
||||
|
||||
// سایز کتاب ثابت (همیشه A4)
|
||||
// سایز کتاب بر اساس catalogSize (A3/A4/A5)
|
||||
const { width: bookWidth, height: bookHeight } = useMemo(
|
||||
() => getPaperDimensions(BOOK_PAPER_SIZE),
|
||||
[]
|
||||
() => getPaperDimensions(catalogSize ?? 'a4'),
|
||||
[catalogSize]
|
||||
);
|
||||
const displayWidth = Math.round(bookWidth * VIEWER_SCALE);
|
||||
const displayHeight = Math.round(bookHeight * VIEWER_SCALE);
|
||||
|
||||
// نسبت محتوا بر اساس catalogSize (A3/A4/A5)
|
||||
const contentScale = useMemo(() => {
|
||||
const { width: contentWidth } = getPaperDimensions(catalogSize ?? 'a4');
|
||||
return VIEWER_SCALE * (bookWidth / contentWidth);
|
||||
}, [catalogSize]);
|
||||
// scale محتوا همان VIEWER_SCALE است چون سایز کتاب با سایز محتوا یکی است
|
||||
const contentScale = VIEWER_SCALE;
|
||||
|
||||
// اطمینان از اینکه currentPage همیشه در محدوده معتبر است
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user