@@ -7,16 +7,11 @@ import { useTranslation, withTranslation } from 'react-i18next';
7
7
import { Helmet } from 'react-helmet' ;
8
8
import SplitPane from 'react-split-pane' ;
9
9
import Editor from '../components/Editor' ;
10
- import IDEKeyHandlers from '../components/IDEKeyHandlers ' ;
10
+ import IDEOverlays from '../components/IDEOverlays ' ;
11
11
import Sidebar from '../components/Sidebar' ;
12
12
import PreviewFrame from '../components/PreviewFrame' ;
13
- import Preferences from '../components/Preferences/index' ;
14
- import NewFileModal from '../components/NewFileModal' ;
15
- import NewFolderModal from '../components/NewFolderModal' ;
16
- import UploadFileModal from '../components/UploadFileModal' ;
17
- import ShareModal from '../components/ShareModal' ;
18
- import KeyboardShortcutModal from '../components/KeyboardShortcutModal' ;
19
- import ErrorModal from '../components/ErrorModal' ;
13
+ import Toolbar from '../components/Header/Toolbar' ;
14
+ import Nav from '../components/Header/Nav' ;
20
15
import Console from '../components/Console' ;
21
16
import Toast from '../components/Toast' ;
22
17
import * as FileActions from '../actions/files' ;
@@ -27,15 +22,11 @@ import * as PreferencesActions from '../actions/preferences';
27
22
import * as UserActions from '../../User/actions' ;
28
23
import * as ConsoleActions from '../actions/console' ;
29
24
import { getHTMLFile } from '../reducers/files' ;
30
- import Overlay from '../../App/components/Overlay' ;
31
- import About from '../components/About' ;
32
- import AddToCollectionList from '../components/AddToCollectionList' ;
33
- import Feedback from '../components/Feedback' ;
34
- import { CollectionSearchbar } from '../components/Searchbar' ;
35
- import { selectActiveFile } from '../selectors/files' ;
36
25
import { getIsUserOwner } from '../selectors/users' ;
37
26
import RootPage from '../../../components/RootPage' ;
38
27
import Header from '../components/Header' ;
28
+ import { selectActiveFile } from '../selectors/files' ;
29
+ import IDEKeyHandlers from '../components/IDEKeyHandlers' ;
39
30
40
31
function getTitle ( props ) {
41
32
const { id } = props . project ;
@@ -184,15 +175,6 @@ class IDEView extends React.Component {
184
175
key = { this . props . project . id }
185
176
/>
186
177
</ CmControllerContext . Provider >
187
- { this . props . ide . preferencesIsVisible && (
188
- < Overlay
189
- title = { this . props . t ( 'Preferences.Settings' ) }
190
- ariaLabel = { this . props . t ( 'Preferences.Settings' ) }
191
- closeOverlay = { this . props . closePreferences }
192
- >
193
- < Preferences />
194
- </ Overlay >
195
- ) }
196
178
< main className = "editor-preview-container" >
197
179
< SplitPane
198
180
split = "vertical"
@@ -262,76 +244,7 @@ class IDEView extends React.Component {
262
244
</ SplitPane >
263
245
</ SplitPane >
264
246
</ main >
265
- { this . props . ide . modalIsVisible && < NewFileModal /> }
266
- { this . props . ide . newFolderModalVisible && < NewFolderModal /> }
267
- { this . props . ide . uploadFileModalVisible && < UploadFileModal /> }
268
- { this . props . location . pathname === '/about' && (
269
- < Overlay
270
- title = { this . props . t ( 'About.Title' ) }
271
- previousPath = { this . props . ide . previousPath }
272
- ariaLabel = { this . props . t ( 'About.Title' ) }
273
- >
274
- < About previousPath = { this . props . ide . previousPath } />
275
- </ Overlay >
276
- ) }
277
- { this . props . location . pathname === '/feedback' && (
278
- < Overlay
279
- title = { this . props . t ( 'IDEView.SubmitFeedback' ) }
280
- previousPath = { this . props . ide . previousPath }
281
- ariaLabel = { this . props . t ( 'IDEView.SubmitFeedbackARIA' ) }
282
- >
283
- < Feedback />
284
- </ Overlay >
285
- ) }
286
- { this . props . location . pathname . match ( / a d d - t o - c o l l e c t i o n $ / ) && (
287
- < Overlay
288
- ariaLabel = { this . props . t ( 'IDEView.AddCollectionARIA' ) }
289
- title = { this . props . t ( 'IDEView.AddCollectionTitle' ) }
290
- previousPath = { this . props . ide . previousPath }
291
- actions = { < CollectionSearchbar /> }
292
- isFixedHeight
293
- >
294
- < AddToCollectionList
295
- projectId = { this . props . params . project_id }
296
- username = { this . props . params . username }
297
- user = { this . props . user }
298
- />
299
- </ Overlay >
300
- ) }
301
- { this . props . ide . shareModalVisible && (
302
- < Overlay
303
- title = { this . props . t ( 'IDEView.ShareTitle' ) }
304
- ariaLabel = { this . props . t ( 'IDEView.ShareARIA' ) }
305
- closeOverlay = { this . props . closeShareModal }
306
- >
307
- < ShareModal
308
- projectId = { this . props . ide . shareModalProjectId }
309
- projectName = { this . props . ide . shareModalProjectName }
310
- ownerUsername = { this . props . ide . shareModalProjectUsername }
311
- />
312
- </ Overlay >
313
- ) }
314
- { this . props . ide . keyboardShortcutVisible && (
315
- < Overlay
316
- title = { this . props . t ( 'KeyboardShortcuts.Title' ) }
317
- ariaLabel = { this . props . t ( 'KeyboardShortcuts.Title' ) }
318
- closeOverlay = { this . props . closeKeyboardShortcutModal }
319
- >
320
- < KeyboardShortcutModal />
321
- </ Overlay >
322
- ) }
323
- { this . props . ide . errorType && (
324
- < Overlay
325
- title = { this . props . t ( 'Common.Error' ) }
326
- ariaLabel = { this . props . t ( 'Common.ErrorARIA' ) }
327
- closeOverlay = { this . props . hideErrorModal }
328
- >
329
- < ErrorModal
330
- type = { this . props . ide . errorType }
331
- closeModal = { this . props . hideErrorModal }
332
- />
333
- </ Overlay >
334
- ) }
247
+ < IDEOverlays />
335
248
</ RootPage >
336
249
) ;
337
250
}
@@ -397,7 +310,6 @@ IDEView.propTypes = {
397
310
autocloseBracketsQuotes : PropTypes . bool . isRequired ,
398
311
autocompleteHinter : PropTypes . bool . isRequired
399
312
} ) . isRequired ,
400
- closePreferences : PropTypes . func . isRequired ,
401
313
selectedFile : PropTypes . shape ( {
402
314
id : PropTypes . string . isRequired ,
403
315
content : PropTypes . string . isRequired ,
@@ -409,11 +321,8 @@ IDEView.propTypes = {
409
321
content : PropTypes . string . isRequired
410
322
} ) . isRequired ,
411
323
updateFileContent : PropTypes . func . isRequired ,
412
- closeShareModal : PropTypes . func . isRequired ,
413
- closeKeyboardShortcutModal : PropTypes . func . isRequired ,
414
324
autosaveProject : PropTypes . func . isRequired ,
415
325
setPreviousPath : PropTypes . func . isRequired ,
416
- hideErrorModal : PropTypes . func . isRequired ,
417
326
clearPersistedState : PropTypes . func . isRequired ,
418
327
t : PropTypes . func . isRequired ,
419
328
isUserOwner : PropTypes . bool . isRequired
0 commit comments