caterium-app/public/core/login-signature-v1776.js
2026-09-12 03:41:58 +03:00

112 lines
11 KiB
JavaScript

(()=>{
'use strict';
if(window.CateriumLoginSignatureV1776)return;
const VERSION='17.7.6-signature-login-v2';
const $=(s,r=document)=>r.querySelector(s);
const boot=()=>$('#cateriumAuthBootV1776');
const removeBoot=()=>{const b=boot();if(b){b.classList.add('leave');setTimeout(()=>b.remove(),180)}};
function installStyle(){
if($('#caterium-login-signature-v1776-style'))return;
const style=document.createElement('style');
style.id='caterium-login-signature-v1776-style';
style.textContent=`
body.sun-cloud-auth-required{overflow:hidden!important;background:#091019!important}
body.sun-cloud-auth-required>header,body.sun-cloud-auth-required>.view{visibility:hidden!important}
#sunCloudAuthGateV3.sun-cloud-auth-gate{
position:fixed!important;inset:0!important;z-index:20000!important;overflow:hidden!important;
display:grid!important;grid-template-columns:minmax(520px,47%) 1fr!important;place-items:stretch!important;
padding:0!important;background:#091019!important;color:#fff!important;
}
#sunCloudAuthGateV3.sun-cloud-auth-gate::before{
content:'';position:absolute;z-index:0;inset:0 47% 0 0;pointer-events:none;
background:radial-gradient(circle at 74% 48%,rgba(226,169,59,.13),transparent 18%),linear-gradient(125deg,#091019 0%,#111922 62%,#17191b 100%);
}
#sunCloudAuthGateV3.sun-cloud-auth-gate::after{
content:'';position:absolute;z-index:0;top:0;right:0;bottom:0;width:53%;pointer-events:none;
background-image:linear-gradient(90deg,#111922 0%,rgba(17,25,34,.52) 12%,rgba(0,0,0,.12) 44%,rgba(0,0,0,.08) 100%),url('offer-gallery/002.jpg');
background-size:cover;background-position:center;filter:saturate(.92) contrast(1.04);
}
#sunCloudAuthGateV3 .sun-cloud-auth-card{
grid-column:1!important;align-self:center!important;justify-self:center!important;position:relative!important;z-index:3!important;
width:min(470px,calc(100% - 72px))!important;margin:0!important;padding:24px 0 34px!important;
border:0!important;border-radius:0!important;background:transparent!important;color:#f7f4ee!important;
box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#sunCloudAuthGateV3 .sun-cloud-auth-card::before{
content:'C';position:fixed;z-index:-1;left:-7vw;top:50%;transform:translateY(-53%);pointer-events:none;
font:400 min(68vw,790px)/.72 Georgia,'Times New Roman',serif;color:transparent;
-webkit-text-stroke:min(5.8vw,82px) rgba(255,255,255,.09);text-stroke:min(5.8vw,82px) rgba(255,255,255,.09);
}
#sunCloudAuthGateV3 .caterium-signature-brand{display:flex;align-items:center;gap:12px;margin:0 0 42px;color:#fff}
#sunCloudAuthGateV3 .caterium-signature-c{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;font:500 58px/1 Georgia,'Times New Roman',serif;letter-spacing:-8px;color:#fff}
#sunCloudAuthGateV3 .caterium-signature-c i{position:absolute;right:-2px;top:23px;width:9px;height:9px;border-radius:50%;background:#e3aa3f;box-shadow:0 0 20px rgba(227,170,63,.3)}
#sunCloudAuthGateV3 .caterium-signature-word{font:500 30px/1 Georgia,'Times New Roman',serif;color:#fff}
#sunCloudAuthGateV3 .sun-cloud-auth-brand{display:block!important;margin:0 0 27px!important}
#sunCloudAuthGateV3 .sun-cloud-auth-brand img{display:none!important}
#sunCloudAuthGateV3 .sun-cloud-auth-brand h2{margin:0!important;max-width:440px;color:#fff!important;font:500 clamp(37px,3.25vw,52px)/1.04 Georgia,'Times New Roman',serif!important;letter-spacing:-.025em!important}
#sunCloudAuthGateV3 .sun-cloud-auth-brand .hint{margin-top:10px!important;color:rgba(255,255,255,.67)!important;font-size:15px!important;line-height:1.5!important}
#sunCloudAuthGateV3 .sun-cloud-auth-card>p.hint{color:rgba(255,255,255,.68)!important}
#sunCloudAuthGateV3 .sun-cloud-auth-card label{display:block!important;margin:14px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.015em!important}
#sunCloudAuthGateV3 .sun-cloud-auth-card input,#sunCloudAuthGateV3 .sun-cloud-auth-card select,#sunCloudAuthGateV3 .sun-cloud-auth-card textarea{
width:100%!important;height:48px!important;margin-top:6px!important;padding:0 15px!important;border:1px solid rgba(255,255,255,.27)!important;border-radius:9px!important;
background:rgba(8,12,16,.36)!important;color:#fff!important;box-shadow:none!important;outline:none!important;
}
#sunCloudAuthGateV3 .sun-cloud-auth-card input:focus{border-color:#e3aa3f!important;box-shadow:0 0 0 3px rgba(227,170,63,.12)!important;background:rgba(8,12,16,.58)!important}
#sunCloudAuthGateV3 .sun-auth-eye{right:7px!important;bottom:7px!important;color:rgba(255,255,255,.78)!important;background:transparent!important}
#sunCloudAuthGateV3 .sun-auth-eye:hover{background:rgba(255,255,255,.08)!important}
#sunCloudAuthGateV3 .sun-cloud-auth-actions{display:block!important;margin-top:20px!important}
#sunCloudAuthGateV3 .sun-cloud-auth-actions .primary,#sunCloudAuthGateV3 #sunGateSubmitV3{
width:100%!important;min-height:50px!important;border:0!important;border-radius:9px!important;background:linear-gradient(100deg,#dba137,#efc45f)!important;
color:#111!important;font-size:15px!important;font-weight:900!important;box-shadow:0 13px 30px rgba(207,145,37,.17)!important;
}
#sunCloudAuthGateV3 .sun-cloud-auth-actions .primary:hover,#sunCloudAuthGateV3 #sunGateSubmitV3:hover{filter:brightness(1.05)!important}
#sunCloudAuthGateV3 .sun-cloud-auth-actions .outline{width:100%!important;margin-top:8px!important;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.04)!important;color:#fff!important}
#sunCloudAuthGateV3 .sun-cloud-auth-error{min-height:18px!important;margin-top:8px!important;color:#ffb6ad!important;font-size:12px!important}
#sunCloudAuthGateV3 .sun-auth-switch{margin:20px 0 0!important;padding-top:19px!important;border-top:1px solid rgba(255,255,255,.16)!important;color:rgba(255,255,255,.7)!important;font-size:13px!important}
#sunCloudAuthGateV3 .sun-auth-switch button{border:0!important;background:transparent!important;color:#e8b34c!important;text-decoration:none!important;font-weight:900!important}
#sunCloudAuthGateV3 .caterium-signature-caption{position:fixed;left:42px;bottom:32px;z-index:4;color:rgba(255,255,255,.6);font-size:9px;letter-spacing:.3em;text-transform:uppercase;pointer-events:none}
#sunCloudAuthGateV3 .caterium-signature-caption::before{content:'';display:block;width:45px;height:2px;margin-bottom:12px;background:#e3aa3f}
#sunCloudAuthGateV3 .caterium-signature-manifesto{position:fixed;right:42px;top:36px;z-index:4;width:150px;color:rgba(255,255,255,.7);font-size:9px;line-height:1.9;letter-spacing:.23em;text-transform:uppercase;pointer-events:none;text-shadow:0 1px 10px #0008}
#sunCloudAuthGateV3 .caterium-signature-manifesto::after{content:'';display:block;width:42px;height:2px;margin-top:12px;background:#e3aa3f}
@media(max-width:900px){
#sunCloudAuthGateV3.sun-cloud-auth-gate{display:grid!important;grid-template-columns:1fr!important;background:#091019!important}
#sunCloudAuthGateV3.sun-cloud-auth-gate::before{inset:0;background:linear-gradient(180deg,rgba(7,13,20,.72),rgba(7,13,20,.9))}
#sunCloudAuthGateV3.sun-cloud-auth-gate::after{width:100%;opacity:.55;background-image:linear-gradient(180deg,rgba(5,10,15,.38),rgba(5,10,15,.88)),url('offer-gallery/002.jpg');background-position:center}
#sunCloudAuthGateV3 .sun-cloud-auth-card{grid-column:1!important;width:min(460px,calc(100% - 36px))!important;padding:20px 20px 24px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;background:rgba(7,12,17,.66)!important;backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important}
#sunCloudAuthGateV3 .sun-cloud-auth-card::before{left:-52vw;top:50%;font-size:120vw;-webkit-text-stroke:14vw rgba(255,255,255,.07)}
#sunCloudAuthGateV3 .caterium-signature-brand{margin-bottom:28px}
#sunCloudAuthGateV3 .caterium-signature-word{font-size:25px}
#sunCloudAuthGateV3 .sun-cloud-auth-brand h2{font-size:32px!important}
#sunCloudAuthGateV3 .caterium-signature-caption,#sunCloudAuthGateV3 .caterium-signature-manifesto{display:none!important}
}
`;
document.head.appendChild(style);
}
function decorate(gate){
if(!gate)return false;
const card=$('.sun-cloud-auth-card',gate);if(!card)return false;
gate.classList.add('caterium-signature-ready');
if(!$('.caterium-signature-brand',card)){
const brand=document.createElement('div');brand.className='caterium-signature-brand';brand.setAttribute('aria-label','Caterium');
brand.innerHTML='<span class="caterium-signature-c">C<i></i></span><span class="caterium-signature-word">Caterium</span>';card.prepend(brand);
}
if(!$('.caterium-signature-caption',gate)){const n=document.createElement('div');n.className='caterium-signature-caption';n.textContent='Caterium · управление кейтерингом';gate.appendChild(n)}
if(!$('.caterium-signature-manifesto',gate)){const n=document.createElement('div');n.className='caterium-signature-manifesto';n.textContent='Создаём впечатления, которые объединяют';gate.appendChild(n)}
const title=$('#sunGateTitleV3',gate),subtitle=$('#sunGateSubtitleV3',gate);
if(title&&title.textContent.trim()==='Вход в Caterium')title.textContent='Войти в рабочее пространство';
if(subtitle&&subtitle.textContent.trim()==='Введите данные своего аккаунта')subtitle.textContent='Ваши заказы. Ваша команда. Ваш результат.';
removeBoot();return true;
}
function scan(){return decorate($('#sunCloudAuthGateV3'))}
function releaseForSignedIn(){
try{const st=window.SunCloudV2?.status?.();if(st?.signedIn&&window.SunCloudV2?.getWorkspace?.()&&!$('#sunCloudAuthGateV3'))removeBoot()}catch(_){}
}
installStyle();scan();
const observer=new MutationObserver(()=>{scan();releaseForSignedIn()});observer.observe(document.documentElement,{childList:true,subtree:true,characterData:true});
window.addEventListener('sun:cloud-state-applied',()=>{scan();releaseForSignedIn()});
const poll=setInterval(()=>{if(scan()||!boot()){clearInterval(poll);return}releaseForSignedIn()},80);setTimeout(()=>{clearInterval(poll);if(boot()&&!$('#sunCloudAuthGateV3'))removeBoot()},10000);
window.CateriumLoginSignatureV1776=Object.freeze({VERSION,scan,removeBoot,disconnect:()=>{observer.disconnect();clearInterval(poll)}});
})();