import { FC, ReactElement } from 'react';

import { Button } from 'antd';

import styles from './PageButtons.module.scss';

interface IButton {
  title: string;
  onClick: () => void;
  icon?: ReactElement;
  disabled?: boolean;
  loading?: boolean;
}

interface PageButtonsProps {
  buttons: IButton[];
}

const PageButtons: FC<PageButtonsProps> = ({ buttons }) => {
  return (
    <div
      className={styles.buttons}
    >
      {buttons.map((button, i) => (
        <Button
          key={i}
          disabled={button.disabled}
          loading={button.loading}
          icon={button.icon}
          className={styles.button}
          type="primary"
          size="middle"
          onClick={button.onClick}
        >
          {button.title}
        </Button>
      ))}
    </div>
  );
};

export default PageButtons;
