You've already forked AstralRinth
forked from didirus/AstralRinth
* 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
161 lines
3.4 KiB
JavaScript
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)
|
|
}
|
|
})()
|