]> source.dussan.org Git - sonarqube.git/commitdiff
avoid blinking on log out
authorStas Vilchik <vilchiks@gmail.com>
Mon, 9 Jan 2017 15:03:56 +0000 (16:03 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 9 Jan 2017 15:03:56 +0000 (16:03 +0100)
server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js
server/sonar-web/src/main/js/apps/sessions/components/Logout.js

index 47eeb101a9b8e9c324cc070288163376ce0e1a2c..72d3a1e4e11a9042670d17692d4ddcba6242726b 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import React from 'react';
-import { Link } from 'react-router';
+import { Link, withRouter } from 'react-router';
 import Avatar from '../../../../components/ui/Avatar';
-import RecentHistory from '../component/RecentHistory';
 import { translate } from '../../../../helpers/l10n';
 
-export default class GlobalNavUser extends React.Component {
+class GlobalNavUser extends React.Component {
   handleLogin = e => {
     e.preventDefault();
     const returnTo = window.location.pathname + window.location.search;
@@ -32,8 +31,7 @@ export default class GlobalNavUser extends React.Component {
 
   handleLogout = e => {
     e.preventDefault();
-    RecentHistory.clear();
-    window.location = `${window.baseUrl}/sessions/logout`;
+    this.props.router.push('/sessions/logout');
   };
 
   renderAuthenticated () {
@@ -68,3 +66,5 @@ export default class GlobalNavUser extends React.Component {
     return this.props.currentUser.isLoggedIn ? this.renderAuthenticated() : this.renderAnonymous();
   }
 }
+
+export default withRouter(GlobalNavUser);
index e234f4a9a484d313b9881d32b0089e606cd830d5..ed037b1c0d485df7a4e55c0cc2c3f9f4815b1447 100644 (file)
@@ -22,16 +22,28 @@ import React from 'react';
 import { connect } from 'react-redux';
 import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer';
 import { doLogout } from '../../../store/rootActions';
+import { translate } from '../../../helpers/l10n';
+import RecentHistory from '../../../app/components/nav/component/RecentHistory';
 
 class Logout extends React.Component {
   componentDidMount () {
     this.props.doLogout()
-        .then(() => window.location = window.baseUrl + '/')
-        .catch(() => { /* do nothing */ });
+        .then(() => {
+          RecentHistory.clear();
+          window.location = window.baseUrl + '/';
+        })
+        .catch(() => {
+          /* do nothing */
+        });
   }
 
   render () {
-    return <GlobalMessagesContainer/>;
+    return (
+        <div>
+          <GlobalMessagesContainer/>
+          {translate('logging_out')}
+        </div>
+    );
   }
 }