2022-06-10 08:06:55 +00:00
if ( '<notrack>' === 'true' ) { // Disable sentry
try {
window . _ _SENTRY _ _ . hub . getClient ( ) . getOptions ( ) . enabled = false ;
2022-06-10 08:08:29 +00:00
2022-06-10 10:00:01 +00:00
Object . keys ( console ) . forEach ( x => console [ x ] = console [ x ] . _ _sentry _original _ _ ? ? console [ x ] ) ;
2022-06-10 08:06:55 +00:00
} catch { }
}
2021-12-26 14:06:10 +00:00
let lastBgPrimary = '' ;
2021-12-26 17:47:04 +00:00
const themesync = async ( ) => {
2022-01-15 20:43:06 +00:00
const getVar = ( name , el = document . body ) => el && ( getComputedStyle ( el ) . getPropertyValue ( name ) || getVar ( name , el . parentElement ) ) ? . trim ( ) ;
2021-12-26 14:05:20 +00:00
const bgPrimary = getVar ( '--background-primary' ) ;
2022-05-09 07:06:41 +00:00
if ( ! bgPrimary || bgPrimary === '#36393f' || bgPrimary === '#fff' || bgPrimary === lastBgPrimary ) return ; // Default primary bg or same as last
2021-12-26 14:05:20 +00:00
lastBgPrimary = bgPrimary ;
2021-12-16 16:52:25 +00:00
const vars = [ '--background-primary' , '--background-secondary' , '--brand-experiment' , '--header-primary' , '--text-muted' ] ;
let cached = await DiscordNative . userDataCache . getCached ( ) || { } ;
2022-03-13 20:20:26 +00:00
const value = ` body { ${ vars . reduce ( ( acc , x ) => acc += ` ${ x } : ${ getVar ( x ) } ; ` , '' ) } } ` ;
2021-12-21 08:42:20 +00:00
const pastValue = cached [ 'openasarSplashCSS' ] ;
2021-12-16 16:52:25 +00:00
cached [ 'openasarSplashCSS' ] = value ;
2021-12-21 08:42:20 +00:00
if ( value !== pastValue ) DiscordNative . userDataCache . cacheUserData ( JSON . stringify ( cached ) ) ;
2021-12-16 16:52:25 +00:00
} ;
2022-01-15 20:41:01 +00:00
2021-12-26 17:47:04 +00:00
2022-03-24 22:24:20 +00:00
// Settings info version injection
2022-03-13 20:12:42 +00:00
setInterval ( ( ) => {
2022-05-04 21:33:58 +00:00
const host = [ ... document . querySelectorAll ( '[class*="info-"] [class*="line-"]' ) ] . find ( x => x . textContent . startsWith ( 'Host ' ) ) ;
2022-03-13 20:12:42 +00:00
if ( ! host || document . querySelector ( '#openasar-ver' ) ) return ;
2021-12-16 16:52:25 +00:00
2022-03-13 20:12:42 +00:00
const el = document . createElement ( 'span' ) ;
el . id = 'openasar-ver' ;
el . textContent = 'OpenAsar <hash>' ;
el . onclick = ( ) => DiscordNative . ipc . send ( 'DISCORD_UPDATED_QUOTES' , 'o' ) ;
host . append ( document . createTextNode ( ' | ' ) , el ) ;
} , 2000 ) ;
2021-12-17 23:00:33 +00:00
2022-09-28 16:50:29 +00:00
const injCSS = x => {
const el = document . createElement ( 'style' ) ;
el . appendChild ( document . createTextNode ( x ) ) ;
document . body . appendChild ( el ) ;
} ;
2022-03-13 20:12:42 +00:00
2022-09-28 16:50:29 +00:00
injCSS ( document . createTextNode ( `
2022-09-28 16:33:31 +00:00
[ class ^= "socialLinks-" ] + [ class ^= "info-" ] {
2021-12-18 18:48:04 +00:00
padding - right : 0 ;
}
2021-12-26 17:47:04 +00:00
2022-03-13 20:12:42 +00:00
# openasar - ver {
text - transform : none ;
cursor : pointer ;
2021-12-26 17:47:04 +00:00
}
2021-12-17 23:00:33 +00:00
2022-03-13 20:12:42 +00:00
# openasar - ver : hover {
text - decoration : underline ;
color : var ( -- text - normal ) ;
} ` ));
2022-09-28 16:50:29 +00:00
injCSS ( ` <css> ` ) ;
2021-12-26 17:47:04 +00:00
2022-03-24 22:24:20 +00:00
openasar = { } ; // Define global for any mods which want to know / etc
2022-04-21 10:50:05 +00:00
DiscordNative . nativeModules . ensureModule ( 'discord_voice' ) ; // Ensure discord_voice to generally prevent corruption message / broken VC, also for deferring for fresh start
2022-03-24 22:24:20 +00:00
setInterval ( ( ) => { // Try init themesync
try {
themesync ( ) ;
} catch ( e ) { }
} , 10000 ) ;
themesync ( ) ;