BetterDiscordApp-rauenzi/src/react/switch.js

52 lines
1.8 KiB
JavaScript

import BDV2 from "../v2";
export default class V2C_Switch extends BDV2.reactComponent {
constructor(props) {
super(props);
this.setInitialState();
this.onChange = this.onChange.bind(this);
}
setInitialState() {
this.state = {
checked: this.props.checked
};
}
render() {
const {text, info} = this.props.data;
const {checked} = this.state;
return BDV2.react.createElement(
"div",
{className: "ui-flex flex-vertical flex-justify-start flex-align-stretch flex-nowrap ui-switch-item"},
BDV2.react.createElement(
"div",
{className: "ui-flex flex-horizontal flex-justify-start flex-align-stretch flex-nowrap"},
BDV2.react.createElement(
"h3",
{className: "ui-form-title h3 margin-reset margin-reset ui-flex-child"},
text
),
BDV2.react.createElement(
"label",
{className: "ui-switch-wrapper ui-flex-child", style: {flex: "0 0 auto"}},
BDV2.react.createElement("input", {className: "ui-switch-checkbox", type: "checkbox", checked: checked, onChange: e => this.onChange(e)}),
BDV2.react.createElement("div", {className: `ui-switch ${checked ? "checked" : ""}`})
)
),
BDV2.react.createElement(
"div",
{className: "ui-form-text style-description margin-top-4", style: {flex: "1 1 auto"}},
info
)
);
}
onChange() {
this.props.onChange(this.props.id, !this.state.checked);
this.setState({
checked: !this.state.checked
});
}
}