MCPcopy Create free account
hub / github.com/scopecraft/command / SimpleTaskView

Function SimpleTaskView

tasks-ui/src/components/v2/SimpleTaskView.tsx:26–193  ·  view source on GitHub ↗
({
  task,
  content,
  isEditing,
  onEdit,
  onCancel,
  onSave,
  onContentChange,
  isUpdating = false,
}: SimpleTaskViewProps)

Source from the content-addressed store, hash-verified

24}
25
26export function SimpleTaskView({
27 task,
28 content,
29 isEditing,
30 onEdit,
31 onCancel,
32 onSave,
33 onContentChange,
34 isUpdating = false,
35}: SimpleTaskViewProps) {
36 const metadata = task.metadata || task;
37 const navigate = useNavigate();
38 const deleteTask = useDeleteTask();
39 const [showDeleteDialog, setShowDeleteDialog] = useState(false);
40
41 const handleDelete = async () => {
42 try {
43 await deleteTask.mutateAsync({ id: task.id });
44 // Navigate back to the workflow list
45 navigate({ to: `/workflow/${metadata.workflowState || 'current'}` });
46 } catch (error) {
47 console.error('Failed to delete task:', error);
48 // Error handling will be improved in a later step
49 }
50 };
51
52 return (
53 <div className="min-h-screen bg-background">
54 {/* Header */}
55 <div className="bg-card border-b">
56 <div className="max-w-6xl mx-auto px-6 py-4">
57 <div className="flex items-start justify-between gap-4">
58 <div className="flex items-start gap-3 flex-1 min-w-0">
59 <TaskTypeIcon type={metadata.type || 'feature'} />
60 <div className="flex-1 min-w-0">
61 <h1 className="text-2xl font-bold text-foreground">{metadata.title}</h1>
62 <div className="flex items-center flex-wrap gap-2 mt-2">
63 <StatusBadge status={metadata.status || 'To Do'} />
64 <PriorityIndicator priority={metadata.priority || 'Medium'} />
65 <WorkflowStateBadge workflow={metadata.location || 'backlog'} />
66 {metadata.area && (
67 <>
68 <span className="text-muted-foreground">•</span>
69 <span className="text-sm text-muted-foreground">Area: {metadata.area}</span>
70 </>
71 )}
72 {metadata.assigned_to && (
73 <>
74 <span className="text-muted-foreground">•</span>
75 <span className="text-sm text-muted-foreground">@{metadata.assigned_to}</span>
76 </>
77 )}
78 </div>
79 {metadata.tags && metadata.tags.length > 0 && (
80 <div className="flex flex-wrap gap-1 mt-2">
81 {metadata.tags.map((tag) => (
82 <span key={tag} className="font-mono text-xs bg-muted px-2 py-1 rounded">
83 #{tag}

Callers

nothing calls this directly

Calls 1

useDeleteTaskFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…