diff --git a/webview-ui/src/components/chat/AutoApproveMenu.tsx b/webview-ui/src/components/chat/AutoApproveMenu.tsx index 0feafae15d..2ab3daa202 100644 --- a/webview-ui/src/components/chat/AutoApproveMenu.tsx +++ b/webview-ui/src/components/chat/AutoApproveMenu.tsx @@ -129,18 +129,8 @@ const AutoApproveMenu = ({ style }: AutoApproveMenuProps) => { setIsExpanded((prev) => !prev) }, []) - const enabledActionsList = Object.entries(toggles) - .filter(([_key, value]) => !!value) - .map(([key]) => t(autoApproveSettingsConfig[key as AutoApproveSetting].labelKey)) - .join(", ") - - // Update displayed text logic - const displayText = useMemo(() => { - if (!effectiveAutoApprovalEnabled || !hasEnabledOptions) { - return t("chat:autoApprove.none") - } - return enabledActionsList || t("chat:autoApprove.none") - }, [effectiveAutoApprovalEnabled, hasEnabledOptions, enabledActionsList, t]) + // Get all icons for display and highlight based on toggle state + const allConfigs = useMemo(() => Object.values(autoApproveSettingsConfig), []) const handleOpenSettings = useCallback( () => @@ -213,8 +203,44 @@ const AutoApproveMenu = ({ style }: AutoApproveMenuProps) => { whiteSpace: "nowrap", flex: 1, minWidth: 0, - }}> - {displayText} + display: "flex", + alignItems: "center", + gap: "6px", + }} + onClick={(e) => e.stopPropagation()}> + {allConfigs.map(({ key, icon, labelKey }) => { + const isEnabled = !!toggles[key] + return ( + +