Skip to content

Commit ef54f26

Browse files
committed
refactor TypeScriptExample change
1 parent b92a479 commit ef54f26

File tree

1 file changed

+17
-51
lines changed

1 file changed

+17
-51
lines changed

src/components/TypeScriptExample.astro

Lines changed: 17 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const props = z
1313
filename: z.string().optional(),
1414
playground: z.boolean().default(false),
1515
code: z.custom<ComponentProps<typeof Code>>().optional(),
16-
omitTabs: z.boolean().optional(),
16+
omitTabs: z.boolean().default(false),
1717
})
1818
.strict();
1919
@@ -43,54 +43,20 @@ raw = raw.replace(/\u007f/g, "\n");
4343
4444
const js = await format(tsBlankSpace(raw), { parser: "babel", useTabs: true });
4545
46-
const includeTabsDefinition = !omitTabs;
47-
48-
// Define tab config array
49-
const tabs = [
50-
{
51-
label: "JavaScript",
52-
icon: "seti:javascript",
53-
lang: "js",
54-
code: js,
55-
title: filename?.replace(".ts", ".js"),
56-
meta: playground ? "playground" : undefined,
57-
},
58-
{
59-
label: "TypeScript",
60-
icon: "seti:typescript",
61-
lang: "ts",
62-
code: raw,
63-
title: filename,
64-
meta: undefined
65-
},
66-
] as const;
46+
const Wrapper = omitTabs ? Fragment : Tabs;
6747
---
68-
{includeTabsDefinition ? (
69-
<Tabs syncKey="workersExamples">
70-
{tabs.map(tab => (
71-
<TabItem label={tab.label} icon={tab.icon}>
72-
<Code
73-
{...code}
74-
lang={tab.lang}
75-
code={tab.code}
76-
title={tab.title}
77-
meta={tab.meta}
78-
/>
79-
</TabItem>
80-
))}
81-
</Tabs>
82-
) : (
83-
<>
84-
{tabs.map(tab => (
85-
<TabItem label={tab.label} icon={tab.icon}>
86-
<Code
87-
{...code}
88-
lang={tab.lang}
89-
code={tab.code}
90-
title={tab.title}
91-
meta={tab.meta}
92-
/>
93-
</TabItem>
94-
))}
95-
</>
96-
)}
48+
49+
<Wrapper syncKey="workersExamples">
50+
<TabItem label="JavaScript" icon="seti:javascript">
51+
<Code
52+
{...code}
53+
lang="js"
54+
code={js}
55+
title={filename?.replace(".ts", ".js")}
56+
meta={playground ? "playground" : undefined}
57+
/>
58+
</TabItem>
59+
<TabItem label="TypeScript" icon="seti:typescript">
60+
<Code {...code} lang="ts" code={raw} title={filename} />
61+
</TabItem>
62+
</Wrapper>

0 commit comments

Comments
 (0)