Skip to content

Commit f6899e4

Browse files
fix state error
1 parent 9176675 commit f6899e4

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

editor/scaffolds/code/index.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@ import { EditorAppbarFragments } from "components/editor";
66
import { get_framework_config } from "query/to-code-options-from-query";
77
import { CodeOptionsControl } from "components/codeui-code-options-control";
88
import { designToCode, Result } from "@designto/code";
9-
109
import { config } from "@designto/config";
1110
import { MainImageRepository } from "@design-sdk/core/assets-repository";
12-
1311
import { DesignInput } from "@designto/config/input";
1412
import { useEditorState, useWorkspaceState } from "core/states";
15-
1613
import { utils_dart } from "utils";
14+
import type { ReflectSceneNode } from "@design-sdk/core";
1715

1816
import { utils as _design_utils } from "@design-sdk/core";
1917
const designq = _design_utils.query;
@@ -57,13 +55,19 @@ export function CodeSegment() {
5755
const targetted =
5856
designq.find_node_by_id_under_entry(targetId, root?.entry) ?? root?.entry;
5957

58+
const targetStateRef = useRef<ReflectSceneNode>();
59+
targetStateRef.current = targetted;
60+
6061
const on_result = (result: Result) => {
6162
if (framework_config.language == "dart") {
6263
// special formatter support for dartlang
6364
result.code.raw = utils_dart.format(result.code.raw);
6465
result.scaffold.raw = utils_dart.format(result.scaffold.raw);
6566
}
66-
setResult(result);
67+
68+
if (result.id == targetStateRef?.current?.id) {
69+
setResult(result);
70+
}
6771
};
6872

6973
useEffect(() => {

packages/designto-code/universal/design-to-code.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,9 @@ export async function designToFlutter({
212212
await Promise.resolve();
213213

214214
const flutterwidget = toflutter.buildFlutterWidget(input.widget);
215-
const flutterapp = toflutter.buildFlutterApp(flutterwidget);
215+
const flutterapp = toflutter.buildFlutterApp(flutterwidget, {
216+
id: input.widget.key.id,
217+
});
216218

217219
// ------------------------------------------------------------------------
218220
// finilize temporary assets

packages/designto-flutter/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { composeAppWithHome } from "@flutter-builder/flutter";
66
import { makeApp } from "./make/make-flutter-material-app";
77

88
export function buildFlutterApp(
9-
widget: flutter.Widget
9+
widget: flutter.Widget,
10+
p: { id: string }
1011
): config.FlutterComponentOutput {
1112
const app =
1213
widget &&
@@ -19,7 +20,7 @@ export function buildFlutterApp(
1920
const rootAppCode = composeAppWithHome(app);
2021

2122
return {
22-
id: "flutterapp",
23+
id: p.id,
2324
name: "flutterapp",
2425
code: { raw: widgetCode },
2526
scaffold: { raw: rootAppCode },

0 commit comments

Comments
 (0)