@@ -27,6 +27,7 @@ import {
27
27
} from '../components/Editor/MobileEditor' ;
28
28
import IDEOverlays from '../components/IDEOverlays' ;
29
29
import useIsMobile from '../hooks/useIsMobile' ;
30
+ import { P5VersionProvider } from '../hooks/useP5Version' ;
30
31
31
32
function getTitle ( project ) {
32
33
const { id } = project ;
@@ -173,117 +174,119 @@ const IDEView = () => {
173
174
< IDEKeyHandlers getContent = { ( ) => cmRef . current ?. getContent ( ) } />
174
175
< WarnIfUnsavedChanges />
175
176
< Toast />
176
- < CmControllerContext . Provider value = { cmRef } >
177
- < Header syncFileContent = { syncFileContent } />
178
- </ CmControllerContext . Provider >
179
- { isMobile ? (
180
- < >
181
- < FloatingActionButton
182
- syncFileContent = { syncFileContent }
183
- offsetBottom = { ide . isPlaying ? currentConsoleSize : 0 }
184
- />
185
- < PreviewWrapper show = { ide . isPlaying } >
186
- < SplitPane
187
- style = { { position : 'static' } }
188
- split = "horizontal"
189
- primary = "second"
190
- size = { currentConsoleSize }
191
- minSize = { consoleCollapsedSize }
192
- onChange = { ( size ) => {
193
- setConsoleSize ( size ) ;
194
- setIsOverlayVisible ( true ) ;
195
- } }
196
- onDragFinished = { ( ) => {
197
- setIsOverlayVisible ( false ) ;
198
- } }
199
- allowResize = { ide . consoleIsExpanded }
200
- className = "editor-preview-subpanel"
201
- >
202
- < PreviewFrame
203
- fullView
204
- hide = { ! ide . isPlaying }
205
- cmController = { cmRef . current }
206
- isOverlayVisible = { isOverlayVisible }
207
- />
208
- < Console />
209
- </ SplitPane >
210
- </ PreviewWrapper >
211
- < EditorSidebarWrapper show = { ! ide . isPlaying } >
212
- < Sidebar />
213
- < Editor
214
- provideController = { ( ctl ) => {
215
- cmRef . current = ctl ;
216
- } }
177
+ < P5VersionProvider >
178
+ < CmControllerContext . Provider value = { cmRef } >
179
+ < Header syncFileContent = { syncFileContent } />
180
+ </ CmControllerContext . Provider >
181
+ { isMobile ? (
182
+ < >
183
+ < FloatingActionButton
184
+ syncFileContent = { syncFileContent }
185
+ offsetBottom = { ide . isPlaying ? currentConsoleSize : 0 }
217
186
/>
218
- </ EditorSidebarWrapper >
219
- </ >
220
- ) : (
221
- < main className = "editor-preview-container" >
222
- < SplitPane
223
- split = "vertical"
224
- size = { ide . sidebarIsExpanded ? sidebarSize : 20 }
225
- onChange = { ( size ) => {
226
- setSidebarSize ( size ) ;
227
- } }
228
- allowResize = { ide . sidebarIsExpanded }
229
- minSize = { 150 }
230
- >
231
- < Sidebar />
232
- < SplitPane
233
- split = "vertical"
234
- maxSize = { MaxSize * 0.965 }
235
- defaultSize = "50%"
236
- onChange = { ( ) => {
237
- setIsOverlayVisible ( true ) ;
238
- } }
239
- onDragFinished = { ( ) => {
240
- setIsOverlayVisible ( false ) ;
241
- } }
242
- resizerStyle = { {
243
- borderLeftWidth : '2px' ,
244
- borderRightWidth : '2px' ,
245
- width : '2px' ,
246
- margin : '0px 0px'
247
- } }
248
- >
187
+ < PreviewWrapper show = { ide . isPlaying } >
249
188
< SplitPane
189
+ style = { { position : 'static' } }
250
190
split = "horizontal"
251
191
primary = "second"
252
192
size = { currentConsoleSize }
253
193
minSize = { consoleCollapsedSize }
254
194
onChange = { ( size ) => {
255
195
setConsoleSize ( size ) ;
196
+ setIsOverlayVisible ( true ) ;
197
+ } }
198
+ onDragFinished = { ( ) => {
199
+ setIsOverlayVisible ( false ) ;
256
200
} }
257
201
allowResize = { ide . consoleIsExpanded }
258
202
className = "editor-preview-subpanel"
259
203
>
260
- < Editor
261
- provideController = { ( ctl ) => {
262
- cmRef . current = ctl ;
263
- } }
204
+ < PreviewFrame
205
+ fullView
206
+ hide = { ! ide . isPlaying }
207
+ cmController = { cmRef . current }
208
+ isOverlayVisible = { isOverlayVisible }
264
209
/>
265
210
< Console />
266
211
</ SplitPane >
267
- < section className = "preview-frame-holder" >
268
- < header className = "preview-frame__header" >
269
- < h2 className = "preview-frame__title" >
270
- { t ( 'Toolbar.Preview' ) }
271
- </ h2 >
272
- </ header >
273
- < div className = "preview-frame__content" >
274
- < PreviewFrame
275
- cmController = { cmRef . current }
276
- isOverlayVisible = { isOverlayVisible }
212
+ </ PreviewWrapper >
213
+ < EditorSidebarWrapper show = { ! ide . isPlaying } >
214
+ < Sidebar />
215
+ < Editor
216
+ provideController = { ( ctl ) => {
217
+ cmRef . current = ctl ;
218
+ } }
219
+ />
220
+ </ EditorSidebarWrapper >
221
+ </ >
222
+ ) : (
223
+ < main className = "editor-preview-container" >
224
+ < SplitPane
225
+ split = "vertical"
226
+ size = { ide . sidebarIsExpanded ? sidebarSize : 20 }
227
+ onChange = { ( size ) => {
228
+ setSidebarSize ( size ) ;
229
+ } }
230
+ allowResize = { ide . sidebarIsExpanded }
231
+ minSize = { 150 }
232
+ >
233
+ < Sidebar />
234
+ < SplitPane
235
+ split = "vertical"
236
+ maxSize = { MaxSize * 0.965 }
237
+ defaultSize = "50%"
238
+ onChange = { ( ) => {
239
+ setIsOverlayVisible ( true ) ;
240
+ } }
241
+ onDragFinished = { ( ) => {
242
+ setIsOverlayVisible ( false ) ;
243
+ } }
244
+ resizerStyle = { {
245
+ borderLeftWidth : '2px' ,
246
+ borderRightWidth : '2px' ,
247
+ width : '2px' ,
248
+ margin : '0px 0px'
249
+ } }
250
+ >
251
+ < SplitPane
252
+ split = "horizontal"
253
+ primary = "second"
254
+ size = { currentConsoleSize }
255
+ minSize = { consoleCollapsedSize }
256
+ onChange = { ( size ) => {
257
+ setConsoleSize ( size ) ;
258
+ } }
259
+ allowResize = { ide . consoleIsExpanded }
260
+ className = "editor-preview-subpanel"
261
+ >
262
+ < Editor
263
+ provideController = { ( ctl ) => {
264
+ cmRef . current = ctl ;
265
+ } }
277
266
/>
278
- </ div >
279
- </ section >
267
+ < Console />
268
+ </ SplitPane >
269
+ < section className = "preview-frame-holder" >
270
+ < header className = "preview-frame__header" >
271
+ < h2 className = "preview-frame__title" >
272
+ { t ( 'Toolbar.Preview' ) }
273
+ </ h2 >
274
+ </ header >
275
+ < div className = "preview-frame__content" >
276
+ < PreviewFrame
277
+ cmController = { cmRef . current }
278
+ isOverlayVisible = { isOverlayVisible }
279
+ />
280
+ </ div >
281
+ </ section >
282
+ </ SplitPane >
280
283
</ SplitPane >
281
- </ SplitPane >
282
- </ main >
283
- ) }
284
- < CmControllerContext . Provider value = { cmRef } >
285
- < IDEOverlays / >
286
- </ CmControllerContext . Provider >
284
+ </ main >
285
+ ) }
286
+ < CmControllerContext . Provider value = { cmRef } >
287
+ < IDEOverlays / >
288
+ </ CmControllerContext . Provider >
289
+ </ P5VersionProvider >
287
290
</ RootPage >
288
291
) ;
289
292
} ;
0 commit comments