import { Tag } from 'antd';
import moment from 'moment';
import { TUseColumns } from 'types/default';
import { TAssetsMessages } from './i18n';

export const useAssetsColumns = (
  translation: TAssetsMessages,
  path: string,
): TUseColumns[] => {
  const { name, status, type, ip, incidents, description, action, updated } =
    translation.table.column;
  const { registered, notRegistered } = translation.statusTag;
  switch (path) {
    case '/assets/groups':
      return [
        {
          disabled: true,
          title: name,
          dataIndex: 'name',
          key: 'name',
          align: 'center',
          checked: true,
          hidden: false,
          sorter: true,
        },
        {
          title: description,
          dataIndex: 'description',
          key: 'description',
          align: 'center',
          checked: true,
          hidden: false,
          sorter: true,
        },
        {
          title: action,
          dataIndex: 'actions',
          key: 'actions',
          align: 'center',
          checked: true,
          hidden: false,
        },
      ];

    default:
      return [
        {
          disabled: true,
          title: name,
          dataIndex: 'name',
          key: 'name',
          checked: true,
          align: 'center',
          hidden: false,
          sorter: true,
        },
        {
          title: status,
          dataIndex: 'status',
          key: 'status',
          checked: true,
          align: 'center',
          render: (text) =>
            text === 1 ? (
              <Tag color="success">{registered}</Tag>
            ) : (
              <Tag color="error">{notRegistered}</Tag>
            ),
          hidden: false,
          sorter: true,
        },
        {
          title: type,
          dataIndex: 'asset_type',
          key: 'asset_type',
          checked: true,
          align: 'center',
          hidden: false,
          sorter: true,
        },
        {
          title: ip,
          dataIndex: 'ip',
          key: 'ip',
          checked: true,
          sorter: true,
          align: 'center',
          // render: (text) => (
          //   <div style={{ display: 'flex' }}>
          //     <span>
          //       <Dropdown
          //         overlay={
          //           <Menu>
          //             <Menu.Item key="0">
          //               <a
          //                 target="_blank"
          //                 rel="noopener noreferrer"
          //                 href="https://www.antgroup.com"
          //               >
          //                 <ThunderboltOutlined /> &nbsp; Перейти в список
          //                 инцидентов
          //               </a>
          //             </Menu.Item>
          //             <Menu.Item key="1">
          //               <a
          //                 target="_blank"
          //                 rel="noopener noreferrer"
          //                 href="https://www.aliyun.com"
          //               >
          //                 <LoginOutlined />
          //                 &nbsp; Перейти в список событий
          //               </a>
          //             </Menu.Item>
          //             <Menu.Item key="3">
          //               <a
          //                 target="_blank"
          //                 rel="noopener noreferrer"
          //                 href="https://www.aliyun.com"
          //               >
          //                 <SafetyCertificateOutlined />
          //                 &nbsp; Перейти в систему защиты
          //               </a>
          //             </Menu.Item>
          //           </Menu>
          //         }
          //       >
          //         <a
          //           className="ant-dropdown-link"
          //           onClick={(e) => e.preventDefault()}
          //         >
          //           <span>{text}</span>
          //           <SmallDashOutlined />
          //         </a>
          //       </Dropdown>
          //     </span>
          //   </div>
          // ),
        },
        // {
        //   title: vulnerabilities,
        //   dataIndex: 'vulnerabilities',
        //   key: 'vulnerabilities',
        //   checked: true,
        //   align: 'center',
        //   hidden: false,
        //   sortOrder: false,
        //   sorter: {
        //     multiple: 5,
        //   },
        // },
        {
          title: incidents,
          dataIndex: 'count_incidents',
          key: 'count_incidents',
          checked: true,
          align: 'center',
          hidden: false,
          sorter: true,
        },
        {
          title: updated,
          dataIndex: 'updated',
          key: 'updated',
          checked: true,
          align: 'center',
          hidden: false,
          sorter: true,
          render: (date) => moment(date).format('DD.MM.YY HH:MM:SS'),
        },
      ];
  }
};
