Merge pull request #63 from havfo/fix/background-lag

Improve mobile performance
master
Håvar Aambø Fosstveit 2018-08-09 10:40:06 +02:00 committed by GitHub
commit dae54d467e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 25 deletions

View File

@ -2,7 +2,7 @@ import React, { Fragment } from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import classNames from 'classnames'; import classNames from 'classnames';
import * as toolTabActions from '../../redux/stateActions'; import * as stateActions from '../../redux/stateActions';
import ParticipantList from '../ParticipantList/ParticipantList'; import ParticipantList from '../ParticipantList/ParticipantList';
import Chat from '../Chat/Chat'; import Chat from '../Chat/Chat';
import Settings from '../Settings'; import Settings from '../Settings';
@ -22,7 +22,8 @@ class ToolArea extends React.Component
currentToolTab, currentToolTab,
toolAreaOpen, toolAreaOpen,
unreadMessages, unreadMessages,
unreadFiles unreadFiles,
toggleToolArea
} = this.props; } = this.props;
const VisibleTab = { const VisibleTab = {
@ -38,6 +39,7 @@ class ToolArea extends React.Component
className={classNames('toolarea-shade', { className={classNames('toolarea-shade', {
open : toolAreaOpen open : toolAreaOpen
})} })}
onClick={toggleToolArea}
/> />
<div <div
@ -86,7 +88,8 @@ ToolArea.propTypes =
setToolTab : PropTypes.func.isRequired, setToolTab : PropTypes.func.isRequired,
unreadMessages : PropTypes.number.isRequired, unreadMessages : PropTypes.number.isRequired,
unreadFiles : PropTypes.number.isRequired, unreadFiles : PropTypes.number.isRequired,
toolAreaOpen : PropTypes.bool toolAreaOpen : PropTypes.bool,
toggleToolArea : PropTypes.func.isRequired
}; };
const mapStateToProps = (state) => ({ const mapStateToProps = (state) => ({
@ -97,7 +100,8 @@ const mapStateToProps = (state) => ({
}); });
const mapDispatchToProps = { const mapDispatchToProps = {
setToolTab : toolTabActions.setToolTab setToolTab : stateActions.setToolTab,
toggleToolArea : stateActions.toggleToolArea
}; };
const ToolAreaContainer = connect( const ToolAreaContainer = connect(

View File

@ -11,15 +11,21 @@ class ToolAreaButton extends React.Component
const { const {
toolAreaOpen, toolAreaOpen,
toggleToolArea, toggleToolArea,
unread unread,
visible
} = this.props; } = this.props;
return ( return (
<div data-component='ToolAreaButton' className={classnames({ on: toolAreaOpen })}>
<div <div
className={classnames('button toolarea-button room-controls', { data-component='ToolAreaButton'
className={classnames('room-controls', {
on : toolAreaOpen, on : toolAreaOpen,
visible : this.props.visible visible
})}
>
<div
className={classnames('button toolarea-button', {
on : toolAreaOpen
})} })}
data-tip='Toggle tool area' data-tip='Toggle tool area'
data-type='dark' data-type='dark'

View File

@ -11,6 +11,12 @@
&.open { &.open {
display: block; display: block;
} }
+desktop() {
&.open {
display: none;
}
}
} }
[data-component='ToolAreaButton'] { [data-component='ToolAreaButton'] {
@ -41,10 +47,6 @@
width: 60%; width: 60%;
} }
} }
.toolarea-shade.open {
display: none;
}
} }
@media (min-width: 900px) { @media (min-width: 900px) {
@ -81,7 +83,7 @@
right: 0; right: 0;
height: 36px; height: 36px;
width: 36px; width: 36px;
padding: 2rem; margin: 2rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
@ -157,7 +159,7 @@
top: 0; top: 0;
right: 0; right: 0;
height: 100%; height: 100%;
background-color: rgba(50, 50, 50, 0.9); background: rgba(50, 50, 50, 0.9);
transition: width 0.3s; transition: width 0.3s;
z-index: 1010; z-index: 1010;
display: flex; display: flex;

View File

@ -9,18 +9,10 @@ global-reset();
html { html {
height: 100%; height: 100%;
box-sizing: border-box;
background-image: url('/resources/images/background.svg');
background-attachment: fixed;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
font-family: 'Roboto'; font-family: 'Roboto';
font-weight: 300; font-weight: 300;
overflow-x: hidden;
+desktop() { overflow-y: hidden;
font-size: 16px;
}
+mobile() { +mobile() {
font-size: 12px; font-size: 12px;
@ -30,6 +22,17 @@ html {
body { body {
height: 100%; height: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: hidden;
background-color: #333;
+desktop() {
font-size: 16px;
background-image: url('/resources/images/background.svg');
background-attachment: fixed;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
}
} }
#multiparty-meeting { #multiparty-meeting {