LogLineMenu: improve options and dividers (#109191)

This commit is contained in:
Matias Chomicki
2025-08-08 10:45:05 +02:00
committed by GitHub
parent 3c00cf11cc
commit 99c7cd60e6
@@ -83,6 +83,8 @@ export const LogLineMenu = ({ log, styles }: Props) => {
} }
}, [log, onPinLine, onUnpinLine, pinned]); }, [log, onPinLine, onUnpinLine, pinned]);
const showFirstDivider = enableLogDetails || shouldlogSupportsContext || onPinLine || onUnpinLine;
const menu = useCallback( const menu = useCallback(
() => ( () => (
<Menu ref={menuRef}> <Menu ref={menuRef}>
@@ -105,18 +107,11 @@ export const LogLineMenu = ({ log, styles }: Props) => {
{pinned && onUnpinLine && ( {pinned && onUnpinLine && (
<Menu.Item onClick={togglePinning} label={t('logs.log-line-menu.unpin-from-outline', 'Unpin log')} /> <Menu.Item onClick={togglePinning} label={t('logs.log-line-menu.unpin-from-outline', 'Unpin log')} />
)} )}
<Menu.Divider /> {showFirstDivider && <Menu.Divider />}
<Menu.Item onClick={copyLogLine} label={t('logs.log-line-menu.copy-log', 'Copy log line')} /> <Menu.Item onClick={copyLogLine} label={t('logs.log-line-menu.copy-log', 'Copy log line')} />
{onPermalinkClick && log.rowId !== undefined && log.uid && ( {onPermalinkClick && log.rowId !== undefined && log.uid && (
<Menu.Item onClick={copyLinkToLogLine} label={t('logs.log-line-menu.copy-link', 'Copy link to log line')} /> <Menu.Item onClick={copyLinkToLogLine} label={t('logs.log-line-menu.copy-link', 'Copy link to log line')} />
)} )}
{isAssistantAvailable && (
<Menu.Item
onClick={() => openAssistantByLog?.(log)}
icon="ai-sparkle"
label={t('logs.log-line-menu.open-assistant', 'Explain this log line in Assistant')}
/>
)}
{logLineMenuCustomItems.map((item, i) => { {logLineMenuCustomItems.map((item, i) => {
if (isDivider(item)) { if (isDivider(item)) {
return <Menu.Divider key={i} />; return <Menu.Divider key={i} />;
@@ -126,23 +121,34 @@ export const LogLineMenu = ({ log, styles }: Props) => {
} }
return null; return null;
})} })}
{isAssistantAvailable && (
<>
<Menu.Divider />
<Menu.Item
onClick={() => openAssistantByLog?.(log)}
icon="ai-sparkle"
label={t('logs.log-line-menu.open-assistant', 'Explain this log line in Assistant')}
/>
</>
)}
</Menu> </Menu>
), ),
[ [
copyLinkToLogLine,
copyLogLine,
detailsDisplayed,
enableLogDetails, enableLogDetails,
toggleLogDetails,
detailsDisplayed,
log, log,
logLineMenuCustomItems,
onPermalinkClick,
onPinLine,
onUnpinLine,
pinned,
shouldlogSupportsContext, shouldlogSupportsContext,
showContext, showContext,
toggleLogDetails, pinned,
onPinLine,
togglePinning, togglePinning,
onUnpinLine,
showFirstDivider,
copyLogLine,
onPermalinkClick,
copyLinkToLogLine,
logLineMenuCustomItems,
isAssistantAvailable, isAssistantAvailable,
openAssistantByLog, openAssistantByLog,
] ]