🚧 mount <PreviewFrame /> on /mobile/preview
This commit is contained in:
		
							parent
							
								
									e5bbb53b37
								
							
						
					
					
						commit
						0633c3b395
					
				
					 1 changed files with 69 additions and 23 deletions
				
			
		|  | @ -1,8 +1,12 @@ | ||||||
| import React, { useState } from 'react'; | import React, { useState } from 'react'; | ||||||
|  | import PropTypes from 'prop-types'; | ||||||
| import { Link } from 'react-router'; | import { Link } from 'react-router'; | ||||||
|  | import { connect } from 'react-redux'; | ||||||
| import styled from 'styled-components'; | import styled from 'styled-components'; | ||||||
| import Header from '../../components/mobile/Header'; | import Header from '../../components/mobile/Header'; | ||||||
|  | import PreviewFrame from '../IDE/components/PreviewFrame'; | ||||||
| import Screen from '../../components/mobile/MobileScreen'; | import Screen from '../../components/mobile/MobileScreen'; | ||||||
|  | import { getHTMLFile, getJSFiles, getCSSFiles } from '../IDE/reducers/files'; | ||||||
| 
 | 
 | ||||||
| import { ExitIcon } from '../../common/Icons'; | import { ExitIcon } from '../../common/Icons'; | ||||||
| import { remSize } from '../../theme'; | import { remSize } from '../../theme'; | ||||||
|  | @ -19,9 +23,21 @@ const IconLinkWrapper = styled(Link)` | ||||||
|   margin-left: none; |   margin-left: none; | ||||||
| `; | `; | ||||||
| 
 | 
 | ||||||
|  | const noop = () => {}; | ||||||
| 
 | 
 | ||||||
| const MobileSketchView = (props) => { | const MobileSketchView = (props) => { | ||||||
|   const [overlay, setOverlay] = useState(null); |   const [overlay, setOverlay] = useState(null); | ||||||
|  | 
 | ||||||
|  |   // TODO: useSelector requires react-redux ^7.1.0 | ||||||
|  |   // const htmlFile = useSelector(state => getHTMLFile(state.files)); | ||||||
|  |   // const jsFiles = useSelector(state => getJSFiles(state.files)); | ||||||
|  |   // const cssFiles = useSelector(state => getCSSFiles(state.files)); | ||||||
|  |   // const files = useSelector(state => state.files); | ||||||
|  | 
 | ||||||
|  |   const { | ||||||
|  |     htmlFile, jsFiles, cssFiles, files | ||||||
|  |   } = props; | ||||||
|  | 
 | ||||||
|   return ( |   return ( | ||||||
|     <Screen> |     <Screen> | ||||||
|       <Header> |       <Header> | ||||||
|  | @ -44,33 +60,63 @@ const MobileSketchView = (props) => { | ||||||
|       </Header> |       </Header> | ||||||
|       <Content> |       <Content> | ||||||
|         <h1>Hello</h1> |         <h1>Hello</h1> | ||||||
|  |         <PreviewFrame | ||||||
|  |           htmlFile={htmlFile} | ||||||
|  |           jsFiles={jsFiles} | ||||||
|  |           cssFiles={cssFiles} | ||||||
|  |           files={files} | ||||||
|  |           head={ | ||||||
|  |             <link type="text/css" rel="stylesheet" href="/preview-styles.css" /> | ||||||
|  |           } | ||||||
|  |           fullView | ||||||
|  |           isPlaying | ||||||
|  |           isAccessibleOutputPlaying={false} | ||||||
|  |           textOutput={false} | ||||||
|  |           gridOutput={false} | ||||||
|  |           soundOutput={false} | ||||||
|  |           dispatchConsoleEvent={noop} | ||||||
|  |           endSketchRefresh={noop} | ||||||
|  |           previewIsRefreshing={false} | ||||||
|  |           setBlobUrl={noop} | ||||||
|  |           stopSketch={noop} | ||||||
|  |           expandConsole={noop} | ||||||
|  |           clearConsole={noop} | ||||||
|  |         /> | ||||||
|       </Content> |       </Content> | ||||||
|     </Screen>); |     </Screen>); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | MobileSketchView.propTypes = { | ||||||
|  |   htmlFile: PropTypes.shape({ | ||||||
|  |     id: PropTypes.string.isRequired, | ||||||
|  |     content: PropTypes.string.isRequired, | ||||||
|  |     name: PropTypes.string.isRequired | ||||||
|  |   }).isRequired, | ||||||
|  |   jsFiles: PropTypes.arrayOf(PropTypes.shape({ | ||||||
|  |     id: PropTypes.string.isRequired, | ||||||
|  |     content: PropTypes.string.isRequired, | ||||||
|  |     name: PropTypes.string.isRequired | ||||||
|  |   })).isRequired, | ||||||
|  |   cssFiles: PropTypes.arrayOf(PropTypes.shape({ | ||||||
|  |     id: PropTypes.string.isRequired, | ||||||
|  |     content: PropTypes.string.isRequired, | ||||||
|  |     name: PropTypes.string.isRequired | ||||||
|  |   })).isRequired, | ||||||
|  |   files: PropTypes.arrayOf(PropTypes.shape({ | ||||||
|  |     id: PropTypes.string.isRequired, | ||||||
|  |     content: PropTypes.string.isRequired, | ||||||
|  |     name: PropTypes.string.isRequired | ||||||
|  |   })).isRequired, | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| export default MobileSketchView; | function mapStateToProps(state) { | ||||||
|  |   return { | ||||||
|  |     htmlFile: getHTMLFile(state.files), | ||||||
|  |     jsFiles: getJSFiles(state.files), | ||||||
|  |     cssFiles: getCSSFiles(state.files), | ||||||
|  |     files: state.files | ||||||
|  |   }; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // <PreviewFrame | export default connect(mapStateToProps)(MobileSketchView); | ||||||
| //             htmlFile={this.props.htmlFile} |  | ||||||
| //             jsFiles={this.props.jsFiles} |  | ||||||
| //             cssFiles={this.props.cssFiles} |  | ||||||
| //             files={this.props.files} |  | ||||||
| //             head={ |  | ||||||
| //               <link type="text/css" rel="stylesheet" href="/preview-styles.css" /> |  | ||||||
| //             } |  | ||||||
| //             fullView |  | ||||||
| //             isPlaying |  | ||||||
| //             isAccessibleOutputPlaying={false} |  | ||||||
| //             textOutput={false} |  | ||||||
| //             gridOutput={false} |  | ||||||
| //             soundOutput={false} |  | ||||||
| //             dispatchConsoleEvent={this.ident} |  | ||||||
| //             endSketchRefresh={this.ident} |  | ||||||
| //             previewIsRefreshing={false} |  | ||||||
| //             setBlobUrl={this.ident} |  | ||||||
| //             stopSketch={this.ident} |  | ||||||
| //             expandConsole={this.ident} |  | ||||||
| //             clearConsole={this.ident} |  | ||||||
| //           /> |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 ghalestrilo
						ghalestrilo