Skip to content

Commit 3183f6d

Browse files
committed
Revert "fix: uninav on sub pages, persist type in session storage"
This reverts commit c63d06c.
1 parent ff16aab commit 3183f6d

File tree

3 files changed

+32
-58
lines changed

3 files changed

+32
-58
lines changed

__tests__/shared/components/__snapshots__/TopcoderFooter.jsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
exports[`Matches shallow shapshot 1`] = `
44
<div
5-
id="uninav-footerNav-0"
5+
id="uninav-footerNav"
66
/>
77
`;
Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,35 @@
11
/* global tcUniNav */
2-
import React, { useEffect, useMemo, useRef } from 'react';
2+
import React, { useEffect, useRef } from 'react';
33
import { getSubPageConfiguration } from '../../utils/url';
44

5-
let counter = 0;
6-
const footerElIdTmpl = 'uninav-footerNav';
5+
const footerElId = 'uninav-footerNav';
76

87
export default function TopcoderFooter() {
98
const footerRef = useRef();
109
const footerInitialized = useRef(false);
11-
const footerElId = useRef(`${footerElIdTmpl}-${counter}`);
12-
13-
const navType = useMemo(() => {
14-
let { type } = getSubPageConfiguration();
15-
16-
// If url contains navTool url parameter. Overwrite settings with parameter.
17-
const url = new URL(window.location.href);
18-
const urlParams = new URLSearchParams(url.search);
19-
if (urlParams.get('navTool')) {
20-
type = urlParams.get('navTool');
21-
}
22-
23-
const sessionNavType = sessionStorage.getItem('uni-nav[navType]');
24-
if (sessionNavType && (sessionNavType === 'tool' || sessionNavType === 'marketing')) {
25-
type = sessionNavType;
26-
}
27-
28-
return type;
29-
}, []);
3010

3111
useEffect(() => {
3212
if (footerInitialized.current) {
3313
return;
3414
}
3515

3616
footerInitialized.current = true;
37-
counter += 1;
3817

39-
tcUniNav('init', footerElId.current, {
40-
fullFooter: navType !== 'tool',
18+
let { fullFooter } = getSubPageConfiguration();
19+
20+
// If url contains navTool url parameter. Overwrite settings with parameter.
21+
const url = new URL(window.location.href);
22+
const urlParams = new URLSearchParams(url.search);
23+
const navToolParam = urlParams.get('navTool');
24+
if (navToolParam) {
25+
fullFooter = navToolParam !== 'tool';
26+
}
27+
28+
tcUniNav('init', footerElId, {
29+
fullFooter,
4130
type: 'footer',
4231
});
4332
}, []);
4433

45-
return <div id={footerElId.current} ref={footerRef} />;
34+
return <div id={footerElId} ref={footerRef} />;
4635
}

src/shared/containers/TopcoderHeader.jsx

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
/* global tcUniNav */
2-
import React, { useEffect, useMemo, useRef } from 'react';
2+
import React, { useEffect, useRef } from 'react';
33
import PT from 'prop-types';
44
import { connect } from 'react-redux';
55
import { config } from 'topcoder-react-utils';
66
import _ from 'lodash';
77
import { getInitials, getSubPageConfiguration } from '../utils/url';
88

9-
let counter = 0;
10-
const headerElIdTmpl = 'uninav-headerNav';
9+
const headerElId = 'uninav-headerNav';
1110

1211
const TopcoderHeader = ({ auth }) => {
1312
const uniNavInitialized = useRef(false);
@@ -16,28 +15,6 @@ const TopcoderHeader = ({ auth }) => {
1615
const isAuthenticated = !!authToken;
1716
const authURLs = config.HEADER_AUTH_URLS;
1817
const headerRef = useRef();
19-
const headerElId = useRef(`${headerElIdTmpl}-${counter}`);
20-
21-
const navType = useMemo(() => {
22-
let { type } = getSubPageConfiguration();
23-
24-
// If url contains navTool url parameter. Overwrite settings with parameter.
25-
const url = new URL(window.location.href);
26-
const urlParams = new URLSearchParams(url.search);
27-
if (urlParams.get('navTool')) {
28-
type = urlParams.get('navTool');
29-
}
30-
31-
// if there's a stored nav type in session storage, retrieve it and overwrite type
32-
const sessionNavType = sessionStorage.getItem('uni-nav[navType]');
33-
if (sessionNavType && (sessionNavType === 'tool' || sessionNavType === 'marketing')) {
34-
type = sessionNavType;
35-
}
36-
37-
// store nav type for current session
38-
sessionStorage.setItem('uni-nav[navType]', type);
39-
return type;
40-
}, []);
4118

4219
const navigationUserInfo = {
4320
...user,
@@ -50,13 +27,21 @@ const TopcoderHeader = ({ auth }) => {
5027
}
5128

5229
uniNavInitialized.current = true;
53-
counter += 1;
5430

5531
const regSource = window.location.pathname.split('/')[1];
5632
const retUrl = encodeURIComponent(window.location.href);
5733

58-
tcUniNav('init', headerElId.current, {
59-
type: navType,
34+
let { type } = getSubPageConfiguration();
35+
36+
// If url contains navTool url parameter. Overwrite settings with parameter.
37+
const url = new URL(window.location.href);
38+
const urlParams = new URLSearchParams(url.search);
39+
if (urlParams.get('navTool')) {
40+
type = urlParams.get('navTool');
41+
}
42+
43+
tcUniNav('init', headerElId, {
44+
type,
6045
toolName: getSubPageConfiguration().toolName,
6146
toolRoot: getSubPageConfiguration().toolRoot,
6247
signOut: () => {
@@ -69,15 +54,15 @@ const TopcoderHeader = ({ auth }) => {
6954
window.location = `${authURLs.location.replace('%S', retUrl).replace('member?', '#!/member?')}&mode=signUp&regSource=${regSource}`;
7055
},
7156
});
72-
}, [navType]);
57+
}, []);
7358

7459
useEffect(() => {
75-
tcUniNav('update', headerElId.current, {
60+
tcUniNav('update', headerElId, {
7661
user: isAuthenticated ? navigationUserInfo : null,
7762
});
7863
}, [isAuthenticated, navigationUserInfo]);
7964

80-
return <div id={headerElId.current} ref={headerRef} />;
65+
return <div id={headerElId} ref={headerRef} />;
8166
};
8267

8368
TopcoderHeader.defaultProps = {

0 commit comments

Comments
 (0)