diff --git a/services/web/frontend/js/features/ide-redesign/components/error-logs/log-entry-header.tsx b/services/web/frontend/js/features/ide-redesign/components/error-logs/log-entry-header.tsx index 3c2bb87280..4100d35474 100644 --- a/services/web/frontend/js/features/ide-redesign/components/error-logs/log-entry-header.tsx +++ b/services/web/frontend/js/features/ide-redesign/components/error-logs/log-entry-header.tsx @@ -1,5 +1,12 @@ import classNames from 'classnames' -import { useState, useRef, MouseEventHandler, ElementType } from 'react' +import { + useState, + useRef, + MouseEventHandler, + ElementType, + useCallback, + KeyboardEventHandler, +} from 'react' import { useTranslation } from 'react-i18next' import OLTooltip from '@/shared/components/ol/ol-tooltip' import { @@ -105,16 +112,30 @@ function LogEntryHeader({ !!fileData && !(fileData.entity._id === openEntity?.entity._id && !line) + const handleKeyDown: KeyboardEventHandler = useCallback( + event => { + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault() + onToggleCollapsed() + } + }, + [onToggleCollapsed] + ) + return (
- + {actionButtonsOverride ?? (
diff --git a/services/web/frontend/stylesheets/pages/editor/logs.scss b/services/web/frontend/stylesheets/pages/editor/logs.scss index 7f25aaacdf..d7890cf53d 100644 --- a/services/web/frontend/stylesheets/pages/editor/logs.scss +++ b/services/web/frontend/stylesheets/pages/editor/logs.scss @@ -89,17 +89,20 @@ border-radius: var(--border-radius-base); padding: var(--spacing-02) 0; overflow: hidden; - user-select: text; &:hover { cursor: pointer; } &:hover, - :focus, - :active { + &:focus-visible, + &:active { background-color: var(--bg-secondary-themed); } + + .log-entry-expand-icon { + user-select: none; + } } .log-entry-header-content {