Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1625 | Autoría | Ultima modificación | Ver Log |

import React, { useMemo } from 'react'
import { Pagination } from '@mui/material'
import styled from 'styled-components'

const StyledPagination = styled(Pagination)`
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-direction: ${(props) => (props.isRow ? 'row' : 'column')};
  width: 100%;
  .MuiPaginationItem-root {
    background-color: ${(props) => props.theme.background.color.primary};
  }
`

const PaginationComponent = ({
  pages = 1,
  currentActivePage = 1,
  onChangePage = () => {},
  isRow = true
}) => {
  const currentPage = useMemo(
    () => Number(currentActivePage) || 1,
    [currentActivePage]
  )

  if (pages <= 1) {
    return null
  }

  return (
    <StyledPagination
      count={pages}
      page={currentPage}
      onChange={(_, page) => onChangePage(page)}
      variant='outlined'
      shape='rounded'
      isRow={isRow}
    />
  )
}

export default PaginationComponent