From c18356bf0d5080b0a845bae009e2094f5b949794 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 8 Dec 2025 17:35:44 +0200 Subject: [PATCH] Fix bug 571 (#684) * Improve Productivity Assistant title pluralization and wording Fixes #569 * fixup! Improve Productivity Assistant title pluralization and wording * Fix an issue with tasks in prod assistant --- .../Productivity/ProductivityAssistant.tsx | 96 +------------------ 1 file changed, 4 insertions(+), 92 deletions(-) diff --git a/frontend/components/Productivity/ProductivityAssistant.tsx b/frontend/components/Productivity/ProductivityAssistant.tsx index 1abe02b..71ee790 100644 --- a/frontend/components/Productivity/ProductivityAssistant.tsx +++ b/frontend/components/Productivity/ProductivityAssistant.tsx @@ -11,14 +11,6 @@ import { } from '@heroicons/react/24/outline'; import { Task } from '../../entities/Task'; import { Project } from '../../entities/Project'; -import TaskModal from '../Task/TaskModal'; -import { - fetchTaskById, - updateTask, - deleteTask, -} from '../../utils/tasksService'; -import { createProject } from '../../utils/projectsService'; -import { useToast } from '../Shared/ToastContext'; import { getVagueTasks } from '../../utils/taskIntelligenceService'; interface ProductivityInsight { @@ -47,7 +39,6 @@ const ProductivityAssistant: React.FC = ({ }) => { const { t } = useTranslation(); const navigate = useNavigate(); - const { showSuccessToast, showErrorToast } = useToast(); const [isExpanded, setIsExpanded] = useState(false); const [insights, setInsights] = useState([]); @@ -55,12 +46,6 @@ const ProductivityAssistant: React.FC = ({ new Set() ); - // Modal states - const [isTaskModalOpen, setIsTaskModalOpen] = useState(false); - const [selectedTask, setSelectedTask] = useState(null); - const [allProjects, setAllProjects] = useState(projects); - const [loading, setLoading] = useState(false); - const PROJECT_VERBS = [ 'plan', 'organize', @@ -292,23 +277,13 @@ const ProductivityAssistant: React.FC = ({ setExpandedInsights(newExpanded); }; - const handleItemClick = async (item: Task | Project) => { + const handleItemClick = (item: Task | Project) => { const isTask = 'status' in item; if (isTask) { - // Handle task click - open task modal - try { - setLoading(true); - const fullTask = await fetchTaskById(item.id!); - setSelectedTask(fullTask); - setIsTaskModalOpen(true); - } catch (error) { - console.error('Failed to fetch task:', error); - showErrorToast( - t('errors.failedToLoadTask', 'Failed to load task') - ); - } finally { - setLoading(false); + // Handle task click - navigate to task details page + if (item.uid) { + navigate(`/task/${item.uid}`); } } else { // Handle project click - navigate to project page @@ -324,52 +299,6 @@ const ProductivityAssistant: React.FC = ({ } }; - const handleTaskSave = async (updatedTask: Task) => { - try { - if (updatedTask.uid) { - await updateTask(updatedTask.uid, updatedTask); - setIsTaskModalOpen(false); - setSelectedTask(null); - // Optionally refresh the parent component data - } - } catch (error) { - console.error('Failed to update task:', error); - showErrorToast(t('task.updateError', 'Failed to update task')); - } - }; - - const handleTaskDelete = async () => { - try { - if (selectedTask?.uid) { - await deleteTask(selectedTask.uid); - setIsTaskModalOpen(false); - setSelectedTask(null); - showSuccessToast( - t('task.deleteSuccess', 'Task deleted successfully') - ); - // Optionally refresh the parent component data - } - } catch (error) { - console.error('Failed to delete task:', error); - showErrorToast(t('task.deleteError', 'Failed to delete task')); - } - }; - - const handleCreateProject = async (name: string): Promise => { - try { - const project = await createProject({ name, state: 'planned' }); - setAllProjects((prev) => [...prev, project]); - return project; - } catch (error) { - console.error('Failed to create project:', error); - throw error; - } - }; - - // Use projects passed as props instead of making additional API calls - useEffect(() => { - setAllProjects(projects); - }, [projects]); if (totalIssues === 0) { return null; @@ -440,7 +369,6 @@ const ProductivityAssistant: React.FC = ({ ) } className="text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 underline text-left" - disabled={loading} > • {item.name} @@ -478,22 +406,6 @@ const ProductivityAssistant: React.FC = ({ )} - - {/* Task Modal */} - {selectedTask && ( - { - setIsTaskModalOpen(false); - setSelectedTask(null); - }} - task={selectedTask} - onSave={handleTaskSave} - onDelete={handleTaskDelete} - projects={allProjects} - onCreateProject={handleCreateProject} - /> - )} ); };