mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
2.1 KiB
JavaScript
1 line
2.1 KiB
JavaScript
(()=>(t,e)=>{function n(t,e,n){if(e in t){Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true})}else{t[e]=n}return t}const r=380;class s{constructor(e="",r="",s="0 0 auto",i=false,a=false,o=null,u=null,c=null,l=0,d=t.touchNavBar,m=false){this.html=e;this.popupHtml=r;this.flex=s;this.disabled=i;this.requestedPopup=a;this.initialPopup=o;this.onPopup=u;this.href=c;this.notifyCount=l;this.touch=d;this.active=m;n(this,"noPadding",false);n(this,"transparent",false);n(this,"boundingWidth",0)}get name(){return"blank1"}static cleanUpOrders(){if(t.customNavbarOrder.bangumiLink){t.customNavbarOrder=_.omit(t.customNavbarOrder,"bangumiLink")}const e=_.sortBy(Object.entries(t.customNavbarOrder),(([,t])=>t));console.log(e);t.customNavbarOrder=_.fromPairs(e.map((([t],e)=>[t,e])))}get order(){const e=t.customNavbarOrder[this.name];const n=Object.values(_.groupBy(Object.values(t.customNavbarOrder),(t=>t))).some((t=>t.length>1));if(e===undefined||n){s.cleanUpOrders();return t.customNavbarOrder[this.name]}return e}get hidden(){return t.customNavbarHidden.includes(this.name)}get element(){return dq(`.custom-navbar li[data-name='${this.name}']`)}async setNotifyCount(t){const e=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!e||t<=0){e.innerHTML="";return}e.innerHTML=t.toString()}async setNotifyStyle(t){const e=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!e){return}const n={1:"number",2:"dot",3:"hidden"};e.classList.remove(...Object.values(n));e.classList.add(n[t])}checkPosition(){if(this.boundingWidth===0||this.hidden){return true}const t=this.element;const e=t.querySelector(".main-content ~ .popup-container");if(!e){return true}const n=t.getBoundingClientRect();const s=n.left+n.width/2;const i=document.documentElement.clientWidth;const a=s-this.boundingWidth/2;const o=s+this.boundingWidth/2;if(a<0){e.style.transform=`translateX(${Math.abs(a)+1}px)`}else if(o>i){e.style.transform=`translateX(${-(o-i)-1}px)`}else{e.style.transform=""}return s<=r/2||i-s<=r/2}}return{export:{NavbarComponent:s}}})(); |