@@ -90,7 +94,9 @@ export default function TopcoderFooter() {
Admins
Contact Us
- Join Community
+ {!loggedIn
+ && Join Community
+ }
About Community
Changelog
Talk to Sales
diff --git a/src/shared/components/challenge-detail/MySubmissions/index.jsx b/src/shared/components/challenge-detail/MySubmissions/index.jsx
index 8687914a85..824b29d0d6 100644
--- a/src/shared/components/challenge-detail/MySubmissions/index.jsx
+++ b/src/shared/components/challenge-detail/MySubmissions/index.jsx
@@ -7,7 +7,7 @@ import PT from 'prop-types';
import _ from 'lodash';
import { goToLogin } from 'utils/tc';
import LoadingIndicator from 'components/LoadingIndicator';
-import { isTokenExpired } from 'tc-accounts';
+import { isTokenExpired } from '@topcoder-platform/tc-auth-lib';
import SubmissionsList from './SubmissionsList';
import SubmissionsDetail from './SubmissionsDetail';
diff --git a/src/shared/components/challenge-detail/Submissions/index.jsx b/src/shared/components/challenge-detail/Submissions/index.jsx
index bf0beda012..380e3cf9ac 100644
--- a/src/shared/components/challenge-detail/Submissions/index.jsx
+++ b/src/shared/components/challenge-detail/Submissions/index.jsx
@@ -11,7 +11,7 @@ import _ from 'lodash';
import { connect } from 'react-redux';
import { config } from 'topcoder-react-utils';
import { submission as submissionUtils } from 'topcoder-react-lib';
-import { isTokenExpired } from 'tc-accounts';
+import { isTokenExpired } from '@topcoder-platform/tc-auth-lib';
import cn from 'classnames';
import { PrimaryButton } from 'topcoder-react-ui-kit';
diff --git a/src/shared/components/tc-communities/Header/index.jsx b/src/shared/components/tc-communities/Header/index.jsx
index c610f947e6..4c15cac657 100644
--- a/src/shared/components/tc-communities/Header/index.jsx
+++ b/src/shared/components/tc-communities/Header/index.jsx
@@ -12,7 +12,12 @@ import DesktopSubMenu from 'components/TopcoderHeader/desktop/SubMenu';
import React from 'react';
import PT from 'prop-types';
import { Avatar, PrimaryButton, Button } from 'topcoder-react-ui-kit';
-import { config, Link, NavLink } from 'topcoder-react-utils';
+import {
+ config,
+ Link,
+ NavLink,
+ isomorphy,
+} from 'topcoder-react-utils';
import { getRatingColor } from 'utils/tc';
import Dropdown from 'components/tc-communities/Dropdown';
import { themr } from 'react-css-super-themr';
@@ -47,10 +52,13 @@ function Header(props) {
onMobileToggleClick,
profile,
theme,
- logoutRedirect,
meta,
} = props;
+ let {
+ logoutRedirect,
+ } = props;
+
const BASE_URL = config.URL.BASE;
const AUTH_URL = config.URL.AUTH;
const normalizedProfile = profile && _.clone(profile);
@@ -59,6 +67,10 @@ function Header(props) {
meta.competitorsGroupIds,
) : [];
+ if (_.isEmpty(logoutRedirect) && isomorphy.isClientSide()) {
+ logoutRedirect = window.location.href;
+ }
+
let userSubMenu;
if (profile) {
userSubMenu = {
@@ -81,7 +93,7 @@ function Header(props) {
icon: ,
// TODO: In addition to hitting ${AUTH_URL}/logout, which logs out
// from the accounts-app, we should wipe out auth cookies!
- link: `${AUTH_URL}/logout?retUrl=${logoutRedirect}`,
+ link: `${AUTH_URL}?logout=true&retUrl=${encodeURIComponent(logoutRedirect)}`,
title: 'Log Out',
}],
};
diff --git a/src/shared/containers/Dashboard/index.jsx b/src/shared/containers/Dashboard/index.jsx
index 552fa5cd59..4ecc310a2b 100644
--- a/src/shared/containers/Dashboard/index.jsx
+++ b/src/shared/containers/Dashboard/index.jsx
@@ -25,7 +25,7 @@ import { updateChallengeType } from 'utils/challenge';
import challengeListingActions from 'actions/challenge-listing';
import communityActions from 'actions/tc-communities';
-import { isTokenExpired, decodeToken } from 'tc-accounts';
+import { isTokenExpired, decodeToken } from '@topcoder-platform/tc-auth-lib';
import { config, isomorphy } from 'topcoder-react-utils';
import './styles.scss';
diff --git a/src/shared/containers/EmailVerification/index.jsx b/src/shared/containers/EmailVerification/index.jsx
index 66bc337c4b..e425db7c5a 100644
--- a/src/shared/containers/EmailVerification/index.jsx
+++ b/src/shared/containers/EmailVerification/index.jsx
@@ -8,7 +8,7 @@ import PT from 'prop-types';
import {connect} from "react-redux";
import { actions } from "topcoder-react-lib";
import { Redirect } from 'react-router';
-import {isTokenExpired} from "tc-accounts";
+import {isTokenExpired} from '@topcoder-platform/tc-auth-lib';
import * as queryString from 'query-string';
import LoadingIndicator from 'components/LoadingIndicator';
import Error404 from 'components/Error404';
diff --git a/src/shared/containers/Settings.jsx b/src/shared/containers/Settings.jsx
index 40009cef92..dcbaf86ad0 100644
--- a/src/shared/containers/Settings.jsx
+++ b/src/shared/containers/Settings.jsx
@@ -6,7 +6,7 @@ import React from 'react';
import PT from 'prop-types';
import { connect } from 'react-redux';
-import { isTokenExpired } from 'tc-accounts';
+import { isTokenExpired } from '@topcoder-platform/tc-auth-lib';
import { goToLogin } from 'utils/tc';
import { actions } from 'topcoder-react-lib';
diff --git a/src/shared/containers/challenge-detail/index.jsx b/src/shared/containers/challenge-detail/index.jsx
index 1dc074aee0..3c2efdf568 100644
--- a/src/shared/containers/challenge-detail/index.jsx
+++ b/src/shared/containers/challenge-detail/index.jsx
@@ -38,6 +38,7 @@ import {
COMPETITION_TRACKS,
COMPETITION_TRACKS_V3,
SUBTRACKS,
+ CHALLENGE_STATUS,
} from 'utils/tc';
import { config, MetaTags } from 'topcoder-react-utils';
import { actions } from 'topcoder-react-lib';
@@ -406,7 +407,7 @@ class ChallengeDetailPageContainer extends React.Component {
}
- const submissionEnded = status === 'COMPLETED'
+ const submissionEnded = status === CHALLENGE_STATUS.COMPLETED
|| (!_.some(phases, { name: 'Submission', isOpen: true })
&& !_.some(phases, { name: 'Checkpoint Submission', isOpen: true }));
@@ -849,9 +850,9 @@ const mapDispatchToProps = (dispatch) => {
dispatch(a.fetchCheckpointsDone(tokens.tokenV2, ch.legacyId));
} else dispatch(a.dropCheckpoints());
} else dispatch(a.dropCheckpoints());
- if (ch.status === 'COMPLETED') {
- dispatch(a.loadResultsInit(challengeId));
- dispatch(a.loadResultsDone(tokens, challengeId, ch.track.toLowerCase()));
+ if (ch.status === CHALLENGE_STATUS.COMPLETED) {
+ dispatch(a.loadResultsInit(ch.legacyId));
+ dispatch(a.loadResultsDone(tokens, ch.legacyId, ch.track.toLowerCase()));
} else dispatch(a.dropResults());
return res;
});
diff --git a/src/shared/reducers/tc-communities/index.js b/src/shared/reducers/tc-communities/index.js
index b915416d12..5ab21acf3d 100644
--- a/src/shared/reducers/tc-communities/index.js
+++ b/src/shared/reducers/tc-communities/index.js
@@ -8,7 +8,7 @@ import _ from 'lodash';
import actions from 'actions/tc-communities';
import { logger, services, errors } from 'topcoder-react-lib';
import { handleActions } from 'redux-actions';
-import { decodeToken } from 'tc-accounts';
+import { decodeToken } from '@topcoder-platform/tc-auth-lib';
import { getAuthTokens } from 'utils/tc';
import { STATE as JOIN_COMMUNITY } from 'components/tc-communities/JoinCommunity';
import { getCommunityId } from 'server/services/communities';
diff --git a/src/shared/routes/Communities/Blockchain/Routes.jsx b/src/shared/routes/Communities/Blockchain/Routes.jsx
index bcf49f27bf..6ede568403 100644
--- a/src/shared/routes/Communities/Blockchain/Routes.jsx
+++ b/src/shared/routes/Communities/Blockchain/Routes.jsx
@@ -57,6 +57,7 @@ export default function Blockchain({ base, member, meta }) {
baseUrl={base}
hideJoinNow
pageId={match.params.pageId || 'home'}
+ logoutRedirect={config.URL.COMMUNITIES.BLOCKCHAIN}
/>