fix(client): classic challenge styles and update react-reflex

This commit is contained in:
Valeriy
2019-01-27 16:10:50 +03:00
committed by Stuart Taylor
parent 4b5f9594f6
commit 995489eb3c
9 changed files with 66 additions and 54 deletions

View File

@@ -15835,13 +15835,38 @@
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
}, },
"react-measure": { "react-measure": {
"version": "2.1.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/react-measure/-/react-measure-2.1.2.tgz", "resolved": "https://registry.npmjs.org/react-measure/-/react-measure-2.2.2.tgz",
"integrity": "sha512-2xgrlj77Pv8MIYhm+S5s4Q+QnsYFT3CXzoUkx2mWZBIWzQnT7ubMtmsVtCoNdYV5PGKjTlwo9iGAtS3SrTG/Gg==", "integrity": "sha512-7cnTiqUfS08o2VQ+tZ614/MSpzgr5NiSWF3mmWM2MbvL1r8V20LXJZ1Mpyi0Nfwf7G1bP692eGCmgOc0fsWvFg==",
"requires": { "requires": {
"get-node-dimensions": "^1.2.0", "@babel/runtime": "^7.2.0",
"prop-types": "^15.5.10", "get-node-dimensions": "^1.2.1",
"resize-observer-polyfill": "^1.4.2" "prop-types": "^15.6.2",
"resize-observer-polyfill": "^1.5.0"
},
"dependencies": {
"@babel/runtime": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz",
"integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==",
"requires": {
"regenerator-runtime": "^0.12.0"
}
},
"prop-types": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
"integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
"requires": {
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
},
"regenerator-runtime": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
}
} }
}, },
"react-media": { "react-media": {
@@ -15926,11 +15951,11 @@
} }
}, },
"react-reflex": { "react-reflex": {
"version": "2.2.9", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/react-reflex/-/react-reflex-2.2.9.tgz", "resolved": "https://registry.npmjs.org/react-reflex/-/react-reflex-3.0.8.tgz",
"integrity": "sha512-NDn2fu7TuQlc0vKfIJW1gHa7n5SDj2fonfmpm9NzO1ql4je6mcqjTibeN0eyIAomcNwKAd5IPe8JOHKbK7pYYA==", "integrity": "sha512-IDq0CD4/hieuZaNKFA7p0W5b5jnzEWupasPB+yfI4aG5n3DzK1D6OjuHkehJqArN6NPF9Ku8Pl3P03W0dm5fNw==",
"requires": { "requires": {
"babel-runtime": "^6.23.0", "@babel/runtime": "^7.0.0",
"lodash.throttle": "^4.1.1", "lodash.throttle": "^4.1.1",
"prop-types": "^15.5.8", "prop-types": "^15.5.8",
"react-measure": "^2.0.2" "react-measure": "^2.0.2"
@@ -16616,9 +16641,9 @@
"dev": true "dev": true
}, },
"resize-observer-polyfill": { "resize-observer-polyfill": {
"version": "1.5.0", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==" "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
}, },
"resolve": { "resolve": {
"version": "1.8.1", "version": "1.8.1",

View File

@@ -48,7 +48,7 @@
"react-media": "^1.9.2", "react-media": "^1.9.2",
"react-monaco-editor": "^0.18.0", "react-monaco-editor": "^0.18.0",
"react-redux": "^5.0.7", "react-redux": "^5.0.7",
"react-reflex": "^2.2.9", "react-reflex": "^3.0.8",
"react-spinkit": "^3.0.0", "react-spinkit": "^3.0.0",
"react-stripe-elements": "^2.0.1", "react-stripe-elements": "^2.0.1",
"react-youtube": "^7.8.0", "react-youtube": "^7.8.0",

View File

@@ -29,7 +29,7 @@ class DesktopLayout extends Component {
preview preview
} = this.props; } = this.props;
return ( return (
<ReflexContainer orientation='vertical'> <ReflexContainer className='desktop-layout' orientation='vertical'>
<ReflexElement flex={1} {...resizeProps}> <ReflexElement flex={1} {...resizeProps}>
{instructions} {instructions}
</ReflexElement> </ReflexElement>

View File

@@ -1,4 +1,4 @@
import React, { Component } from 'react'; import React, { Component, Fragment } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux'; import { bindActionCreators } from 'redux';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
@@ -130,7 +130,7 @@ class Editor extends Component {
const { contents, ext, theme, fileKey } = this.props; const { contents, ext, theme, fileKey } = this.props;
const editorTheme = theme === 'night' ? 'vs-dark-custom' : 'vs-custom'; const editorTheme = theme === 'night' ? 'vs-dark-custom' : 'vs-custom';
return ( return (
<div className='classic-editor editor'> <Fragment>
<base href='/' /> <base href='/' />
<MonacoEditor <MonacoEditor
editorDidMount={this.editorDidMount} editorDidMount={this.editorDidMount}
@@ -142,7 +142,7 @@ class Editor extends Component {
theme={editorTheme} theme={editorTheme}
value={contents} value={contents}
/> />
</div> </Fragment>
); );
} }
} }

View File

@@ -63,10 +63,10 @@ class MobileLayout extends Component {
{instructions} {instructions}
</TabPane> </TabPane>
<TabPane eventKey={2} title='Code' {...editorTabPaneProps}> <TabPane eventKey={2} title='Code' {...editorTabPaneProps}>
<div className='challenge-editor-wrapper'>{editor}</div> {editor}
</TabPane> </TabPane>
<TabPane eventKey={3} title='Tests' {...editorTabPaneProps}> <TabPane eventKey={3} title='Tests' {...editorTabPaneProps}>
<div className='challenge-editor-wrapper'>{testOutput}</div> {testOutput}
</TabPane> </TabPane>
{hasPreview && ( {hasPreview && (
<TabPane eventKey={4} title='Preview'> <TabPane eventKey={4} title='Preview'>

View File

@@ -2,28 +2,8 @@
overflow: hidden !important; overflow: hidden !important;
} }
.editor { .desktop-layout {
height: 100%;
}
.instructions-panel {
padding: 0 10px;
height: calc(100vh - 38px); height: calc(100vh - 38px);
overflow-x: hidden;
overflow-y: auto;
}
@media screen and (max-width: 767px) {
.instructions-panel {
height: calc(100vh - 112px);
}
}
.react-monaco-editor-container {
width: 100%;
height: 100%;
display: flex;
align-items: end;
} }
.monaco-menu .action-label { .monaco-menu .action-label {
@@ -45,7 +25,12 @@
padding: 5px 10px; padding: 5px 10px;
} }
.challenge-editor-wrapper { #challenge-page-tabs .tab-content {
height: calc(100vh - 112px); height: calc(100vh - 107px);
overflow-y: auto;
}
#challenge-page-tabs .tab-pane {
height: 100%;
overflow: hidden; overflow: hidden;
} }

View File

@@ -1,19 +1,12 @@
.challenge-preview, .challenge-preview,
.challenge-preview-frame { .challenge-preview-frame {
height: calc(100vh - 38px); height: 100%;
width: 100%; width: 100%;
padding: 0; padding: 0;
margin: 0; margin: 0;
border: none; border: none;
} }
@media screen and (max-width: 767px) {
.challenge-preview,
.challenge-preview-frame {
height: calc(100vh - 112px);
}
}
.enable-iframe { .enable-iframe {
pointer-events: auto; pointer-events: auto;
} }

View File

@@ -5,3 +5,10 @@
overflow-x: auto; overflow-x: auto;
overflow-y: hidden; overflow-y: hidden;
} }
.instructions-panel {
padding: 0 10px;
height: 100%;
width: 100%;
overflow-y: auto;
}

View File

@@ -1,8 +1,10 @@
.tool-panel-group button, .tool-panel-group a { .tool-panel-group button,
.tool-panel-group a {
font-size: 1.1rem; font-size: 1.1rem;
} }
.tool-panel-group-mobile button, .tool-panel-group-mobile a { .tool-panel-group-mobile button,
.tool-panel-group-mobile a {
font-size: 16px; font-size: 16px;
} }
@@ -10,8 +12,8 @@
display: flex; display: flex;
flex-direction: row-reverse; flex-direction: row-reverse;
padding: 0 2px; padding: 0 2px;
background: #fff;
} }
.tool-panel-group-mobile .btn-block + .btn-block { .tool-panel-group-mobile .btn-block + .btn-block {
margin: 0 2px 0 0; margin: 0 2px 0 0;
} }