🐛 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

@ -336,9 +336,10 @@ export default function GenericNode({
/> />
</div> </div>
) : ( ) : (
<ShadTooltip content={data.node?.display_name}>
<div className="group flex items-center gap-2.5">
<ShadTooltip content={data.node?.display_name}> <ShadTooltip content={data.node?.display_name}>
<div <div
className="flex items-center gap-2"
onDoubleClick={(event) => { onDoubleClick={(event) => {
if (nameEditable) { if (nameEditable) {
setInputName(true); setInputName(true);
@ -347,18 +348,26 @@ export default function GenericNode({
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); 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 && (
<div
onClick={(event) => {
setInputName(true);
takeSnapshot();
event.stopPropagation();
event.preventDefault();
}}
>
<IconComponent <IconComponent
name="Pencil" name="Pencil"
className="h-4 w-4 text-ring" 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,