pdf-viewer-controls.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { ButtonGroup } from 'react-bootstrap'
  2. import PropTypes from 'prop-types'
  3. import Button from 'react-bootstrap/lib/Button'
  4. import Icon from '../../../shared/components/icon'
  5. import { memo } from 'react'
  6. import { useTranslation } from 'react-i18next'
  7. function PdfViewerControls({ setZoom }) {
  8. const { t } = useTranslation()
  9. return (
  10. <ButtonGroup>
  11. <Button
  12. aria-label={t('fit_to_width')}
  13. bsSize="large"
  14. bsStyle={null}
  15. className="btn-secondary-info btn-secondary"
  16. onClick={() => setZoom('fit-width')}
  17. >
  18. <Icon type="arrows-h" />
  19. </Button>
  20. <Button
  21. aria-label={t('fit_to_height')}
  22. bsSize="large"
  23. bsStyle={null}
  24. className="btn-secondary-info btn-secondary"
  25. onClick={() => setZoom('fit-height')}
  26. >
  27. <Icon type="arrows-v" />
  28. </Button>
  29. <Button
  30. aria-label={t('zoom_in')}
  31. bsSize="large"
  32. bsStyle={null}
  33. className="btn-secondary-info btn-secondary"
  34. onClick={() => setZoom('zoom-in')}
  35. >
  36. <Icon type="search-plus" />
  37. </Button>
  38. <Button
  39. aria-label={t('zoom_out')}
  40. bsSize="large"
  41. bsStyle={null}
  42. className="btn-secondary-info btn-secondary"
  43. onClick={() => setZoom('zoom-out')}
  44. >
  45. <Icon type="search-minus" />
  46. </Button>
  47. </ButtonGroup>
  48. )
  49. }
  50. PdfViewerControls.propTypes = {
  51. setZoom: PropTypes.func.isRequired,
  52. }
  53. export default memo(PdfViewerControls)