feat(Settings): Add toggle button

This commit is contained in:
Berkeley Martinez
2018-01-12 17:04:15 -08:00
parent 8e5275ca56
commit baae9eb7b8
6 changed files with 74 additions and 1 deletions

View File

@ -0,0 +1,49 @@
import React from 'react';
import PropTypes from 'prop-types';
import { ToggleButtonGroup as BSBG, ToggleButton as TB } from 'react-bootstrap';
import ns from './ns.json';
const propTypes = {
onChange: PropTypes.func.isRequired,
value: PropTypes.bool.isRequired
};
export default function ToggleButton({
onChange,
value
}) {
return (
<div className={ `${ns}-container` }>
<BSBG
name='monthly-email'
onChange={ onChange }
type='radio'
>
<TB
bsSize='lg'
bsStyle='primary'
className={ value && 'active' }
disabled={ value }
type='radio'
value={ 1 }
>
On
</TB>
<TB
bsSize='lg'
bsStyle='primary'
className={ !value && 'active' }
disabled={ !value }
type='radio'
value={ 2 }
>
Off
</TB>
</BSBG>
</div>
);
}
ToggleButton.displayName = 'ToggleButton';
ToggleButton.propTypes = propTypes;

View File

@ -0,0 +1 @@
export { default } from './Toggle-Button.jsx';

View File

@ -0,0 +1 @@
"toggle"

View File

@ -0,0 +1,20 @@
@ns: toggle;
.@{ns}-container > .btn-group {
float: right;
.btn {
margin-top: 20px;
}
.btn[disabled] {
opacity: 1;
}
@media (max-width: 768px) {
float: none;
.btn {
margin-top: 10px;
margin-bottom: 20px;
}
}
}

View File

@ -0,0 +1,2 @@
&{ @import "./settings.less"; }
&{ @import "./Toggle-Button/toggle.less"; }

View File

@ -1,2 +1,2 @@
&{ @import "./Challenges/challenges.less"; } &{ @import "./Challenges/challenges.less"; }
&{ @import "./Settings/settings.less"; } &{ @import "./Settings/index.less"; }