Skip to content

Commit 42c6569

Browse files
committed
Remove the custom context menu implementation and relocate the "Run without submission" action into the primary preset item controls
1 parent 821cdb3 commit 42c6569

2 files changed

Lines changed: 18 additions & 79 deletions

File tree

‎packages/ui/src/components/editor/panel/Presets/Presets.module.scss‎

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -115,26 +115,6 @@
115115
}
116116
}
117117

118-
.context-menu {
119-
position: fixed;
120-
background-color: var(--vscode-menu-background);
121-
border: 1px solid var(--vscode-menu-border);
122-
color: var(--vscode-menu-foreground);
123-
box-shadow: 0 2px 8px var(--vscode-widget-shadow);
124-
padding: var(--padding-4px) 0;
125-
border-radius: 4px;
126-
127-
&__item {
128-
padding: var(--padding-4px) var(--padding-12px);
129-
cursor: pointer;
130-
131-
&:hover {
132-
background-color: var(--vscode-menu-selectionBackground);
133-
color: var(--vscode-menu-selectionForeground);
134-
}
135-
}
136-
}
137-
138118
.footer {
139119
display: flex;
140120
padding: var(--padding-8px) var(--padding-12px) var(--padding-12px)

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

Lines changed: 18 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import cn from 'classnames'
55
import { ReactSortable } from 'react-sortablejs'
66
import { Icon } from '../../common/Icon'
77
import { CHATBOTS } from '@shared/constants/chatbots'
8-
import { use_context_menu } from '../../../../hooks/use-context-menu'
98

109
export const chatbot_to_icon: Record<keyof typeof CHATBOTS, Icon.Variant> = {
1110
'AI Studio': 'AI_STUDIO',
@@ -86,16 +85,6 @@ const with_ids = (
8685
}
8786

8887
export const Presets: React.FC<Presets.Props> = (props) => {
89-
const {
90-
context_menu: item_context_menu,
91-
context_menu_ref: item_context_menu_ref,
92-
handle_context_menu: handle_item_context_menu,
93-
close_context_menu: close_item_context_menu
94-
} = use_context_menu<{
95-
preset_name: string
96-
is_group: boolean
97-
}>()
98-
9988
const { ungrouped_selected_count, ungrouped_preset_count } = (() => {
10089
let selected_count = 0
10190
let preset_count = 0
@@ -199,12 +188,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
199188
onClick={() => {
200189
props.on_preset_click(preset.name)
201190
}}
202-
onContextMenu={(e) =>
203-
handle_item_context_menu(e, {
204-
preset_name: preset.name,
205-
is_group: false
206-
})
207-
}
208191
role="button"
209192
>
210193
<div className={styles.presets__item__left}>
@@ -239,6 +222,14 @@ export const Presets: React.FC<Presets.Props> = (props) => {
239222
props.on_toggle_preset_pinned(preset.name)
240223
}}
241224
/>
225+
<IconButton
226+
codicon_icon="debug-pause"
227+
title="Run without submission"
228+
on_click={(e) => {
229+
e.stopPropagation()
230+
props.on_preset_click(preset.name, true)
231+
}}
232+
/>
242233
<IconButton
243234
codicon_icon="files"
244235
title="Duplicate"
@@ -484,12 +475,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
484475
instant: true
485476
})
486477
}}
487-
onContextMenu={(e) => {
488-
handle_item_context_menu(e, {
489-
preset_name: 'Ungrouped',
490-
is_group: true
491-
})
492-
}}
493478
role="button"
494479
>
495480
<div className={styles.presets__item__left}>
@@ -697,12 +682,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
697682
props.on_toggle_group_collapsed(preset.name)
698683
}
699684
}}
700-
onContextMenu={(e) =>
701-
handle_item_context_menu(e, {
702-
preset_name: preset.name,
703-
is_group: !preset.chatbot
704-
})
705-
}
706685
role="button"
707686
>
708687
<div className={styles.presets__item__left}>
@@ -791,6 +770,16 @@ export const Presets: React.FC<Presets.Props> = (props) => {
791770
}}
792771
/>
793772
)}
773+
{preset.chatbot && (
774+
<IconButton
775+
codicon_icon="debug-continue-small"
776+
title="Run without submission"
777+
on_click={(e) => {
778+
e.stopPropagation()
779+
props.on_preset_click(preset.name, true)
780+
}}
781+
/>
782+
)}
794783
<IconButton
795784
codicon_icon="files"
796785
title="Duplicate"
@@ -821,36 +810,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
821810
})}
822811
</ReactSortable>
823812
</div>
824-
{item_context_menu && (
825-
<div
826-
ref={item_context_menu_ref}
827-
className={styles['context-menu']}
828-
style={{
829-
top: item_context_menu.y,
830-
left: item_context_menu.x
831-
}}
832-
>
833-
<div
834-
className={styles['context-menu__item']}
835-
onClick={() => {
836-
if (item_context_menu.data.is_group) {
837-
props.on_group_click(
838-
item_context_menu.data.preset_name,
839-
true
840-
)
841-
} else {
842-
props.on_preset_click(
843-
item_context_menu.data.preset_name,
844-
true
845-
)
846-
}
847-
close_item_context_menu()
848-
}}
849-
>
850-
{'Run without submission'}
851-
</div>
852-
</div>
853-
)}
854813
</>
855814
)}
856815
</div>

0 commit comments

Comments
 (0)