@@ -7,16 +7,10 @@ import { useTranslation, withTranslation } from 'react-i18next';
77import { Helmet } from 'react-helmet' ;
88import SplitPane from 'react-split-pane' ;
99import Editor from '../components/Editor' ;
10+ import IDEOverlays from '../components/IDEOverlays' ;
1011import Sidebar from '../components/Sidebar' ;
1112import PreviewFrame from '../components/PreviewFrame' ;
1213import Toolbar from '../components/Header/Toolbar' ;
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' ;
2014import Nav from '../components/Header/Nav' ;
2115import Console from '../components/Console' ;
2216import Toast from '../components/Toast' ;
@@ -28,11 +22,6 @@ import * as PreferencesActions from '../actions/preferences';
2822import * as UserActions from '../../User/actions' ;
2923import * as ConsoleActions from '../actions/console' ;
3024import { getHTMLFile } from '../reducers/files' ;
31- import Overlay from '../../App/components/Overlay' ;
32- import About from '../components/About' ;
33- import AddToCollectionList from '../components/AddToCollectionList' ;
34- import Feedback from '../components/Feedback' ;
35- import { CollectionSearchbar } from '../components/Searchbar' ;
3625import { getIsUserOwner } from '../selectors/users' ;
3726import RootPage from '../../../components/RootPage' ;
3827
@@ -266,15 +255,6 @@ class IDEView extends React.Component {
266255 syncFileContent = { this . syncFileContent }
267256 key = { this . props . project . id }
268257 />
269- { this . props . ide . preferencesIsVisible && (
270- < Overlay
271- title = { this . props . t ( 'Preferences.Settings' ) }
272- ariaLabel = { this . props . t ( 'Preferences.Settings' ) }
273- closeOverlay = { this . props . closePreferences }
274- >
275- < Preferences />
276- </ Overlay >
277- ) }
278258 < main className = "editor-preview-container" >
279259 < SplitPane
280260 split = "vertical"
@@ -344,76 +324,7 @@ class IDEView extends React.Component {
344324 </ SplitPane >
345325 </ SplitPane >
346326 </ main >
347- { this . props . ide . modalIsVisible && < NewFileModal /> }
348- { this . props . ide . newFolderModalVisible && < NewFolderModal /> }
349- { this . props . ide . uploadFileModalVisible && < UploadFileModal /> }
350- { this . props . location . pathname === '/about' && (
351- < Overlay
352- title = { this . props . t ( 'About.Title' ) }
353- previousPath = { this . props . ide . previousPath }
354- ariaLabel = { this . props . t ( 'About.Title' ) }
355- >
356- < About previousPath = { this . props . ide . previousPath } />
357- </ Overlay >
358- ) }
359- { this . props . location . pathname === '/feedback' && (
360- < Overlay
361- title = { this . props . t ( 'IDEView.SubmitFeedback' ) }
362- previousPath = { this . props . ide . previousPath }
363- ariaLabel = { this . props . t ( 'IDEView.SubmitFeedbackARIA' ) }
364- >
365- < Feedback />
366- </ Overlay >
367- ) }
368- { this . props . location . pathname . match ( / a d d - t o - c o l l e c t i o n $ / ) && (
369- < Overlay
370- ariaLabel = { this . props . t ( 'IDEView.AddCollectionARIA' ) }
371- title = { this . props . t ( 'IDEView.AddCollectionTitle' ) }
372- previousPath = { this . props . ide . previousPath }
373- actions = { < CollectionSearchbar /> }
374- isFixedHeight
375- >
376- < AddToCollectionList
377- projectId = { this . props . params . project_id }
378- username = { this . props . params . username }
379- user = { this . props . user }
380- />
381- </ Overlay >
382- ) }
383- { this . props . ide . shareModalVisible && (
384- < Overlay
385- title = { this . props . t ( 'IDEView.ShareTitle' ) }
386- ariaLabel = { this . props . t ( 'IDEView.ShareARIA' ) }
387- closeOverlay = { this . props . closeShareModal }
388- >
389- < ShareModal
390- projectId = { this . props . ide . shareModalProjectId }
391- projectName = { this . props . ide . shareModalProjectName }
392- ownerUsername = { this . props . ide . shareModalProjectUsername }
393- />
394- </ Overlay >
395- ) }
396- { this . props . ide . keyboardShortcutVisible && (
397- < Overlay
398- title = { this . props . t ( 'KeyboardShortcuts.Title' ) }
399- ariaLabel = { this . props . t ( 'KeyboardShortcuts.Title' ) }
400- closeOverlay = { this . props . closeKeyboardShortcutModal }
401- >
402- < KeyboardShortcutModal />
403- </ Overlay >
404- ) }
405- { this . props . ide . errorType && (
406- < Overlay
407- title = { this . props . t ( 'Common.Error' ) }
408- ariaLabel = { this . props . t ( 'Common.ErrorARIA' ) }
409- closeOverlay = { this . props . hideErrorModal }
410- >
411- < ErrorModal
412- type = { this . props . ide . errorType }
413- closeModal = { this . props . hideErrorModal }
414- />
415- </ Overlay >
416- ) }
327+ < IDEOverlays />
417328 </ RootPage >
418329 ) ;
419330 }
@@ -480,7 +391,6 @@ IDEView.propTypes = {
480391 autocloseBracketsQuotes : PropTypes . bool . isRequired ,
481392 autocompleteHinter : PropTypes . bool . isRequired
482393 } ) . isRequired ,
483- closePreferences : PropTypes . func . isRequired ,
484394 setAllAccessibleOutput : PropTypes . func . isRequired ,
485395 selectedFile : PropTypes . shape ( {
486396 id : PropTypes . string . isRequired ,
@@ -500,12 +410,9 @@ IDEView.propTypes = {
500410 updateFileContent : PropTypes . func . isRequired ,
501411 closeNewFolderModal : PropTypes . func . isRequired ,
502412 closeNewFileModal : PropTypes . func . isRequired ,
503- closeShareModal : PropTypes . func . isRequired ,
504- closeKeyboardShortcutModal : PropTypes . func . isRequired ,
505413 autosaveProject : PropTypes . func . isRequired ,
506414 setPreviousPath : PropTypes . func . isRequired ,
507415 showErrorModal : PropTypes . func . isRequired ,
508- hideErrorModal : PropTypes . func . isRequired ,
509416 clearPersistedState : PropTypes . func . isRequired ,
510417 startSketch : PropTypes . func . isRequired ,
511418 closeUploadFileModal : PropTypes . func . isRequired ,
0 commit comments