fix(insights): fixed insights url

This commit is contained in:
Haoyu Xu
2023-07-30 03:29:41 -04:00
parent b6d4b43a82
commit c4b069fd9c
7 changed files with 56 additions and 7 deletions

View File

@@ -1 +1 @@
3.7.9
3.7.10

View File

@@ -20,7 +20,7 @@ import { useHeader } from '@/state/header';
import VoiceElement from '@/component/voice';
import spine from '!/libs/spine-player'
import '!/libs/spine-player.css'
import useUmami from '@parcellab/react-use-umami';
import useUmami from '@/state/insights';
const voiceOnAtom = atomWithStorage('voiceOn', false)
const config = JSON.parse(import.meta.env.VITE_ERROR_FILES)

View File

@@ -6,7 +6,7 @@ import React, {
import classes from '@/scss/changelogs/Changelogs.module.scss'
import { useHeader } from '@/state/header';
import { useAppbar } from '@/state/appbar';
import useUmami from '@parcellab/react-use-umami'
import useUmami from '@/state/insights'
import Border from '@/component/border';
export default function Changelogs() {

View File

@@ -20,7 +20,7 @@ import { useAtom } from 'jotai'
import { atomWithStorage } from 'jotai/utils';
import CharIcon from '@/component/char_icon';
import Border from '@/component/border';
import useUmami from '@parcellab/react-use-umami';
import useUmami from '@/state/insights';
import Switch from '@/component/switch';
import SearchBox from '@/component/search_box';

View File

@@ -19,7 +19,7 @@ import { useHeader } from '@/state/header';
import { useAppbar } from '@/state/appbar';
import { useBackgrounds } from '@/state/background';
import VoiceElement from '@/component/voice';
import useUmami from '@parcellab/react-use-umami'
import useUmami from '@/state/insights'
import spine from '!/libs/spine-player'
import '!/libs/spine-player.css'
import Border from '@/component/border';

View File

@@ -0,0 +1,41 @@
import React from 'react';
export const registerUmamiScript = (url, websiteId, dataDomain) => {
if (url && websiteId && dataDomain) {
const head = document.getElementsByTagName('head')[0]
const script = document.createElement('script')
script.type = 'text/javascript';
script.src = url;
script.async = 'async'
script.defer = 'defer'
script.setAttribute('data-auto-track', 'false')
script.setAttribute('data-domains', dataDomain)
script.setAttribute('data-website-id', websiteId)
head.appendChild(script);
}
}
export default (url, referrer, websiteId, skipPageView) => {
skipPageView = skipPageView || false
React.useEffect(() => {
if (!skipPageView && window.umami) {
try {
const umami = window.umami
umami.track(props => ({ ...props, url: url, referrer: referrer, website: websiteId }))
} catch (err) {
console.warn && console.warn(err.message)
}
}
}, [url, referrer, websiteId, skipPageView])
const trackEvent = (eventValue) => {
try {
const umami = window.umami
umami.track(eventValue)
} catch (err) {
console.warn && console.warn(err.message)
}
}
return trackEvent
}

View File

@@ -88,13 +88,21 @@ export default class Settings {
this.#isInsightsInited = true
this.#doNotTrack = doNotTrack
if (this.#doNotTrack) return
window.umami?.trackView(`/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}`);
try {
window.umami?.track(props => ({ ...props, url: `/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}` }));
} catch(e) {
console.warn && console.warn(e.message)
}
}
functionInsights(functionName, toSkip = false) {
if (!this.#isInsightsInited || this.#doNotTrack || import.meta.env.MODE === 'development' || functionName === this.#lastFunctionInsights || toSkip) return
this.#lastFunctionInsights = functionName
window.umami?.trackEvent(`${functionName}`);
try {
window.umami?.track(`${functionName}`);
} catch (e) {
console.warn && console.warn(e.message)
}
}
setFPS(value) {