Refactor code to improve performance and readability

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-03-03 19:19:02 -03:00
commit b83ffc87b2

View file

@ -138,7 +138,8 @@ export default function GenericNode({
const iconColor = nodeColors[types[data.type]]; const iconColor = nodeColors[types[data.type]];
const iconName = const iconName =
iconElement || (data.node?.flow ? "group_components" : name); iconElement || (data.node?.flow ? "group_components" : name);
const iconClassName = `generic-node-icon ${!showNode ? " absolute inset-x-6 h-12 w-12 " : "" const iconClassName = `generic-node-icon ${
!showNode ? " absolute inset-x-6 h-12 w-12 " : ""
}`; }`;
if (iconElement && isEmoji) { if (iconElement && isEmoji) {
return nodeIconFragment(iconElement); return nodeIconFragment(iconElement);
@ -389,27 +390,12 @@ export default function GenericNode({
})} })}
data={data} data={data}
color={ color={
data.node?.template[templateField].input_types &&
data.node?.template[templateField].input_types!
.length > 0
? nodeColors[
data.node?.template[templateField]
.input_types![data.node?.template[templateField]
.input_types!.length - 1]
] ??
nodeColors[
types[
data.node?.template[templateField]
.input_types![data.node?.template[templateField]
.input_types!.length - 1]
]
]
: nodeColors[
data.node?.template[templateField].type!
] ??
nodeColors[ nodeColors[
types[data.node?.template[templateField].type!] types[data.node?.template[templateField].type!]
] ?? ] ??
nodeColors[
data.node?.template[templateField].type!
] ??
nodeColors.unknown nodeColors.unknown
} }
title={getFieldTitle( title={getFieldTitle(
@ -475,6 +461,12 @@ export default function GenericNode({
<Button <Button
variant="secondary" variant="secondary"
className={"group h-9 px-1.5"} className={"group h-9 px-1.5"}
onClick={() => {
if (buildStatus === BuildStatus.BUILDING || isBuilding)
return;
setValidationStatus(null);
buildFlow({ nodeId: data.id });
}}
> >
<div> <div>
<ShadTooltip <ShadTooltip
@ -497,12 +489,7 @@ export default function GenericNode({
} }
side="bottom" side="bottom"
> >
<div onClick={() => { <div className="generic-node-status-position flex items-center justify-center">
if (buildStatus === BuildStatus.BUILDING || isBuilding)
return;
setValidationStatus(null);
buildFlow({ nodeId: data.id });
}} className="generic-node-status-position flex items-center justify-center">
{renderIconStatus(buildStatus, validationStatus)} {renderIconStatus(buildStatus, validationStatus)}
</div> </div>
</ShadTooltip> </ShadTooltip>
@ -621,14 +608,12 @@ export default function GenericNode({
.length > 0 .length > 0
? nodeColors[ ? nodeColors[
data.node?.template[templateField] data.node?.template[templateField]
.input_types![data.node?.template[templateField] .input_types![0]
.input_types!.length - 1]
] ?? ] ??
nodeColors[ nodeColors[
types[ types[
data.node?.template[templateField] data.node?.template[templateField]
.input_types![data.node?.template[templateField] .input_types![0]
.input_types!.length - 1]
] ]
] ]
: nodeColors[ : nodeColors[