import React from 'react'; import { useTranslation } from 'react-i18next'; import Icon from '../Icon'; import Pagination from '../Pagination'; import SelectBox from '../SelectBox'; import Divider from '../Divider'; import { scaleCheck } from '../../helpers/utility'; import { Container, ToggleButton } from './styled'; import dataset from './data'; type Props = { totalPage: number; currentPage: number; setCurrentPage: (num: number) => void; changeScale: (num: number | string) => void; handleClockwiseRotation: () => void; handleCounterclockwiseRotation: () => void; handleZoomIn: () => void; handleZoomOut: () => void; scale: number; viewport: ViewportType; displayMode: string; toggleDisplayMode: (state: string) => void; handleHandClick: () => void; hidden: boolean; }; const Toolbar: React.FC = ({ totalPage, currentPage, setCurrentPage, changeScale, handleClockwiseRotation, handleCounterclockwiseRotation, handleZoomIn, handleZoomOut, scale, viewport, displayMode, toggleDisplayMode, handleHandClick, hidden, }: Props) => { const { t } = useTranslation('toolbar'); const data = dataset(t); const handleScaleSelect = async ( selected: SelectOptionType ): Promise => { if (selected.child === 'fit') { const screenWidth = window.document.body.offsetWidth - 288; const originPdfWidth = viewport.width / scale; const rate = screenWidth / originPdfWidth; changeScale(rate); } else { changeScale(scaleCheck(selected.child as number)); } }; return ( <> {displayMode === 'normal' ? ( { toggleDisplayMode('full'); }} /> ) : ( { toggleDisplayMode('normal'); }} /> )} ); }; export default Toolbar;