-
Notifications
You must be signed in to change notification settings - Fork 344
Fix privacy opt-out button not clickable #3818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
// eslint-disable-next-line import/no-extraneous-dependencies | ||
import { History } from 'history'; | ||
import { each } from 'lodash'; | ||
import { useState, useEffect } from 'react'; | ||
|
||
import { Tracker } from 'types/vendor/piwik'; | ||
import insertScript from 'utils/insertScript'; | ||
|
@@ -36,7 +37,7 @@ function trackInitialPageView() { | |
} | ||
|
||
// Code mostly adopted from https://github.com/AmazingDreams/vue-matomo | ||
export function initializeMamoto() { | ||
export function initializeMatomo() { | ||
const siteId = '1'; | ||
const host = 'https://analytics.nusmods.com'; | ||
const scriptSrc = `${host}/piwik.js`; | ||
|
@@ -77,3 +78,13 @@ export function trackPageView(history: History) { | |
} | ||
}); | ||
} | ||
|
||
export function useMatomo() { | ||
// need to use useState here or the matomo returned will always be undefined | ||
const [matomoCopy, setMatomoCopy] = useState<Tracker | undefined>(undefined); | ||
useEffect(() => { | ||
setMatomoCopy(matomo); | ||
}, [matomo]); | ||
|
||
return matomoCopy; | ||
} | ||
Comment on lines
+82
to
+90
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In the following code: useEffect(() => {
setMatomoCopy(matomo);
}, [matomo]); This effect is only ever called once (on component mount) since the
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't really understand this code at all. This in effect is forcing a re-render, but there are better ways to do that if that's the intention |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On line 24 or 25 of this same file, there's the same mispelling of Matomo, can we fix that as well?