Skip to content

Commit 57d21f4

Browse files
committed
Move impression tracking from row click to school render.
1 parent fdfad8b commit 57d21f4

File tree

2 files changed

+26
-24
lines changed

2 files changed

+26
-24
lines changed

src/components/SchoolContent.js

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import Stipend from "./fields/Stipend";
2121
import BusinessType from "./fields/BusinessType";
2222
import Website from "./fields/Website";
2323
import MetaTags from 'react-meta-tags';
24+
import ReactGA from 'react-ga';
2425

2526
function separateAndTrimList(list) {
2627

@@ -37,21 +38,35 @@ function separateAndTrimList(list) {
3738

3839
class SchoolContent extends Component {
3940
render() {
40-
let classes = {};
41-
classes.card = "cardSchool";
42-
classes.cardHeading = "cardHeading";
43-
classes.avatar = "avatar";
44-
classes.media = "media";
45-
classes.chip = "chip";
46-
classes.actions = "actions";
47-
classes.heading = "heading";
48-
let school = this.props.school;
49-
let theme = this.props.theme;
50-
5141

42+
let classes = {
43+
card : "cardSchool",
44+
cardHeading : "cardHeading",
45+
avatar : "avatar",
46+
media : "media",
47+
chip : "chip",
48+
actions : "actions",
49+
heading : "heading",
50+
};
51+
let theme = this.props.theme;
52+
let school = this.props.school;
5253
let technologiesList = separateAndTrimList(school.technologies);
5354
let locationsList = separateAndTrimList(school.locations);
5455

56+
// If the user hasn't viewed this school before, then count as an impression.
57+
// i.e. each user can only generate a single page impression for any school.
58+
var viewed = JSON.parse(localStorage.getItem('csd-views')) || [];
59+
const key = school.key;
60+
let index = viewed.indexOf(key);
61+
if (index === -1) {
62+
// Track impression.
63+
ReactGA.pageview('/' + key);
64+
// Mark as viewed.
65+
viewed.push(key);
66+
localStorage.setItem('csd-views', JSON.stringify(viewed));
67+
console.log('first view: ' + key)
68+
}
69+
5570
const cardStyle = {
5671
boxShadow: "none"
5772
}

src/components/SchoolTable.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import AppTitleBar from "./AppTitleBar";
99
import ToolbarExtra from "./ToolbarExtra";
1010
import Avatar from '@material-ui/core/Avatar';
1111
import SchoolPopUp from "./SchoolPopUp";
12-
import ReactGA from 'react-ga';
1312

1413
const logoStyle = { borderRadius: 4, float: 'left', height: '30px', width: '30px', position: 'relative', left: '-15px' }
1514

@@ -308,18 +307,6 @@ class SchoolTable extends Component {
308307
// TODO: remove instance of magic number.
309308
const key = rowData[3];
310309
this.props.history.push(key, {schoolSelected: key});
311-
312-
// If the user hasn't viewed this school before, then count as an impression.
313-
// i.e. each user can only generate a single page impression for any school.
314-
var viewed = JSON.parse(localStorage.getItem('csd-views')) || [];
315-
let index = viewed.indexOf(key);
316-
if (index === -1) {
317-
// Track impression.
318-
ReactGA.pageview('/' + key);
319-
// Mark as viewed.
320-
viewed.push(key);
321-
localStorage.setItem('csd-views', JSON.stringify(viewed));
322-
}
323310
},
324311
textLabels: {
325312
body: {

0 commit comments

Comments
 (0)