Track generator ID in custom dimension

Preparing to add back search parameters to share links
This commit is contained in:
Misode
2021-10-30 17:34:54 +02:00
parent b4d43c55bd
commit bb1223df60
3 changed files with 12 additions and 6 deletions

View File

@@ -6,6 +6,7 @@ export namespace Analytics {
const DIM_VERSION = 3
const DIM_LANGUAGE = 4
const DIM_PREVIEW = 5
const DIM_GENERATOR = 6
function event(category: string, action: string, label?: string) {
ga('send', 'event', category, action, label)
@@ -40,6 +41,11 @@ export namespace Analytics {
event(ID_GENERATOR, 'set-preview', preview)
}
export function setGenerator(generator: string) {
dimension(DIM_GENERATOR, generator)
console.log(generator)
}
export function generatorEvent(action: string, label?: string) {
event(ID_GENERATOR, action, label)
}

View File

@@ -54,7 +54,7 @@ export function cleanUrl(url: string) {
}
export function getGenerator(url: string) {
const trimmedUrl = url.replace(/^\//, '').replace(/\/$/, '')
const trimmedUrl = url.replace(/^\//, '').replace(/\/$/, '').replace(/\?.*/, '')
return config.generators.find(g => g.url === trimmedUrl)
}

View File

@@ -31,10 +31,6 @@ export function Generator({ lang, changeTitle, version, changeVersion }: Generat
return <main><ErrorPanel error={`Cannot find generator "${getCurrentUrl()}"`} /></main>
}
useEffect(() => {
setError(null)
}, [gen.id, version])
const allowedVersions = config.versions
.filter(v => checkVersion(v.id, gen.minVersion, gen.maxVersion))
.map(v => v.id as VersionId)
@@ -48,11 +44,15 @@ export function Generator({ lang, changeTitle, version, changeVersion }: Generat
const [model, setModel] = useState<DataModel | null>(null)
const [blockStates, setBlockStates] = useState<BlockStateRegistry | null>(null)
useEffect(() => {
setError(null)
setModel(null)
getBlockStates(version)
.then(b => setBlockStates(b))
getModel(version, gen.id)
.then(m => setModel(m))
.then(m => {
Analytics.setGenerator(gen.id)
setModel(m)
})
.catch(e => { console.error(e); setError(message(e)) })
}, [version, gen.id])