mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-05 01:44:16 +08:00
2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
document.addEventListener("DOMContentLoaded",function(){document.addEventListener('wheel',e=>e.ctrlKey&&e.preventDefault(),{passive:false});document.addEventListener('keydown',e=>(e.ctrlKey&&(e.key==='+'||e.key==='-'||e.key==='0'))&&e.preventDefault());document.addEventListener('touchstart',e=>e.touches.length>1&&e.preventDefault(),{passive:false});document.addEventListener('touchmove',e=>e.touches.length>1&&e.preventDefault(),{passive:false});document.addEventListener('gesturestart',e=>e.preventDefault());document.addEventListener('gesturechange',e=>e.preventDefault());document.addEventListener('gestureend',e=>e.preventDefault());let lastTouchEnd=0;document.addEventListener('touchend',e=>{const now=Date.now();if(now-lastTouchEnd<=300)e.preventDefault();lastTouchEnd=now;});document.addEventListener('dblclick',e=>e.preventDefault());document.body.style.cssText+='-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:pan-y;';const A=document.getElementById('a');if(A){setTimeout(()=>{A.classList.add('fade-out');setTimeout(()=>A.remove(),400);},3500);}const pI=document.getElementById('p_in');const tE=document.getElementById('t_eye');const uI=document.getElementById('u_in');const uE=document.getElementById('u_eye');const sS='✦';const sH='✧';if(pI&&tE){tE.innerHTML=sH;tE.onclick=()=>{if(pI.type==='password'){pI.type='text';tE.innerHTML=sS;}else{pI.type='password';tE.innerHTML=sH;}};}if(uI&&uE){uE.innerHTML=sS;uE.onclick=()=>{if(uI.type==='text'){uI.type='password';uE.innerHTML=sH;}else{uI.type='text';uE.innerHTML=sS;}};}const themeBtn=document.getElementById('b');if(themeBtn){const T=['light','glass','glass-matte','gradien','dark','neon','ocean','curve','matrix','pulse','brutal','metal-glass','liquid-flow'];const D=document.body;let C=localStorage.theme||'light';if(!T.includes(C))C='light';D.className=`luxe-login ${C}`;themeBtn.textContent=C.toUpperCase();function toggleLiquidState(isPaused){const container=document.querySelector('.login_form_container');const form=document.querySelector('.login_form');if(container)container.classList.toggle('liquid-flow-paused',isPaused);if(form)form.classList.toggle('liquid-flow-paused',isPaused);}themeBtn.onclick=()=>{if(D.classList.contains('liquid-flow'))toggleLiquidState(true);C=T[(T.indexOf(C)+1)%T.length];D.className=`luxe-login ${C}`;themeBtn.textContent=C.toUpperCase();localStorage.theme=C;if(C==='liquid-flow')setTimeout(()=>toggleLiquidState(false),500);else toggleLiquidState(false);};if(C==='liquid-flow')setTimeout(()=>toggleLiquidState(false),1000);}const timeEl=document.getElementById('t');const dEl=document.getElementById('d');if(timeEl||dEl){function toHijri(date){const d=new Date(date.getTime()+86400000);const gYear=d.getFullYear(),gMonth=d.getMonth()+1,gDay=d.getDate();let a=Math.floor((14-gMonth)/12);let y=gYear+4800-a;let m=gMonth+12*a-3;let jdn=gDay+Math.floor((153*m+2)/5)+365*y+Math.floor(y/4)-Math.floor(y/100)+Math.floor(y/400)-32045;let l=jdn-1948440+10632;let n=Math.floor((l-1)/10631);l=l-10631*n+354;let j=(Math.floor((10985-l)/5316))*(Math.floor((50*l)/17719))+(Math.floor(l/5670))*(Math.floor((43*l)/15238));l=l-(Math.floor((30-j)/15))*(Math.floor((17719*j)/50))-(Math.floor(j/16))*(Math.floor((15238*j)/43))+29;let hijriMonth=Math.floor((24*l)/709);let hijriDay=l-Math.floor((709*hijriMonth)/24);let hijriYear=30*n+j-30;return{year:hijriYear,month:hijriMonth,day:hijriDay};}const hijriMonths=['Muharram','Safar','Rabiul Awal','Rabiul Akhir','Jumadil Awal','Jumadil Akhir','Rajab','Syaban','Ramadan','Syawal','Dzulqadah','Dzulhijjah'];const updateClock=()=>{const N=new Date();const isHijri=Math.floor(N.getTime()/60000)%2;if(timeEl)timeEl.textContent=N.toLocaleTimeString('id-ID',{hour:'2-digit',minute:'2-digit',second:'2-digit'});if(dEl){if(isHijri){const h=toHijri(N);const weekday=N.toLocaleDateString('id-ID',{weekday:'long'});dEl.textContent=`${weekday}, ${h.day} ${hijriMonths[h.month-1]} ${h.year} H`;}else{dEl.textContent=N.toLocaleDateString('id-ID',{weekday:'long',day:'numeric',month:'short',year:'numeric'});}}};updateClock();setInterval(updateClock,1000);}let isDeleting=false;let currentIndex=0;let currentTextIndex=0;let typeSpeed=180;let deleteSpeed=120;let texts=[];function typewriter(){const h=document.getElementById('hostname');if(!h)return;const hostnameText=h.getAttribute('data-text')||'';texts=['WELCOME',hostnameText];const type=()=>{const currentText=texts[currentTextIndex];if(!isDeleting&¤tIndex<currentText.length){h.innerHTML=currentText.substring(0,currentIndex+1);currentIndex++;setTimeout(type,typeSpeed);}else if(!isDeleting&¤tIndex===currentText.length){setTimeout(()=>{isDeleting=true;type();},3000);}else if(isDeleting&¤tIndex>0){currentIndex--;h.innerHTML=currentText.substring(0,currentIndex);setTimeout(type,deleteSpeed);}else if(isDeleting&¤tIndex===0){isDeleting=false;currentTextIndex=(currentTextIndex+1)%texts.length;setTimeout(type,500);}};setTimeout(type,500);}const style=document.createElement('style');style.textContent='#hostname{font-family:monospace!important}.cursor{opacity:1;color:inherit}.blink{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}';document.head.appendChild(style);typewriter();const ft=document.querySelector('.footer');if(ft)ft.innerHTML='LuxeOs © 2026';});
|