import React, { useState, useEffect } from 'react'; const DashboardPage = ({ user, projects, pendingSignupCount, navigateToPage, loadProjects, createProject, updateProjectName, deleteProject, editingProject, setEditingProject, editedProjectName, setEditedProjectName, showCreateProject, setShowCreateProject, newProjectCode, setNewProjectCode, newProjectName, setNewProjectName, newClientName, setNewClientName, inactiveProjects, setInactiveProjects, }) => { const [selectedProject, setSelectedProject] = useState(null); const [showProjectDropdown, setShowProjectDropdown] = useState(false); // 프로젝트 생성 모달 닫기 const handleCloseCreateProject = () => { setShowCreateProject(false); setNewProjectCode(''); setNewProjectName(''); setNewClientName(''); }; // 프로젝트 선택 처리 const handleProjectSelect = (project) => { setSelectedProject(project); setShowProjectDropdown(false); }; // 프로젝트 비활성화 const handleDeactivateProject = (project) => { const projectId = project.job_no || project.official_project_code || project.id; const projectName = project.job_name || project.project_name || projectId; console.log('🔍 비활성화 요청:', { project, projectId, projectName }); if (window.confirm(`"${projectName}" 프로젝트를 비활성화하시겠습니까?`)) { setInactiveProjects(prev => { const newSet = new Set([...prev, projectId]); console.log('📦 비활성화 프로젝트 업데이트:', { prev: Array.from(prev), new: Array.from(newSet) }); return newSet; }); const selectedProjectId = selectedProject?.job_no || selectedProject?.official_project_code || selectedProject?.id; if (selectedProjectId === projectId) { setSelectedProject(null); } setShowProjectDropdown(false); } }; // 프로젝트 활성화 const handleActivateProject = (project) => { setInactiveProjects(prev => { const newSet = new Set(prev); newSet.delete(project.job_no); return newSet; }); }; // 프로젝트 삭제 (드롭다운용) const handleDeleteProjectFromDropdown = (project, e) => { e.stopPropagation(); if (window.confirm(`"${project.job_name || project.job_no}" 프로젝트를 완전히 삭제하시겠습니까?`)) { deleteProject(project.job_no); setShowProjectDropdown(false); } }; // 컴포넌트 마운트 시 프로젝트 로드 useEffect(() => { loadProjects(); }, []); return (
TK-MP BOM Management System v2.0 - Project Selection Interface
Choose a project to access BOM and purchase management
Upload, manage revisions, and classify materials in one unified workspace
{/* 기능 미리보기 */}Manage purchase requests and export materials to Excel for procurement.
Manage user accounts and permissions
{pendingSignupCount > 0 && (Configure system preferences and settings
View system activity and error logs
Real-time system monitoring and alerts