diff options
author | kibigo! <marrus-sh@users.noreply.github.com> | 2017-07-19 19:54:02 -0700 |
---|---|---|
committer | kibigo! <marrus-sh@users.noreply.github.com> | 2017-07-19 20:41:28 -0700 |
commit | d2352246920800e491466d84b0146feb4d1d791f (patch) | |
tree | 3435a79e0e4c4ec041bc11f1926560749f746d88 /app/javascript/glitch/components/local_settings/index.js | |
parent | 0a678cf377c6dd91c439fa91f75782e457836639 (diff) |
Restructured local settings internals
Diffstat (limited to 'app/javascript/glitch/components/local_settings/index.js')
-rw-r--r-- | app/javascript/glitch/components/local_settings/index.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/app/javascript/glitch/components/local_settings/index.js b/app/javascript/glitch/components/local_settings/index.js new file mode 100644 index 000000000..7f7b93de4 --- /dev/null +++ b/app/javascript/glitch/components/local_settings/index.js @@ -0,0 +1,50 @@ +// Package imports +import React from 'react'; +import PropTypes from 'prop-types'; +import ImmutablePropTypes from 'react-immutable-proptypes'; + +// Our imports +import LocalSettingsPage from './page'; +import LocalSettingsNavigation from './navigation'; + +// Stylesheet imports +import './style'; + +export default class LocalSettings extends React.PureComponent { + + static propTypes = { + onChange: PropTypes.func.isRequired, + onClose: PropTypes.func.isRequired, + settings: ImmutablePropTypes.map.isRequired, + }; + + state = { + currentIndex: 0, + }; + + navigateTo = (index) => + this.setState({ currentIndex: +index }); + + render () { + + const { navigateTo } = this; + const { onChange, onClose, settings } = this.props; + const { currentIndex } = this.state; + + return ( + <div className='glitch modal-root__modal local-settings'> + <LocalSettingsNavigation + index={currentIndex} + onClose={onClose} + onNavigate={navigateTo} + /> + <LocalSettingsPage + index={currentIndex} + onChange={onChange} + settings={settings} + /> + </div> + ); + } + +} |