import React, { useState } from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faEdit, faTrash, faPlus } from '@fortawesome/free-solid-svg-icons'; import Swal from 'sweetalert2'; function Equipment({ equipment, onAdd, onEdit, onDelete }) { const [filters, setFilters] = useState({ status: '', type: '', search: '' }); const filteredEquipment = equipment.filter(item => { return ( (!filters.status || item.status === filters.status) && (!filters.type || item.type === filters.type) && (!filters.search || item.name.toLowerCase().includes(filters.search.toLowerCase()) || item.serial.toLowerCase().includes(filters.search.toLowerCase()) || item.inventory.toLowerCase().includes(filters.search.toLowerCase()) ) ); }); const handleDelete = (id) => { Swal.fire({ title: 'Подтверждение', text: 'Вы уверены, что хотите удалить это оборудование?', icon: 'warning', showCancelButton: true, confirmButtonText: 'Да, удалить', cancelButtonText: 'Отмена' }).then((result) => { if (result.isConfirmed) { onDelete(id); } }); }; return (

Оборудование

setFilters({ ...filters, search: e.target.value })} placeholder="Поиск..." className="border rounded-lg px-4 py-2 flex-1" />
{filteredEquipment.map((item) => ( ))}
Название Тип Статус Инв. номер Действия
{item.name} {item.type} {item.status === 'active' ? 'Активно' : item.status === 'maintenance' ? 'ТО' : 'Ремонт'} {item.inventory}
); } export default Equipment;