mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Merge pull request #30471 from overleaf/ii-linkedin-insight-tag
[web] Add Linkedin Insight tag GitOrigin-RevId: f01e1908ad945a5db10343a04ee50104efa32c3c
This commit is contained in:
@@ -390,6 +390,7 @@ export default async function (webRouter, privateApiRouter, publicApiRouter) {
|
||||
Settings.overleaf != null || Settings.templates?.user_id != null,
|
||||
cioWriteKey: Settings.analytics?.cio?.writeKey,
|
||||
cioSiteId: Settings.analytics?.cio?.siteId,
|
||||
linkedInInsightsPartnerId: Settings.analytics?.linkedIn?.partnerId,
|
||||
}
|
||||
next()
|
||||
})
|
||||
|
||||
3
services/web/app/views/_linkedin_insight.pug
Normal file
3
services/web/app/views/_linkedin_insight.pug
Normal file
@@ -0,0 +1,3 @@
|
||||
if typeof suppressAnalytics == 'undefined'
|
||||
each file in entrypointScripts('linkedin-insight')
|
||||
script(type='text/javascript' nonce=scriptNonce src=file defer=deferScripts)
|
||||
32
services/web/frontend/js/infrastructure/linkedin-insight.ts
Normal file
32
services/web/frontend/js/infrastructure/linkedin-insight.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import getMeta from '@/utils/meta'
|
||||
import {
|
||||
createTrackingLoader,
|
||||
insertScript,
|
||||
} from '@/infrastructure/tracking-loader'
|
||||
|
||||
const loadLinkedInInsightScript = (linkedInInsightsPartnerId: string) => {
|
||||
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []
|
||||
window._linkedin_data_partner_ids.push(linkedInInsightsPartnerId)
|
||||
|
||||
if (!window.lintrk) {
|
||||
window.lintrk = Object.assign(
|
||||
(a: string, b?: unknown) => {
|
||||
window.lintrk!.q.push([a, b])
|
||||
},
|
||||
{ q: [] }
|
||||
)
|
||||
}
|
||||
insertScript({
|
||||
src: 'https://snap.licdn.com/li.lms-analytics/insight.min.js',
|
||||
async: true,
|
||||
})
|
||||
}
|
||||
|
||||
const { linkedInInsightsPartnerId } = getMeta('ol-ExposedSettings')
|
||||
|
||||
if (linkedInInsightsPartnerId) {
|
||||
createTrackingLoader(
|
||||
() => loadLinkedInInsightScript(linkedInInsightsPartnerId),
|
||||
'LinkedIn Insight'
|
||||
)
|
||||
}
|
||||
@@ -50,4 +50,5 @@ export type ExposedSettings = {
|
||||
labsEnabled: boolean
|
||||
wikiEnabled?: boolean
|
||||
templatesEnabled?: boolean
|
||||
linkedInInsightsPartnerId?: string
|
||||
}
|
||||
|
||||
@@ -29,5 +29,9 @@ declare global {
|
||||
propensity?: (propensityId?: string) => void
|
||||
olLoadGA?: () => void
|
||||
grecaptcha?: ReCaptchaInstance
|
||||
_linkedin_data_partner_ids?: string[]
|
||||
lintrk?: ((a: string, b?: unknown) => void) & {
|
||||
q: Array<[string, unknown?]>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ const entryPoints = {
|
||||
marketing: './frontend/js/marketing.ts',
|
||||
'main-style': './frontend/stylesheets/main-style.scss',
|
||||
tracking: './frontend/js/infrastructure/tracking.ts',
|
||||
'linkedin-insight': './frontend/js/infrastructure/linkedin-insight.ts',
|
||||
}
|
||||
|
||||
// Add entrypoints for each "page"
|
||||
|
||||
Reference in New Issue
Block a user