@@ -59,6 +47,7 @@ function Playground({ mode, onCodeChanged }: PlaygroundProps)
type PixiPlaygroundProps = {
code: string;
+ extraFiles?: Record
;
isPixiWebWorkerVersion?: boolean;
isPixiDevVersion?: boolean;
pixiVersion?: string;
@@ -68,7 +57,7 @@ type PixiPlaygroundProps = {
export default function PixiPlayground({
code,
- onCodeChanged,
+ extraFiles,
isPixiWebWorkerVersion = false,
isPixiDevVersion = false,
pixiVersion = latestVersion,
@@ -79,6 +68,7 @@ export default function PixiPlayground({
const { key, files, customSetup } = useSandpackConfiguration({
code,
+ extraFiles,
isPixiDevVersion,
isPixiWebWorkerVersion,
pixiVersion,
@@ -99,9 +89,11 @@ export default function PixiPlayground({
'sp-wrapper': mode === 'tutorial' ? styles.tpWrapper : styles.spWrapper,
'sp-layout': styles.spLayout,
},
+ // Only show .js file tabs
+ visibleFiles: Object.keys(files).filter((fileName) => fileName.endsWith('.js')) as any[],
}}
>
-
+
);
}
diff --git a/src/components/PixiPlayground/useSandpackConfiguration.ts b/src/components/PixiPlayground/useSandpackConfiguration.ts
index 20c337078..61bcfe21e 100644
--- a/src/components/PixiPlayground/useSandpackConfiguration.ts
+++ b/src/components/PixiPlayground/useSandpackConfiguration.ts
@@ -19,7 +19,7 @@ const indexHTML = `
// babel configuration I could find (.browserslistrc isn't working and preset-env targets
// are out of date, but it seems OK), while also allowing the best "open in sandbox"
// functionality with all required dependencies
-export const useFiles = (code: string) =>
+export const useFiles = (code: string, extraFiles?: Record) =>
useMemo(
() => ({
'.babelrc': {
@@ -55,8 +55,9 @@ export const useFiles = (code: string) =>
2,
),
},
+ ...extraFiles,
}),
- [code],
+ [code, extraFiles],
);
type UseDependenciesParams = {
@@ -89,16 +90,18 @@ const useDependencies = ({ isPixiWebWorkerVersion, isPixiDevVersion, pixiVersion
type UseSandpackConfigurationParams = UseDependenciesParams & {
code: string;
+ extraFiles?: Record;
};
export const useSandpackConfiguration = ({
code,
+ extraFiles,
isPixiWebWorkerVersion,
isPixiDevVersion,
pixiVersion,
}: UseSandpackConfigurationParams) =>
{
- const files = useFiles(code);
+ const files = useFiles(code, extraFiles);
const { dependenciesKey, dependencies } = useDependencies({ isPixiWebWorkerVersion, isPixiDevVersion, pixiVersion });