Skip to content

Commit 742931d

Browse files
Fix for dropping the project name if you update the gesture data (#406)
* Add name argument to generateProject
1 parent 7f44bda commit 742931d

File tree

5 files changed

+25
-10
lines changed

5 files changed

+25
-10
lines changed

src/components/CodeViewGridItem.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ const CodeViewGridItem = ({
2121
const model = useStore((s) => s.model);
2222
const gestures = useStore((s) => s.gestures);
2323
const project = useMemo(
24-
() => generateProject({ data: gestures }, model, gesture),
24+
// Project name is left empty as it is not used or displayed.
25+
() => generateProject("", { data: gestures }, model, gesture),
2526
[gesture, gestures, model]
2627
);
2728
const width = useMemo(

src/makecode/__snapshots__/utils.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5295,7 +5295,7 @@ namespace ml {
52955295
ml.onStart(ml.event.Wave, function () {basic.showIcon(IconNames.Rabbit)})
52965296
ml.onStart(ml.event.Clap, function () {basic.showIcon(IconNames.EighthNote)})
52975297
",
5298-
"pxt.json": "{"name":"Untitled","description":"","dependencies":{"core":"*","microphone":"*","radio":"*","machine-learning":"github:microbit-foundation/pxt-microbit-ml#v1.0.0"},"files":["main.ts","main.blocks","autogenerated.ts","dataset.json","pxt.json","README.md"],"preferredEditor":"blocksprj"}",
5298+
"pxt.json": "{"name":"A project name","description":"","dependencies":{"core":"*","microphone":"*","radio":"*","machine-learning":"github:microbit-foundation/pxt-microbit-ml#v1.0.0"},"files":["main.ts","main.blocks","autogenerated.ts","dataset.json","pxt.json","README.md"],"preferredEditor":"blocksprj"}",
52995299
},
53005300
}
53015301
`;

src/makecode/utils.test.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,22 @@ beforeAll(async () => {
4444
describe("test project generation", () => {
4545
it("generates a project", () => {
4646
assert(!trainingResult.error);
47-
const result = generateProject(data, trainingResult.model);
47+
const result = generateProject(
48+
"A project name",
49+
data,
50+
trainingResult.model
51+
);
4852
expect(result).toMatchSnapshot();
4953
});
5054

5155
it("generates a project to render the default gesture for the 'still' event", () => {
5256
assert(!trainingResult.error);
53-
const result = generateProject(data, trainingResult.model, data.data[0]);
57+
const result = generateProject(
58+
"Untitled",
59+
data,
60+
trainingResult.model,
61+
data.data[0]
62+
);
5463
expect(result).toMatchSnapshot();
5564
});
5665
});
@@ -71,7 +80,7 @@ describe("test project update", () => {
7180
"github:microbit-foundation/pxt-microbit-ml#v0.4.2"
7281
);
7382

74-
const newProject = generateProject(data, trainingResult.model);
83+
const newProject = generateProject("Untitled", data, trainingResult.model);
7584
expect(newProject.text?.[filenames.autogenerated]).not.toEqual(
7685
projectToUpdate.text?.[filenames.autogenerated]
7786
);
@@ -80,7 +89,7 @@ describe("test project update", () => {
8089
...projectToUpdate,
8190
text: {
8291
...projectToUpdate.text,
83-
...generateProject(data, trainingResult.model).text,
92+
...generateProject("Untitled", data, trainingResult.model).text,
8493
},
8594
};
8695
const updatedEditedProject = {

src/makecode/utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const pxt = {
3434
};
3535

3636
export const generateProject = (
37+
name: string,
3738
gestureState: DatasetEditorJsonFormat,
3839
model: LayersModel | undefined,
3940
gestureToRenderAsBlock?: GestureData
@@ -42,7 +43,7 @@ export const generateProject = (
4243
const useableGestures = model ? gestures : [];
4344
return {
4445
text: {
45-
[filenames.pxtJson]: JSON.stringify(pxt),
46+
[filenames.pxtJson]: JSON.stringify({ ...pxt, name }),
4647
[filenames.readme]: "",
4748
[filenames.mainTs]: getMainScript(
4849
useableGestures,

src/store.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const createUntitledProject = (): Project => ({
6161
saveId: null,
6262
// eslint-disable-next-line @typescript-eslint/no-explicit-any
6363
} as any,
64-
...generateProject({ data: [] }, undefined),
64+
...generateProject("Untitled", { data: [] }, undefined),
6565
});
6666

6767
const updateProject = (
@@ -77,7 +77,11 @@ const updateProject = (
7777
...project.text,
7878
...(projectEdited
7979
? generateCustomFiles(gestureData, model, project)
80-
: generateProject(gestureData, model).text),
80+
: generateProject(
81+
project.header?.name ?? "Untitled",
82+
gestureData,
83+
model
84+
).text),
8185
},
8286
};
8387
return {
@@ -529,7 +533,7 @@ const createMlStore = (logging: Logging) => {
529533
...previousProject,
530534
text: {
531535
...previousProject.text,
532-
...generateProject({ data: gestures }, model).text,
536+
...generateProject("Untitled", { data: gestures }, model).text,
533537
},
534538
};
535539
set(

0 commit comments

Comments
 (0)