import React from 'react'; import { useTaskMaster } from '../contexts/TaskMasterContext'; import TaskIndicator from './TaskIndicator'; const TaskMasterStatus = () => { const { currentProject, projectTaskMaster, mcpServerStatus, isLoading, isLoadingMCP, error } = useTaskMaster(); if (isLoading || isLoadingMCP) { return (
Loading TaskMaster status...
); } if (error) { return (
TaskMaster Error
); } // Show MCP server status const mcpConfigured = mcpServerStatus?.hasMCPServer && mcpServerStatus?.isConfigured; // Show project TaskMaster status const projectConfigured = currentProject?.taskmaster?.hasTaskmaster; const taskCount = currentProject?.taskmaster?.metadata?.taskCount || 0; const completedCount = currentProject?.taskmaster?.metadata?.completed || 0; if (!currentProject) { return (
No project selected
); } // Determine overall status for TaskIndicator let overallStatus = 'not-configured'; if (projectConfigured && mcpConfigured) { overallStatus = 'fully-configured'; } else if (projectConfigured) { overallStatus = 'taskmaster-only'; } else if (mcpConfigured) { overallStatus = 'mcp-only'; } return (
{/* TaskMaster Status Indicator */} {/* Task Progress Info */} {projectConfigured && (
{completedCount}/{taskCount} tasks {taskCount > 0 && ( ({Math.round((completedCount / taskCount) * 100)}%) )}
)}
); }; export default TaskMasterStatus;