Skip to content

Commit d7b6c10

Browse files
author
Emmanouil Konstantinidis
committed
Toggle button for settings
1 parent 91fbbb9 commit d7b6c10

File tree

5 files changed

+25
-4
lines changed

5 files changed

+25
-4
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
"octicons": "=2.2.0",
112112
"react": "=0.13.3",
113113
"react-router": "=0.13.3",
114+
"react-toggle": "=1.2.3",
114115
"react-tools": "=0.13.3",
115116
"reactify": "=1.1.1",
116117
"reflux": "=0.2.7",

src/js/actions/actions.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ var Actions = Reflux.createActions({
44

55
'login': {},
66
'logout': {},
7-
'getNotifications': {asyncResult: true}
7+
'getNotifications': {asyncResult: true},
8+
'getSettings': {},
9+
'setSetting': {}
810

911
});
1012

src/js/components/settings.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
var React = require('react');
22
var Reflux = require('reflux');
3+
var Toggle = require('react-toggle');
34

5+
var Actions = require('../actions/actions');
46
var SettingsStore = require('../stores/settings');
57

68
var SettingsPage = React.createClass({
@@ -10,16 +12,26 @@ var SettingsPage = React.createClass({
1012

1113
getInitialState: function () {
1214
return {
13-
settings: undefined
15+
settings: {
16+
participating: false
17+
}
1418
};
1519
},
1620

21+
toggleParticipating: function () {
22+
Actions.setSetting('participating', 'true');
23+
},
24+
1725
render: function () {
1826
return (
1927
<div className="container-fluid main-container settings">
2028
<div className='row'>
2129
<div className='col-xs-8'>Setting Title</div>
22-
<div className='col-xs-4'>Value</div>
30+
<div className='col-xs-4'>
31+
<Toggle
32+
defaultChecked={this.state.settings.participating}
33+
onChange={this.toggleParticipating} />
34+
</div>
2335
</div>
2436
</div>
2537
);

src/js/stores/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var SettingsStore = Reflux.createStore({
1818
return this._settings;
1919
},
2020

21-
onSetSettings: function (setting, value) {
21+
onSetSetting: function (setting, value) {
2222
console.log('Setting: ' + setting + ' to: ' + value);
2323
}
2424

src/less/style.less

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@import "node_modules/bootstrap/less/bootstrap";
44
@import "node_modules/font-awesome/less/font-awesome.less";
55
@import "node_modules/octicons/octicons/octicons.less";
6+
@import (inline) "node_modules/react-toggle/style.css";
67
@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);
78

89
/* @end Imports */
@@ -231,6 +232,11 @@ html, body {
231232
.settings {
232233
background-color: @ThemeBlack;
233234
color: @White;
235+
padding: 20px;
236+
237+
.col-xs-4 {
238+
text-align: right;
239+
}
234240
}
235241

236242
/* @end Settings */

0 commit comments

Comments
 (0)