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 VoiceElement from '@/component/voice';
|
||||||
import spine from '!/libs/spine-player'
|
import spine from '!/libs/spine-player'
|
||||||
import '!/libs/spine-player.css'
|
import '!/libs/spine-player.css'
|
||||||
import useUmami from '@parcellab/react-use-umami';
|
import useUmami from '@/state/insights';
|
||||||
|
|
||||||
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
||||||
const config = JSON.parse(import.meta.env.VITE_ERROR_FILES)
|
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 classes from '@/scss/changelogs/Changelogs.module.scss'
|
||||||
import { useHeader } from '@/state/header';
|
import { useHeader } from '@/state/header';
|
||||||
import { useAppbar } from '@/state/appbar';
|
import { useAppbar } from '@/state/appbar';
|
||||||
import useUmami from '@parcellab/react-use-umami'
|
import useUmami from '@/state/insights'
|
||||||
import Border from '@/component/border';
|
import Border from '@/component/border';
|
||||||
|
|
||||||
export default function Changelogs() {
|
export default function Changelogs() {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import { useAtom } from 'jotai'
|
|||||||
import { atomWithStorage } from 'jotai/utils';
|
import { atomWithStorage } from 'jotai/utils';
|
||||||
import CharIcon from '@/component/char_icon';
|
import CharIcon from '@/component/char_icon';
|
||||||
import Border from '@/component/border';
|
import Border from '@/component/border';
|
||||||
import useUmami from '@parcellab/react-use-umami';
|
import useUmami from '@/state/insights';
|
||||||
import Switch from '@/component/switch';
|
import Switch from '@/component/switch';
|
||||||
import SearchBox from '@/component/search_box';
|
import SearchBox from '@/component/search_box';
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import { useHeader } from '@/state/header';
|
|||||||
import { useAppbar } from '@/state/appbar';
|
import { useAppbar } from '@/state/appbar';
|
||||||
import { useBackgrounds } from '@/state/background';
|
import { useBackgrounds } from '@/state/background';
|
||||||
import VoiceElement from '@/component/voice';
|
import VoiceElement from '@/component/voice';
|
||||||
import useUmami from '@parcellab/react-use-umami'
|
import useUmami from '@/state/insights'
|
||||||
import spine from '!/libs/spine-player'
|
import spine from '!/libs/spine-player'
|
||||||
import '!/libs/spine-player.css'
|
import '!/libs/spine-player.css'
|
||||||
import Border from '@/component/border';
|
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.#isInsightsInited = true
|
||||||
this.#doNotTrack = doNotTrack
|
this.#doNotTrack = doNotTrack
|
||||||
if (this.#doNotTrack) return
|
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) {
|
functionInsights(functionName, toSkip = false) {
|
||||||
if (!this.#isInsightsInited || this.#doNotTrack || import.meta.env.MODE === 'development' || functionName === this.#lastFunctionInsights || toSkip) return
|
if (!this.#isInsightsInited || this.#doNotTrack || import.meta.env.MODE === 'development' || functionName === this.#lastFunctionInsights || toSkip) return
|
||||||
this.#lastFunctionInsights = functionName
|
this.#lastFunctionInsights = functionName
|
||||||
window.umami?.trackEvent(`${functionName}`);
|
try {
|
||||||
|
window.umami?.track(`${functionName}`);
|
||||||
|
} catch (e) {
|
||||||
|
console.warn && console.warn(e.message)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setFPS(value) {
|
setFPS(value) {
|
||||||
|
|||||||
Reference in New Issue
Block a user