(()=>{ 'use strict'; if(window.SunHotfixV1763)return; const VERSION='17.6.3'; const $=id=>document.getElementById(id); const esc=value=>window.SunSafe?.escapeHTML?window.SunSafe.escapeHTML(String(value??'')):String(value??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); let checkingGate=false; function patchDeveloperOpen(){ const dev=window.SunDeveloperV22; if(!dev||dev.__sunV1763SafeOpen||typeof dev.open!=='function')return false; const original=dev.open.bind(dev); dev.open=(source=null)=>original(source instanceof HTMLElement?source:null); Object.defineProperty(dev,'__sunV1763SafeOpen',{value:true,configurable:true}); return true; } async function platformAdmin(){ const dev=window.SunDeveloperV22,cloud=window.SunCloudV2; if(!dev||!cloud?.getSession?.()?.user)return false; if(dev.isPlatformAdmin?.()===true)return true; try{return await dev.checkPlatformAdmin?.(true)===true}catch(_){return false} } async function enhanceDeveloperGate(){ if(checkingGate)return false; const cloud=window.SunCloudV2,dev=window.SunDeveloperV22; if(!cloud||!dev)return false; const session=cloud.getSession?.(),workspace=cloud.getWorkspace?.(); if(!session?.user||workspace)return false; checkingGate=true; try{ if(!await platformAdmin())return false; const gate=$('sunCloudAuthGateV3'),card=gate?.querySelector('.sun-cloud-auth-card'); if(!gate||!card)return false; if(card.dataset.dev1763==='1')return true; gate.dataset.saasEnhanced='1'; card.dataset.devEnhanced='1'; card.dataset.dev1763='1'; card.innerHTML=`
Caterium

Аккаунт разработчика

${esc(session.user.email||'')}

Этот аккаунт управляет платформой и не обязан иметь собственную рабочую компанию.

`; card.querySelector('[data-open-dev-v1763]')?.addEventListener('click',()=>{patchDeveloperOpen();dev.open?.();}); card.querySelector('[data-signout-v1763]')?.addEventListener('click',()=>cloud.signOut?.()); return true; }finally{checkingGate=false;} } function interceptSaasAdmin(event){ const button=event.target?.closest?.('[data-saas-admin]'); if(!button)return; const dev=window.SunDeveloperV22; if(!dev)return; event.preventDefault(); event.stopImmediatePropagation(); patchDeveloperOpen(); dev.open?.(); } function maintain(){ patchDeveloperOpen(); enhanceDeveloperGate().catch(()=>{}); } document.addEventListener('click',interceptSaasAdmin,true); window.addEventListener('sun:cloud-permissions-changed',()=>setTimeout(maintain,0)); window.addEventListener('sun:cloud-state-applied',()=>setTimeout(maintain,0)); setTimeout(maintain,0); setInterval(()=>{if(!document.hidden)maintain();},1000); window.SunHotfixV1763={VERSION,patchDeveloperOpen,enhanceDeveloperGate}; })();