// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. // See License.txt for license information. var UserStore = require('../stores/user_store.jsx'); var utils = require('../utils/utils.jsx'); var NotificationsTab = require('./user_settings_notifications.jsx'); var SecurityTab = require('./user_settings_security.jsx'); var GeneralTab = require('./user_settings_general.jsx'); var AppearanceTab = require('./user_settings_appearance.jsx'); export default class UserSettings extends React.Component { constructor(props) { super(props); this.onListenerChange = this.onListenerChange.bind(this); this.state = {user: UserStore.getCurrentUser()}; } componentDidMount() { UserStore.addChangeListener(this.onListenerChange); } componentWillUnmount() { UserStore.removeChangeListener(this.onListenerChange); } onListenerChange() { var user = UserStore.getCurrentUser(); if (!utils.areStatesEqual(this.state.user, user)) { this.setState({user: user}); } } render() { if (this.props.activeTab === 'general') { return (