Files
Rocketmc/apps/frontend/src/public/inmobi.js
Cal H. 2aabcf36ee refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs

* fix: prettier frontend

* feat: config changes

* fix: lint issues

* fix: lint

* fix: type imports

* fix: cyclical import issue

* fix: lockfile

* fix: missing dep

* fix: switch to tabs

* fix: continue switch to tabs

* fix: rustfmt parity

* fix: moderation lint issue

* fix: lint issues

* fix: ui intl

* fix: lint issues

* Revert "fix: rustfmt parity"

This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711.

* feat: revert last rs
2025-08-14 20:48:38 +00:00

161 lines
3.4 KiB
JavaScript

;(function () {
var host = 'modrinth.com'
// var host = window.location.hostname;
var element = document.createElement('script')
var firstScript = document.getElementsByTagName('script')[0]
var url = 'https://cmp.inmobi.com'.concat(
'/choice/',
'GANCBjEfRH5Fe',
'/',
host,
'/choice.js?tag_version=V3',
)
var uspTries = 0
var uspTriesLimit = 3
element.async = true
element.type = 'text/javascript'
element.src = url
firstScript.parentNode.insertBefore(element, firstScript)
function makeStub() {
var TCF_LOCATOR_NAME = '__tcfapiLocator'
var queue = []
var win = window
var cmpFrame
function addFrame() {
var doc = win.document
var otherCMP = !!win.frames[TCF_LOCATOR_NAME]
if (!otherCMP) {
if (doc.body) {
var iframe = doc.createElement('iframe')
iframe.style.cssText = 'display:none'
iframe.name = TCF_LOCATOR_NAME
doc.body.appendChild(iframe)
} else {
setTimeout(addFrame, 5)
}
}
return !otherCMP
}
function tcfAPIHandler() {
var gdprApplies
var args = arguments
if (!args.length) {
return queue
} else if (args[0] === 'setGdprApplies') {
if (args.length > 3 && args[2] === 2 && typeof args[3] === 'boolean') {
gdprApplies = args[3]
if (typeof args[2] === 'function') {
args[2]('set', true)
}
}
} else if (args[0] === 'ping') {
var retr = {
gdprApplies: gdprApplies,
cmpLoaded: false,
cmpStatus: 'stub',
}
if (typeof args[2] === 'function') {
args[2](retr)
}
} else {
if (args[0] === 'init' && typeof args[3] === 'object') {
args[3] = Object.assign(args[3], { tag_version: 'V3' })
}
queue.push(args)
}
}
function postMessageEventHandler(event) {
var msgIsString = typeof event.data === 'string'
var json = {}
try {
if (msgIsString) {
json = JSON.parse(event.data)
} else {
json = event.data
}
} catch (ignore) {}
var payload = json.__tcfapiCall
if (payload) {
window.__tcfapi(
payload.command,
payload.version,
function (retValue, success) {
var returnMsg = {
__tcfapiReturn: {
returnValue: retValue,
success: success,
callId: payload.callId,
},
}
if (msgIsString) {
returnMsg = JSON.stringify(returnMsg)
}
if (event && event.source && event.source.postMessage) {
event.source.postMessage(returnMsg, '*')
}
},
payload.parameter,
)
}
}
while (win) {
try {
if (win.frames[TCF_LOCATOR_NAME]) {
cmpFrame = win
break
}
} catch (ignore) {}
if (win === window.top) {
break
}
win = win.parent
}
if (!cmpFrame) {
addFrame()
win.__tcfapi = tcfAPIHandler
win.addEventListener('message', postMessageEventHandler, false)
}
}
makeStub()
var uspStubFunction = function () {
var arg = arguments
if (typeof window.__uspapi !== uspStubFunction) {
setTimeout(function () {
if (typeof window.__uspapi !== 'undefined') {
window.__uspapi.apply(window.__uspapi, arg)
}
}, 500)
}
}
var checkIfUspIsReady = function () {
uspTries++
if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
console.warn('USP is not accessible')
} else {
clearInterval(uspInterval)
}
}
if (typeof window.__uspapi === 'undefined') {
window.__uspapi = uspStubFunction
var uspInterval = setInterval(checkIfUspIsReady, 6000)
}
})()