diff --git a/directory/src/routes/Error.jsx b/directory/src/routes/Error.jsx index c54a7ff..0e5a9e5 100644 --- a/directory/src/routes/Error.jsx +++ b/directory/src/routes/Error.jsx @@ -31,7 +31,7 @@ let lastVoiceState = 'ended' export default function Error() { // eslint-disable-next-line no-unused-vars - const _trackEvt = useUmami('/error') + const _trackEvt = useUmami('/error', "Error") const error = useRouteError(); const navigate = useNavigate(); const { diff --git a/directory/src/routes/path/Changelogs.jsx b/directory/src/routes/path/Changelogs.jsx index 99281dd..9d06476 100644 --- a/directory/src/routes/path/Changelogs.jsx +++ b/directory/src/routes/path/Changelogs.jsx @@ -11,7 +11,7 @@ import Border from '@/component/border'; export default function Changelogs() { // eslint-disable-next-line no-unused-vars - const _trackEvt = useUmami('/changelogs') + const _trackEvt = useUmami('/changelogs', "Changelogs") const { setTitle, setTabs, diff --git a/directory/src/routes/path/Home.jsx b/directory/src/routes/path/Home.jsx index 70644ed..76b8264 100644 --- a/directory/src/routes/path/Home.jsx +++ b/directory/src/routes/path/Home.jsx @@ -29,7 +29,7 @@ let lastVoiceState = 'ended' export default function Home() { // eslint-disable-next-line no-unused-vars - const _trackEvt = useUmami('/') + const _trackEvt = useUmami('/', "Dynamic Compile") const { setTitle, setTabs, diff --git a/directory/src/routes/path/Operator.jsx b/directory/src/routes/path/Operator.jsx index dafb460..335e0f3 100644 --- a/directory/src/routes/path/Operator.jsx +++ b/directory/src/routes/path/Operator.jsx @@ -74,7 +74,7 @@ export default function Operator() { const [config, setConfig] = useState(null) const [spineData, setSpineData] = useState(null) // eslint-disable-next-line no-unused-vars - const _trackEvt = useUmami(`/${key}`) + const _trackEvt = useUmami(`/${key}`, `${key}`) const spineRef = useRef(null) const [spineAnimation, setSpineAnimation] = useState(defaultSpineAnimation) const { i18n } = useI18n() diff --git a/directory/src/state/insights.js b/directory/src/state/insights.js index 224a4ae..00f5d36 100644 --- a/directory/src/state/insights.js +++ b/directory/src/state/insights.js @@ -15,18 +15,28 @@ export const registerUmamiScript = (url, websiteId, dataDomain) => { } } -export default (url, referrer, websiteId, skipPageView) => { +export default (url, title, referrer, websiteId, skipPageView) => { skipPageView = skipPageView || false React.useEffect(() => { - if (!skipPageView && window.umami) { + if (!skipPageView && window.umami && import.meta.env.MODE !== 'development') { try { const umami = window.umami - umami.track(props => ({ ...props, url: url, referrer: referrer, website: websiteId })) + const dict = {} + if (title) { + dict.title = title + } + if (referrer) { + dict.referrer = referrer + } + if (websiteId) { + dict.websiteId = websiteId + } + umami.track(props => ({ ...props, url: url, ...dict })) } catch (err) { console.warn && console.warn(err.message) } } - }, [url, referrer, websiteId, skipPageView]) + }, [url, title, referrer, websiteId, skipPageView]) const trackEvent = (eventValue) => { try { diff --git a/src/components/settings.js b/src/components/settings.js index 5290e3c..a4896d0 100644 --- a/src/components/settings.js +++ b/src/components/settings.js @@ -89,7 +89,10 @@ export default class Settings { this.#doNotTrack = doNotTrack if (this.#doNotTrack) return try { - window.umami?.track(props => ({ ...props, url: `/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}` })); + window.umami?.track(props => ({ + ...props, + url: `/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}` + })); } catch(e) { console.warn && console.warn(e.message) } @@ -97,9 +100,12 @@ export default class Settings { functionInsights(functionName, toSkip = false) { if (!this.#isInsightsInited || this.#doNotTrack || import.meta.env.MODE === 'development' || functionName === this.#lastFunctionInsights || toSkip) return - this.#lastFunctionInsights = functionName try { - window.umami?.track(`${functionName}`); + window.umami?.track(props => ({ + ...props, + name: `${functionName}`, + url: `/${import.meta.env.VITE_LINK}${this.isWallpaperEngine ? "?steam" : ""}` + })); } catch (e) { console.warn && console.warn(e.message) }