mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import { GotoFirstIcon, GotoLastIcon, GotoNextIcon, GotoPrevIcon } from '@/components/Icons';
|
||
|
||
interface PageControlsProps {
|
||
pageNumber: number
|
||
pageCount: number
|
||
setPageNumber: React.Dispatch<React.SetStateAction<number>>
|
||
}
|
||
|
||
function PageControls({
|
||
pageNumber, pageCount, setPageNumber
|
||
}: PageControlsProps) {
|
||
return (
|
||
<>
|
||
<button type='button'
|
||
className='clr-hover text-controls'
|
||
onClick={() => setPageNumber(1)}
|
||
disabled={pageNumber < 2}
|
||
>
|
||
<GotoFirstIcon />
|
||
</button>
|
||
<button type='button'
|
||
className='clr-hover text-controls'
|
||
onClick={() => setPageNumber(prev => prev - 1)}
|
||
disabled={pageNumber < 2}
|
||
>
|
||
<GotoPrevIcon />
|
||
</button>
|
||
<p className='px-3 text-black'>Страница {pageNumber} из {pageCount}</p>
|
||
<button type='button'
|
||
className='clr-hover text-controls'
|
||
onClick={() => setPageNumber(prev => prev + 1)}
|
||
disabled={pageNumber >= pageCount}
|
||
>
|
||
<GotoNextIcon />
|
||
</button>
|
||
<button type='button'
|
||
className='clr-hover text-controls'
|
||
onClick={() => setPageNumber(pageCount)}
|
||
disabled={pageNumber >= pageCount}
|
||
>
|
||
<GotoLastIcon />
|
||
</button>
|
||
</>);
|
||
}
|
||
|
||
export default PageControls; |