2025-08-05 20:01:33 +03:00
|
|
|
'use client';
|
|
|
|
|
2025-04-22 23:42:13 +03:00
|
|
|
import { Tooltip } from '@/components/container';
|
|
|
|
import { globalIDs } from '@/utils/constants';
|
|
|
|
|
2025-06-05 15:26:35 +03:00
|
|
|
import { NodeType } from '../models/oss';
|
2025-04-22 23:42:13 +03:00
|
|
|
import { useOperationTooltipStore } from '../stores/operation-tooltip';
|
|
|
|
|
|
|
|
import { InfoBlock } from './info-block';
|
|
|
|
import { InfoOperation } from './info-operation';
|
|
|
|
|
|
|
|
export function OperationTooltip() {
|
|
|
|
const hoverItem = useOperationTooltipStore(state => state.hoverItem);
|
2025-06-05 15:26:35 +03:00
|
|
|
const isOperationNode = hoverItem?.nodeType === NodeType.OPERATION;
|
2025-04-22 23:42:13 +03:00
|
|
|
|
|
|
|
return (
|
|
|
|
<Tooltip
|
|
|
|
clickable
|
|
|
|
id={globalIDs.operation_tooltip}
|
|
|
|
layer='z-topmost'
|
|
|
|
className='max-w-140 dense max-h-120! overflow-y-auto!'
|
|
|
|
hidden={!hoverItem}
|
|
|
|
>
|
2025-06-05 15:26:35 +03:00
|
|
|
{hoverItem && isOperationNode ? <InfoOperation operation={hoverItem} /> : null}
|
|
|
|
{hoverItem && !isOperationNode ? <InfoBlock block={hoverItem} /> : null}
|
2025-04-22 23:42:13 +03:00
|
|
|
</Tooltip>
|
|
|
|
);
|
|
|
|
}
|