🐛 fix(GenericNode/index.tsx): fix double click behavior on GenericNode title to correctly handle nameEditable state and takeSnapshot function

🔧 chore(GenericNode/index.tsx): refactor GenericNode title component to improve readability and maintainability
🔧 chore(GenericNode/index.tsx): refactor GenericNode build status tooltip to improve readability
This commit is contained in:
cristhianzl 2024-02-26 14:15:47 -03:00
commit 28927ddc78

View file

@ -337,28 +337,37 @@ export default function GenericNode({
</div> </div>
) : ( ) : (
<ShadTooltip content={data.node?.display_name}> <ShadTooltip content={data.node?.display_name}>
<div <div className="group flex items-center gap-2.5">
className="flex items-center gap-2" <ShadTooltip content={data.node?.display_name}>
onDoubleClick={(event) => { <div
if (nameEditable) { onDoubleClick={(event) => {
setInputName(true); if (nameEditable) {
} setInputName(true);
takeSnapshot(); }
event.stopPropagation(); takeSnapshot();
event.preventDefault(); event.stopPropagation();
}} event.preventDefault();
> }}
<div data-testid={"title-" + data.node?.display_name}
data-testid={"title-" + data.node?.display_name} className="generic-node-tooltip-div text-primary"
className="generic-node-tooltip-div text-primary" >
> {data.node?.display_name}
{data.node?.display_name} </div>
</div> </ShadTooltip>
{nameEditable && ( {nameEditable && (
<IconComponent <div
name="Pencil" onClick={(event) => {
className="h-4 w-4 text-ring" setInputName(true);
/> takeSnapshot();
event.stopPropagation();
event.preventDefault();
}}
>
<IconComponent
name="Pencil"
className="hidden h-4 w-4 animate-pulse text-status-blue group-hover:block"
/>
</div>
)} )}
</div> </div>
</ShadTooltip> </ShadTooltip>
@ -465,11 +474,7 @@ export default function GenericNode({
}} }}
> >
<div> <div>
<Tooltip <Tooltip title={"Build"}>
title={
"Build"
}
>
<div className="generic-node-status-position flex items-center justify-center"> <div className="generic-node-status-position flex items-center justify-center">
{renderIconPlayOrPauseComponents( {renderIconPlayOrPauseComponents(
data?.buildStatus, data?.buildStatus,