@@ -20,7 +20,7 @@ import { getHTMLFile } from '../reducers/files';
2020
2121// Local Imports
2222import Editor from '../components/Editor' ;
23- import { PlayIcon , MoreIcon , CircleFolderIcon } from '../../../common/icons' ;
23+ import { PlayIcon , MoreIcon } from '../../../common/icons' ;
2424
2525import IconButton from '../../../components/mobile/IconButton' ;
2626import Header from '../../../components/mobile/Header' ;
@@ -63,26 +63,28 @@ const NavItem = styled.li`
6363 position: relative;
6464` ;
6565
66- const getNavOptions = ( username = undefined ) =>
66+ const getNavOptions = ( username = undefined , logoutUser = ( ) => { } ) =>
6767 ( username
6868 ? [
6969 { icon : PreferencesIcon , title : 'Preferences' , href : '/mobile/preferences' , } ,
7070 { icon : PreferencesIcon , title : 'My Stuff' , href : `/mobile/${ username } /sketches` } ,
7171 { icon : PreferencesIcon , title : 'Examples' , href : '/mobile/p5/sketches' } ,
7272 { icon : PreferencesIcon , title : 'Original Editor' , href : '/' , } ,
73+ { icon : PreferencesIcon , title : 'Logout' , action : logoutUser , } ,
7374 ]
7475 : [
7576 { icon : PreferencesIcon , title : 'Preferences' , href : '/mobile/preferences' , } ,
7677 { icon : PreferencesIcon , title : 'Examples' , href : '/mobile/p5/sketches' } ,
7778 { icon : PreferencesIcon , title : 'Original Editor' , href : '/' , } ,
79+ { icon : PreferencesIcon , title : 'Login' , href : '/login' , } ,
7880 ]
7981 ) ;
8082
8183const MobileIDEView = ( props ) => {
8284 const {
8385 preferences, ide, editorAccessibility, project, updateLintMessage, clearLintMessage,
8486 selectedFile, updateFileContent, files, user, params,
85- closeEditorOptions, showEditorOptions,
87+ closeEditorOptions, showEditorOptions, logoutUser ,
8688 startRefreshSketch, stopSketch, expandSidebar, collapseSidebar, clearConsole, console,
8789 showRuntimeErrorWarning, hideRuntimeErrorWarning, startSketch, getProject, clearPersistedState, setUnsavedChanges
8890 } = props ;
@@ -110,7 +112,7 @@ const MobileIDEView = (props) => {
110112
111113 // Screen Modals
112114 const [ toggleNavDropdown , NavDropDown ] = useAsModal ( < Dropdown
113- items = { getNavOptions ( username ) }
115+ items = { getNavOptions ( username , logoutUser ) }
114116 align = "right"
115117 /> ) ;
116118
@@ -294,6 +296,8 @@ MobileIDEView.propTypes = {
294296 username : PropTypes . string ,
295297 } ) . isRequired ,
296298
299+ logoutUser : PropTypes . func . isRequired ,
300+
297301 setUnsavedChanges : PropTypes . func . isRequired ,
298302 getProject : PropTypes . func . isRequired ,
299303 clearPersistedState : PropTypes . func . isRequired ,
0 commit comments