Skip to content

Commit a371c36

Browse files
committed
Replace task copy functionality with task forwarding to instructions input
1 parent 8021465 commit a371c36

9 files changed

Lines changed: 35 additions & 59 deletions

File tree

‎packages/ui/src/components/editor/panel/Tasks/Tasks.tsx‎

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ type Props = {
1919
on_change: (task: Task) => void
2020
on_add: () => void
2121
on_add_subtask?: (parent_task: Task) => void
22-
on_copy: (text: string) => void
22+
on_forward: (text: string) => void
2323
on_delete: (created_at: number) => void
2424
}
2525

@@ -55,9 +55,6 @@ export const Tasks: React.FC<Props> = (props) => {
5555
const [editing_timestamp, set_editing_timestamp] = useState<number | null>(
5656
null
5757
)
58-
const [last_copied_timestamp, set_last_copied_timestamp] = useState<
59-
number | null
60-
>(null)
6158
const prevent_edit_ref = useRef(false)
6259

6360
use_auto_focus_new_task(props.tasks, set_editing_timestamp)
@@ -67,12 +64,6 @@ export const Tasks: React.FC<Props> = (props) => {
6764
[props.tasks]
6865
)
6966

70-
// Reset copied highlight only on structural changes to tasks
71-
// so it stays highlighted when set as done by response preview.
72-
useEffect(() => {
73-
set_last_copied_timestamp(null)
74-
}, [structure_signature])
75-
7667
const tree = useMemo(() => add_ids(props.tasks), [props.tasks])
7768

7869
const handle_tree_reorder = (new_tree: SortableTask[]) => {
@@ -90,7 +81,6 @@ export const Tasks: React.FC<Props> = (props) => {
9081
depth: number
9182
}) => {
9283
const is_editing = editing_timestamp == params.task.created_at
93-
const is_copied = last_copied_timestamp == params.task.created_at
9484
const has_children = params.task.children && params.task.children.length > 0
9585

9686
const checked_children_count = has_children
@@ -99,9 +89,7 @@ export const Tasks: React.FC<Props> = (props) => {
9989

10090
return (
10191
<div
102-
className={cn(styles.item, {
103-
[styles['item--copied']]: is_copied
104-
})}
92+
className={styles.item}
10593
style={{ paddingLeft: `${10 + params.depth * 20}px` }}
10694
>
10795
{[...Array(params.depth)].map((_, i) => (
@@ -168,13 +156,12 @@ export const Tasks: React.FC<Props> = (props) => {
168156
>
169157
{params.task.text && (
170158
<IconButton
171-
codicon_icon="copy"
159+
codicon_icon="forward"
172160
on_click={(e) => {
173161
e.stopPropagation()
174-
props.on_copy(params.task.text)
175-
set_last_copied_timestamp(params.task.created_at)
162+
props.on_forward(params.task.text)
176163
}}
177-
title="Copy Task"
164+
title="Use"
178165
/>
179166
)}
180167
<IconButton
@@ -187,15 +174,15 @@ export const Tasks: React.FC<Props> = (props) => {
187174
is_editing ? null : params.task.created_at
188175
)
189176
}
190-
title={is_editing ? 'Save task' : 'Edit task'}
177+
title={is_editing ? 'Done' : 'Edit'}
191178
/>
192179
<IconButton
193180
codicon_icon="trash"
194181
on_click={(e) => {
195182
e.stopPropagation()
196183
props.on_delete(params.task.created_at)
197184
}}
198-
title="Delete task"
185+
title="Delete"
199186
/>
200187
</div>
201188
</div>

‎packages/vscode/src/views/panel/backend/message-handlers/handle-copy-task.ts‎

Lines changed: 0 additions & 12 deletions
This file was deleted.

‎packages/vscode/src/views/panel/backend/message-handlers/index.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,5 @@ export * from './handle-request-can-undo'
5757
export * from './handle-get-tasks'
5858
export * from './handle-save-tasks'
5959
export * from './handle-delete-task'
60-
export * from './handle-copy-task'
6160
export * from './handle-preview-generated-code'
6261
export * from './handle-fix-all-failed-files'

‎packages/vscode/src/views/panel/backend/panel-provider.ts‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ import {
7373
handle_undo,
7474
handle_delete_checkpoint,
7575
handle_request_can_undo,
76-
handle_copy_task,
7776
handle_preview_generated_code,
7877
handle_get_tasks,
7978
handle_save_tasks,
@@ -648,8 +647,6 @@ export class PanelProvider implements vscode.WebviewViewProvider {
648647
await handle_save_tasks(this, message)
649648
} else if (message.command == 'DELETE_TASK') {
650649
await handle_delete_task(this, message)
651-
} else if (message.command == 'COPY_TASK') {
652-
await handle_copy_task(message)
653650
} else if (message.command == 'PREVIEW_GENERATED_CODE') {
654651
await handle_preview_generated_code(message)
655652
} else if (message.command == 'REQUEST_CAN_UNDO') {

‎packages/vscode/src/views/panel/frontend/Home/Home.tsx‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ type Props = {
4040
tasks: Record<string, Task[]>
4141
on_tasks_change: (root: string, tasks: Task[]) => void
4242
on_task_delete: (root: string, timestamp: number) => void
43-
on_task_copy: (text: string) => void
43+
on_task_forward: (text: string) => void
4444
}
4545

4646
export const Home: React.FC<Props> = (props) => {
@@ -56,8 +56,12 @@ export const Home: React.FC<Props> = (props) => {
5656
handle_add,
5757
handle_add_subtask,
5858
handle_delete,
59-
handle_copy
60-
} = use_tasks(props.on_tasks_change, props.on_task_delete, props.on_task_copy)
59+
handle_forward
60+
} = use_tasks(
61+
props.on_tasks_change,
62+
props.on_task_delete,
63+
props.on_task_forward
64+
)
6165

6266
const { is_timeline_reached, timeline_ref, handle_scroll_to_timeline } =
6367
use_timeline_scroll()
@@ -242,8 +246,8 @@ export const Home: React.FC<Props> = (props) => {
242246
on_delete={(timestamp) => {
243247
handle_delete(workspace_root_folder, timestamp)
244248
}}
245-
on_copy={(text) => {
246-
handle_copy(text)
249+
on_forward={(text) => {
250+
handle_forward(text)
247251
}}
248252
/>
249253
)}

‎packages/vscode/src/views/panel/frontend/Home/hooks/use-tasks.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const add_subtask_to_tree = (
3838
export const use_tasks = (
3939
on_tasks_change: (root: string, tasks: Task[]) => void,
4040
on_task_delete: (root: string, timestamp: number) => void,
41-
on_task_copy: (text: string) => void
41+
on_task_forward: (text: string) => void
4242
) => {
4343
const handle_reorder = (root: string, new_tasks: Task[]) => {
4444
on_tasks_change(root, new_tasks)
@@ -82,8 +82,8 @@ export const use_tasks = (
8282
on_task_delete(root, timestamp)
8383
}
8484

85-
const handle_copy = (text: string) => {
86-
on_task_copy(text)
85+
const handle_forward = (text: string) => {
86+
on_task_forward(text)
8787
}
8888

8989
return {
@@ -92,6 +92,6 @@ export const use_tasks = (
9292
handle_add,
9393
handle_add_subtask,
9494
handle_delete,
95-
handle_copy
95+
handle_forward
9696
}
9797
}

‎packages/vscode/src/views/panel/frontend/Panel.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export const Panel = () => {
105105
handle_tasks_change,
106106
handle_task_delete,
107107
handle_discard_user_changes_in_preview,
108-
handle_task_copy
108+
handle_task_forward
109109
} = use_panel(vscode)
110110

111111
const [checkpoint_to_edit, set_checkpoint_to_edit] = useState<
@@ -363,7 +363,7 @@ export const Panel = () => {
363363
tasks={tasks}
364364
on_tasks_change={handle_tasks_change}
365365
on_task_delete={handle_task_delete}
366-
on_task_copy={handle_task_copy}
366+
on_task_forward={handle_task_forward}
367367
/>
368368
</div>
369369
</Layout>

‎packages/vscode/src/views/panel/frontend/hooks/use-panel.ts‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,18 @@ export const use_panel = (vscode: any) => {
172172
})
173173
}
174174

175-
const handle_task_copy = (text: string) => {
176-
post_message(vscode, {
177-
command: 'COPY_TASK',
178-
text
179-
})
175+
const handle_task_forward = (text: string) => {
176+
handle_instructions_change(text, 'edit-context')
177+
178+
if (mode == MODE.WEB) {
179+
handle_web_prompt_type_change('edit-context')
180+
} else {
181+
handle_api_prompt_type_change('edit-context')
182+
}
183+
184+
set_active_view('main')
185+
set_main_view_scroll_reset_key((k) => k + 1)
186+
set_chat_input_focus_and_select_key((k) => k + 1)
180187
}
181188

182189
useEffect(() => {
@@ -571,7 +578,7 @@ export const use_panel = (vscode: any) => {
571578
tasks,
572579
handle_tasks_change,
573580
handle_task_delete,
574-
handle_task_copy,
581+
handle_task_forward,
575582
handle_instructions_change,
576583
edit_preset_back_click_handler,
577584
edit_preset_save_handler,

‎packages/vscode/src/views/panel/types/messages.ts‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -434,11 +434,6 @@ export interface DeleteTaskMessage extends BaseMessage {
434434
timestamp: number
435435
}
436436

437-
export interface CopyTaskMessage extends BaseMessage {
438-
command: 'COPY_TASK'
439-
text: string
440-
}
441-
442437
export interface UpdateFileProgressMessage extends BaseMessage {
443438
command: 'UPDATE_FILE_PROGRESS'
444439
file_path: string
@@ -528,7 +523,6 @@ export type FrontendMessage =
528523
| GetTasksMessage
529524
| SaveTasksMessage
530525
| DeleteTaskMessage
531-
| CopyTaskMessage
532526
| PreviewGeneratedCodeMessage
533527
| UpdateFileProgressMessage
534528

0 commit comments

Comments
 (0)