1
- import Playground from "@site/src /components/Playground";
2
- import CoreSwitcher from "@site/src /components/Playground/CoreSwitcher";
3
- import FileSystemManager from
4
- "@site/src /components/Playground/Workspace/FileSystemManager";
5
- import Editor from
6
- "@site/src /components/Playground/Workspace/Editor";
1
+ import BrowserOnly from '@docusaurus/BrowserOnly ';
7
2
import MuiThemeProvider from "@site/src /components/common/MuiThemeProvider";
8
3
import ThemedButton from "@site/src /components/common/ThemedButton";
9
4
import ThemedIconButton from "@site/src /components/common/ThemedIconButton";
@@ -26,7 +21,12 @@ development!
26
21
27
22
:::
28
23
29
- <Playground />
24
+ <BrowserOnly >
25
+ {() => {
26
+ const Playground = require('@site/src /components/Playground').default;
27
+ return <Playground />
28
+ }}
29
+ </BrowserOnly >
30
30
31
31
<div style ={{ height: 32 }} />
32
32
@@ -48,7 +48,12 @@ The assets are downloaded automatically when you enter the Playground. You can
48
48
choose to use multithreading version instead by click on the switch:
49
49
50
50
<MuiThemeProvider >
51
- <CoreSwitcher />
51
+ <BrowserOnly >
52
+ {() => {
53
+ const CoreSwitcher = require('@site/src /components/Playground/CoreSwitcher').default;
54
+ return <CoreSwitcher />;
55
+ }}
56
+ </BrowserOnly >
52
57
</MuiThemeProvider >
53
58
54
59
#### Load files to in-memory File System
@@ -58,16 +63,23 @@ System to make sure these files can be consumed by the ffmpeg.wasm APIs:
58
63
59
64
<div style ={{ maxWidth: 260 }} >
60
65
<MuiThemeProvider >
61
- <FileSystemManager
62
- nodes={[
63
- {name: "..", isDir: true},
64
- {name: "tmp", isDir: true},
65
- {name: "home", isDir: true},
66
- {name: "dev", isDir: true},
67
- {name: "proc", isDir: true},
68
- {name: "video.avi", isDir: false},
69
- ]}
70
- />
66
+ <BrowserOnly>
67
+ {() => {
68
+ const FileSystemManager = require('@site/src/components/Playground/Workspace/FileSystemManager').default;
69
+ return (
70
+ <FileSystemManager
71
+ nodes={[
72
+ {name: "..", isDir: true},
73
+ {name: "tmp", isDir: true},
74
+ {name: "home", isDir: true},
75
+ {name: "dev", isDir: true},
76
+ {name: "proc", isDir: true},
77
+ {name: "video.avi", isDir: false},
78
+ ]}
79
+ />
80
+ );
81
+ }}
82
+ </BrowserOnly>
71
83
</MuiThemeProvider >
72
84
</div >
73
85
@@ -92,7 +104,14 @@ and hit <ThemedButton variant="contained">Run</ThemedButton> afterward:
92
104
93
105
<div style ={{ maxWidth: 480 }} >
94
106
<MuiThemeProvider >
95
- <Editor args={JSON.stringify(["-i", "video.avi", "video.mp4"], null, 2)} />
107
+ <BrowserOnly>
108
+ {() => {
109
+ const Editor = require('@site/src/components/Playground/Workspace/Editor').default;
110
+ return (
111
+ <Editor args={JSON.stringify(["-i", "video.avi", "video.mp4"], null, 2)} />
112
+ );
113
+ }}
114
+ </BrowserOnly>
96
115
</MuiThemeProvider >
97
116
</div >
98
117
0 commit comments