fix(insights): fixed insights url
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
41
directory/src/state/insights.js
Normal file
41
directory/src/state/insights.js
Normal 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
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user