Added button for enabling disabling logging.

This commit is contained in:
Mario Basic
2015-06-07 23:42:14 +02:00
parent 8c300f6e4e
commit 2d3d888125
9 changed files with 639 additions and 257 deletions

View File

@@ -44,6 +44,38 @@ class MainList extends React.Component {
);
};
// If logging is enabled, display that info to user
var loggingStatus = () => {
if(this.props.loggingEnabled === true && this.props.loggedIn === true)
{
return (
<div className="panel panel-default">
<div className="panel-body">
<div className="row">
<div className="col-xs-12">
<a href="#" onClick={this.props.disableLogging} className="btn btn-danger btn-lg btn-block">Disable logging</a>
</div>
</div>
</div>
</div>
);
}
else
{
return (
<div className="panel panel-default">
<div className="panel-body">
<div className="row">
<div className="col-xs-12">
<a href="#" onClick={this.props.enableLogging} className="btn btn-success btn-lg btn-block">Enable logging</a>
</div>
</div>
</div>
</div>
);
}
};
var signedInAs = () => {
if (this.props.loggedIn === true) {
return (
@@ -54,12 +86,13 @@ class MainList extends React.Component {
<img className="img-circle" width="48" height="48" src={this.props.user.photo} />
</div>
<div className="col-xs-10">
Signed in as
Signed in as&nbsp;
<b>{this.props.user.full_name}</b>
<br />
{this.props.user.email}
</div>
</div>
</div>
</div>
);
@@ -71,6 +104,8 @@ class MainList extends React.Component {
{signedInAs()}
{loggingStatus()}
<div className="list-group">
<a href="#" className="list-group-item" onClick={this._openOptionsPage}>
<i className="fa fa-fw fa-cogs"></i>

View File

@@ -14,20 +14,11 @@ class WakaTime extends React.Component {
email: null,
photo: null
},
loggedIn: false
loggedIn: false,
loggingEnabled: false
};
componentDidMount() {
chrome.storage.sync.get({
theme: 'light'
}, function (items) {
if (items.theme == 'light') {
changeExtensionIcon();
}
else {
changeExtensionIcon('white');
}
});
var wakatime = new WakaTimeOriginal;
@@ -35,6 +26,18 @@ class WakaTime extends React.Component {
if (data !== false) {
chrome.storage.sync.get({
loggingEnabled: false
}, (items) => {
this.setState({loggingEnabled: items.loggingEnabled});
if (items.loggingEnabled === true) {
changeExtensionIcon();
}
else {
changeExtensionIcon('red');
}
});
this.setState({
user: {
full_name: data.full_name,
@@ -43,8 +46,6 @@ class WakaTime extends React.Component {
},
loggedIn: true
});
changeExtensionIcon();
}
else {
changeExtensionIcon('red');
@@ -84,7 +85,8 @@ class WakaTime extends React.Component {
email: null,
photo: null
},
loggedIn: false
loggedIn: false,
loggingEnabled: false
});
changeExtensionIcon('red');
@@ -92,6 +94,30 @@ class WakaTime extends React.Component {
});
}
_disableLogging() {
this.setState({
loggingEnabled: false
});
changeExtensionIcon('red');
chrome.storage.sync.set({
loggingEnabled: false
});
}
_enableLogging() {
this.setState({
loggingEnabled: true
});
changeExtensionIcon();
chrome.storage.sync.set({
loggingEnabled: true
});
}
render() {
return (
<div>
@@ -99,7 +125,13 @@ class WakaTime extends React.Component {
<div className="container">
<div className="row">
<div className="col-md-12">
<MainList user={this.state.user} logoutUser={this._logoutUser.bind(this)} loggedIn={this.state.loggedIn} />
<MainList
disableLogging={this._disableLogging.bind(this)}
enableLogging={this._enableLogging.bind(this)}
loggingEnabled={this.state.loggingEnabled}
user={this.state.user}
logoutUser={this._logoutUser.bind(this)}
loggedIn={this.state.loggedIn} />
</div>
</div>
</div>