Skip to content

Commit 80a2f65

Browse files
committed
Try to fix
1 parent fd77139 commit 80a2f65

5 files changed

Lines changed: 32 additions & 39 deletions

File tree

apps/plugin/plugin-src/code.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ import {
88
htmlMain,
99
postSettingsChanged,
1010
} from "backend";
11-
import { convertNodesToAltNodes } from "backend/src/altNodes/altConversion";
12-
import {
13-
disableParent,
14-
oldConvertNodesToAltNodes,
15-
setDisableParent,
16-
} from "backend/src/altNodes/oldAltConversion";
1711
import { nodesToJSON } from "backend/src/code";
1812
import { retrieveGenericSolidUIColors } from "backend/src/common/retrieveUI/retrieveColors";
1913
import { flutterCodeGenTextStyles } from "backend/src/flutter/flutterMain";
@@ -198,7 +192,17 @@ const standardMode = async () => {
198192
}
199193

200194
try {
201-
result.newConversion = await nodesToJSON(nodes, userPluginSettings);
195+
const newNodes = await nodesToJSON(nodes, userPluginSettings);
196+
const removeParent = (node: any) => {
197+
if (node.parent) {
198+
delete node.parent;
199+
}
200+
if (node.children) {
201+
node.children.forEach(removeParent);
202+
}
203+
};
204+
newNodes.forEach(removeParent);
205+
result.newConversion = newNodes;
202206
} catch (error) {
203207
console.error("Error in new conversion:", error);
204208
}

apps/plugin/ui-src/App.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ export default function App() {
104104
break;
105105

106106
case "selection-json":
107-
console.log("selection json");
108107
const json = event.data.pluginMessage.data;
109108
copy(JSON.stringify(json, null, 2));
110109

packages/backend/src/code.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,17 @@ function adjustChildrenOrder(node: any) {
163163
*/
164164
const processNodePair = async (
165165
jsonNode: any,
166-
figmaNode: SceneNode,
167166
settings: PluginSettings,
168167
parentNode?: any,
169168
) => {
170169
if (!jsonNode.id) return;
171170

171+
const figmaNode = await figma.getNodeByIdAsync(jsonNode.id);
172+
173+
if (!figmaNode) {
174+
return;
175+
}
176+
172177
// Set parent reference if parent is provided
173178
if (parentNode) {
174179
jsonNode.parent = parentNode;
@@ -352,12 +357,7 @@ const processNodePair = async (
352357
// );
353358

354359
for (let i = 0; i < jsonNode.children.length; i++) {
355-
await processNodePair(
356-
jsonNode.children[i],
357-
figmaNode.children[i],
358-
settings,
359-
jsonNode,
360-
);
360+
await processNodePair(jsonNode.children[i], settings, jsonNode);
361361
}
362362

363363
if (
@@ -409,7 +409,7 @@ export const nodesToJSON = async (
409409
// Now process each top-level node pair (JSON node + Figma node)
410410
const processNodesStart = Date.now();
411411
for (let i = 0; i < nodes.length; i++) {
412-
await processNodePair(nodeJson[i], nodes[i], settings);
412+
await processNodePair(nodeJson[i], settings);
413413
}
414414
console.log(
415415
`[benchmark][inside nodesToJSON] Process node pairs: ${Date.now() - processNodesStart}ms`,

packages/backend/src/html/builderImpl/htmlAutoLayout.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,18 @@ const getFlex = (
6969
: "inline-flex";
7070

7171
export const htmlAutoLayoutProps = (
72-
node: SceneNode,
73-
autoLayout: InferredAutoLayoutResult,
72+
node: SceneNode & InferredAutoLayoutResult,
7473
settings: HTMLSettings,
7574
): string[] =>
7675
formatMultipleJSXArray(
7776
{
78-
"flex-direction": getFlexDirection(autoLayout),
79-
"justify-content": getJustifyContent(autoLayout),
80-
"align-items": getAlignItems(autoLayout),
81-
gap: getGap(autoLayout),
82-
display: getFlex(node, autoLayout),
83-
"flex-wrap": getFlexWrap(autoLayout),
84-
"align-content": getAlignContent(autoLayout),
77+
"flex-direction": getFlexDirection(node),
78+
"justify-content": getJustifyContent(node),
79+
"align-items": getAlignItems(node),
80+
gap: getGap(node),
81+
display: getFlex(node, node),
82+
"flex-wrap": getFlexWrap(node),
83+
"align-content": getAlignContent(node),
8584
},
8685
settings.htmlGenerationMode === "jsx",
8786
);

packages/backend/src/html/htmlMain.ts

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -564,22 +564,13 @@ const htmlFrame = async (
564564
);
565565

566566
if (node.layoutMode !== "NONE") {
567-
const rowColumn = htmlAutoLayoutProps(node, node, settings);
567+
const rowColumn = htmlAutoLayoutProps(node, settings);
568568
return await htmlContainer(node, childrenStr, rowColumn, settings);
569-
} else {
570-
if (settings.optimizeLayout && node.inferredAutoLayout !== null) {
571-
const rowColumn = htmlAutoLayoutProps(
572-
node,
573-
node.inferredAutoLayout,
574-
settings,
575-
);
576-
return await htmlContainer(node, childrenStr, rowColumn, settings);
577-
}
578-
579-
// node.layoutMode === "NONE" && node.children.length > 1
580-
// children needs to be absolute
581-
return await htmlContainer(node, childrenStr, [], settings);
582569
}
570+
571+
// node.layoutMode === "NONE" && node.children.length > 1
572+
// children needs to be absolute
573+
return await htmlContainer(node, childrenStr, [], settings);
583574
};
584575

585576
// properties named propSomething always take care of ","

0 commit comments

Comments
 (0)