diff --git a/src/components/navigation/navigation.jsx b/src/components/navigation/navigation.jsx index f58c9d36e..e7357b052 100644 --- a/src/components/navigation/navigation.jsx +++ b/src/components/navigation/navigation.jsx @@ -26,9 +26,17 @@ module.exports = React.createClass({ 'accountNavOpen': false }; }, + componentDidUpdate: function (prevProps, prevState) { + if (prevState.session.user != this.state.session.user) { + this.setState({ + 'loginOpen': false, + 'accountNavOpen': false + }); + } + }, handleLoginClick: function (e) { e.preventDefault(); - this.setState({'loginOpen': true}); + this.setState({'loginOpen': !this.state.loginOpen}); }, closeLogin: function () { this.setState({'loginOpen': false}); @@ -53,7 +61,8 @@ module.exports = React.createClass({ } }.bind(this)); }, - handleLogOut: function () { + handleLogOut: function (e) { + e.preventDefault(); xhr({ host: '', uri: '/accounts/logout/' @@ -66,7 +75,8 @@ module.exports = React.createClass({ } }.bind(this)); }, - handleClickAccountNav: function () { + handleAccountNavClick: function (e) { + e.preventDefault(); this.setState({'accountNavOpen': true}); }, closeAccountNav: function () { @@ -83,7 +93,7 @@ module.exports = React.createClass({
  • Create
  • -
  • Explore
  • +
  • Explore
  • Discuss
  • About
  • Help
  • @@ -104,7 +114,7 @@ module.exports = React.createClass({ My Stuff ,
  • - + {this.state.session.user.username} @@ -123,7 +133,10 @@ module.exports = React.createClass({ ] : [
  • Join Scratch
  • ,
  • - Sign In + Sign In