import React, { useState } from 'react'; const InactiveProjectsPage = ({ onNavigate, user, projects, inactiveProjects, onActivateProject, onDeleteProject }) => { const [selectedProjects, setSelectedProjects] = useState(new Set()); // 비활성 프로젝트 목록 필터링 const inactiveProjectList = projects.filter(project => inactiveProjects.has(project.job_no) ); // 프로젝트 선택/해제 const handleProjectSelect = (projectNo) => { setSelectedProjects(prev => { const newSet = new Set(prev); if (newSet.has(projectNo)) { newSet.delete(projectNo); } else { newSet.add(projectNo); } return newSet; }); }; // 전체 선택/해제 const handleSelectAll = () => { if (selectedProjects.size === inactiveProjectList.length) { setSelectedProjects(new Set()); } else { setSelectedProjects(new Set(inactiveProjectList.map(p => p.job_no))); } }; // 선택된 프로젝트들 활성화 const handleBulkActivate = () => { if (selectedProjects.size === 0) { alert('활성화할 프로젝트를 선택해주세요.'); return; } if (window.confirm(`선택된 ${selectedProjects.size}개 프로젝트를 활성화하시겠습니까?`)) { selectedProjects.forEach(projectNo => { const project = projects.find(p => p.job_no === projectNo); if (project) { onActivateProject(project); } }); setSelectedProjects(new Set()); } }; // 선택된 프로젝트들 삭제 const handleBulkDelete = () => { if (selectedProjects.size === 0) { alert('삭제할 프로젝트를 선택해주세요.'); return; } if (window.confirm(`선택된 ${selectedProjects.size}개 프로젝트를 완전히 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.`)) { selectedProjects.forEach(projectNo => { onDeleteProject(projectNo); }); setSelectedProjects(new Set()); } }; return (
Manage deactivated projects - activate or permanently delete