diff --git a/archon-ui-main/src/features/projects/tasks/components/TaskCard.tsx b/archon-ui-main/src/features/projects/tasks/components/TaskCard.tsx index 48aa87f2..b116636d 100644 --- a/archon-ui-main/src/features/projects/tasks/components/TaskCard.tsx +++ b/archon-ui-main/src/features/projects/tasks/components/TaskCard.tsx @@ -1,13 +1,13 @@ import { Tag } from "lucide-react"; import type React from "react"; -import { useCallback, useState } from "react"; +import { useCallback } from "react"; import { useDrag, useDrop } from "react-dnd"; import { useTaskActions } from "../hooks"; -import type { Assignee, Task } from "../types"; +import type { Assignee, Task, TaskPriority } from "../types"; import { getOrderColor, getOrderGlow, ItemTypes } from "../utils/task-styles"; import { TaskAssignee } from "./TaskAssignee"; import { TaskCardActions } from "./TaskCardActions"; -import { type Priority, TaskPriority } from "./TaskPriority"; +import { TaskPriorityComponent } from "."; export interface TaskCardProps { task: Task; @@ -34,12 +34,8 @@ export const TaskCard: React.FC = ({ selectedTasks, onTaskSelect, }) => { - // Local state for frontend-only priority - // NOTE: Priority is display-only and doesn't sync with backend yet - const [localPriority, setLocalPriority] = useState("medium"); - - // Use business logic hook - const { changeAssignee, isUpdating } = useTaskActions(projectId); + // Use business logic hook with changePriority + const { changeAssignee, changePriority, isUpdating } = useTaskActions(projectId); // Handlers - now just call hook methods const handleEdit = useCallback(() => { @@ -59,10 +55,12 @@ export const TaskCard: React.FC = ({ } }, [onDelete, task]); - const handlePriorityChange = useCallback((priority: Priority) => { - // Frontend-only priority change - setLocalPriority(priority); - }, []); + const handlePriorityChange = useCallback( + (priority: TaskPriority) => { + changePriority(task.id, priority); + }, + [changePriority, task.id], + ); const handleAssigneeChange = useCallback( (newAssignee: Assignee) => { @@ -218,8 +216,12 @@ export const TaskCard: React.FC = ({
- {/* Priority display (frontend-only for now) */} - + {/* Priority display connected to database */} +
diff --git a/archon-ui-main/src/features/projects/tasks/components/TaskEditModal.tsx b/archon-ui-main/src/features/projects/tasks/components/TaskEditModal.tsx index 7b40b510..2f839fe9 100644 --- a/archon-ui-main/src/features/projects/tasks/components/TaskEditModal.tsx +++ b/archon-ui-main/src/features/projects/tasks/components/TaskEditModal.tsx @@ -18,9 +18,8 @@ import { TextArea, } from "../../../ui/primitives"; import { useTaskEditor } from "../hooks"; -import type { Assignee, Task } from "../types"; +import type { Assignee, Task, TaskPriority } from "../types"; import { FeatureSelect } from "./FeatureSelect"; -import type { Priority } from "./TaskPriority"; interface TaskEditModalProps { isModalOpen: boolean; @@ -52,7 +51,7 @@ export const TaskEditModal = memo( status: "todo", assignee: "User" as Assignee, feature: "", - priority: "medium" as Priority, // Frontend-only priority + priority: "medium" as TaskPriority, // Direct priority field }); } }, [editingTask]); @@ -133,9 +132,9 @@ export const TaskEditModal = memo( onPriorityChange(value as Priority)}> +