Skip to content

Commit b19bcd4

Browse files
Add story for MakeCode Editor without lang control
1 parent 4154911 commit b19bcd4

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

src/react/MakeCodeFrame.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export interface MakeCodeFrameProps
3434
version?: string;
3535
lang?: string;
3636
controller?: 1 | 2;
37+
hideLanguage?: boolean;
3738
// You can use these to specify query variants or other options not directly supported by this component
3839
// https://github.com/microsoft/pxt-microbit/blob/master/pxtarget.json#L605C6-L605C14
3940
queryParams?: Record<string, string>;
@@ -72,6 +73,7 @@ const MakeCodeFrame = forwardRef<MakeCodeFrameDriver, MakeCodeFrameProps>(
7273
version,
7374
lang,
7475
controller,
76+
hideLanguage,
7577
queryParams,
7678

7779
initialProjects,
@@ -136,6 +138,7 @@ const MakeCodeFrame = forwardRef<MakeCodeFrameDriver, MakeCodeFrameProps>(
136138
version,
137139
lang,
138140
controller,
141+
hideLanguage,
139142
queryParams
140143
);
141144
return (

src/stories/react/MakeCodeFrame.stories.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,24 @@ export const MakeCodeEditorWithControlsStory: Story = {
8282
},
8383
};
8484

85+
export const MakeCodeEditorWithoutLangPickerStory: Story = {
86+
name: 'MakeCode Editor without language picker',
87+
args: {
88+
version: 'default',
89+
},
90+
render: (args) => {
91+
const { version } = args;
92+
return (
93+
<StoryWrapper>
94+
<MakeCodeEditorWithControls
95+
version={version === 'default' ? undefined : version}
96+
hideLanguage
97+
/>
98+
</StoryWrapper>
99+
);
100+
},
101+
};
102+
85103
export const MakeCodeEditorControllerAppModeStory: Story = {
86104
name: 'MakeCode Editor with controller=2 mode',
87105
args: {

src/stories/vanilla/makecode-frame-driver.stories.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ interface StoryArgs {
1515
version?: string;
1616
lang?: string;
1717
controller?: 1 | 2;
18+
hideLanguage?: boolean;
1819
queryParams?: Record<string, string>;
1920
};
2021
project?: MakeCodeProject;
@@ -44,6 +45,7 @@ const renderEditor = (args: StoryArgs) => {
4445
args.options?.version === 'default' ? undefined : args.options?.version,
4546
args.options?.lang,
4647
args.options?.controller ?? 1,
48+
args.options?.hideLanguage,
4749
args.options?.queryParams
4850
);
4951
iframe.width = '100%';
@@ -92,6 +94,16 @@ export const MakeCodeEditorWithControlsStory: Story = {
9294
},
9395
};
9496

97+
98+
export const MakeCodeEditorWithoutLangPickerStory: Story = {
99+
name: 'MakeCode Editor without language picker',
100+
render: renderEditor,
101+
args: {
102+
options: { version: 'default', hideLanguage: true },
103+
project: defaultMakeCodeProject,
104+
},
105+
};
106+
95107
export const MakeCodeEditorControllerAppModeStory: Story = {
96108
name: 'MakeCode Editor with controller=2 mode',
97109
render: renderEditor,

src/vanilla/makecode-frame-driver.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -806,6 +806,7 @@ export const createMakeCodeURL = (
806806
version: string | undefined,
807807
lang: string | undefined,
808808
controller: number | undefined,
809+
hideLanguage: boolean | undefined,
809810
queryParams: Record<string, string> | undefined
810811
): string => {
811812
const url = new URL(
@@ -817,6 +818,9 @@ export const createMakeCodeURL = (
817818
if (controller) {
818819
url.searchParams.set('controller', controller.toString());
819820
}
821+
if (hideLanguage) {
822+
url.searchParams.set('hideLanguage', '1')
823+
}
820824
if (queryParams) {
821825
for (const [k, v] of Object.entries(queryParams)) {
822826
url.searchParams.set(k, v);

0 commit comments

Comments
 (0)