diff --git a/plugins/plugins/oled-theme/dist/index.js b/plugins/plugins/oled-theme/dist/index.js index 582880f..c272182 100644 --- a/plugins/plugins/oled-theme/dist/index.js +++ b/plugins/plugins/oled-theme/dist/index.js @@ -1,6 +1,7 @@ -var g=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var w=(t,e)=>()=>(t&&(e=t(t=0)),e);var v=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},A=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of S(e))!I.call(t,c)&&c!==r&&g(t,c,{get:()=>e[c],enumerable:!(a=x(e,c))||a.enumerable});return t};var N=t=>A(g({},"__esModule",{value:!0}),t);var C={};v(C,{Tracer:()=>y,libTrace:()=>k});import{actions as h}from"@neptune";var y,k,E=w(()=>{"use strict";y=t=>{let e=s=>{let l=(...i)=>{s(t,...i)};return l.withContext=i=>(...p)=>{s(t,i,...p)},l},r=e(console.log),a=e(console.warn),c=e(console.error),o=e(console.debug),n=(s,l,i)=>{let p=m=>{s(m),l({message:`${t} - ${m}`,category:"OTHER",severity:i})};return p.withContext=m=>{let b=s.withContext(m);return u=>{b(u),u instanceof Error&&(u=u.message),l({message:`${t}.${m} - ${u}`,category:"OTHER",severity:i})}},p};return{log:r,warn:a,err:c,debug:o,msg:{log:n(r,h.message.messageInfo,"INFO"),warn:n(a,h.message.messageWarn,"WARN"),err:n(c,h.message.messageError,"ERROR")}}},k=y("[lib]")});E();import{intercept as R}from"@neptune";E();var O=y("[OLED Theme]"),_="https://raw.githubusercontent.com/ItzzExcel/neptune-projects/refs/heads/main/themes/black-neptune-theme.css",T,d;function D(){let t=document.querySelector('div[class*="textContainer--"] > a > span');t&&t.addEventListener("DOMSubtreeModified",()=>{setTimeout(()=>{f()},300)})}function L(t){let e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e),e}function P(){d&&d.parentNode&&d.parentNode.removeChild(d)}async function M(t){try{let e=await fetch(t);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.text()}catch(e){return O.msg.err(`Failed to fetch URL: ${e.message}`),null}}(async()=>(T=await M(_),d=L(T)))();var f=function(t=0){t===1&&setTimeout(()=>{f()},2e3);let e=document.querySelector('figure[class*="albumImage"] > div > div > div > img'),r;e&&(r=e.src,r=r.replace(/\d+x\d+/,"1280x1280"),e.src=r);let a=document.querySelector('[class*="nowPlayingContainer"]');if(a&&r){a.querySelectorAll(".corner-image").forEach(s=>s.remove());let o=document.createElement("img");o.src=r,o.className="corner-image",o.style.position="absolute",o.style.left="50%",o.style.top="50%",o.style.transform="translate(-50%, -50%)",o.style.width="75vw",o.style.height="150vh",o.style.objectFit="cover",o.style.zIndex="-1",o.style.filter="blur(100px) brightness(0.6) contrast(1.2) saturate(1)",o.style.animation="spin 35s linear infinite",a.appendChild(o);let n=document.createElement("img");if(n.src=r,n.className="corner-image",n.style.position="absolute",n.style.left="50%",n.style.top="50%",n.style.transform="translate(-50%, -50%)",n.style.width="75vw",n.style.height="150vh",n.style.objectFit="cover",n.style.zIndex="-1",n.style.filter="blur(100px) brightness(0.6) contrast(1.2) saturate(1)",n.style.animation="spin 35s linear infinite",a.appendChild(n),!document.querySelector("#spinAnimation")){let s=document.createElement("style");s.id="spinAnimation",s.textContent=` +var h=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var v=(t,e)=>()=>(t&&(e=t(t=0)),e);var k=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},A=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of I(e))!w.call(t,c)&&c!==r&&h(t,c,{get:()=>e[c],enumerable:!(a=S(e,c))||a.enumerable});return t};var N=t=>A(h({},"__esModule",{value:!0}),t);var C={};k(C,{Tracer:()=>f,libTrace:()=>R});import{actions as E}from"@neptune";var f,R,T=v(()=>{"use strict";f=t=>{let e=s=>{let l=(...i)=>{s(t,...i)};return l.withContext=i=>(...y)=>{s(t,i,...y)},l},r=e(console.log),a=e(console.warn),c=e(console.error),o=e(console.debug),n=(s,l,i)=>{let y=m=>{s(m),l({message:`${t} - ${m}`,category:"OTHER",severity:i})};return y.withContext=m=>{let x=s.withContext(m);return u=>{x(u),u instanceof Error&&(u=u.message),l({message:`${t}.${m} - ${u}`,category:"OTHER",severity:i})}},y};return{log:r,warn:a,err:c,debug:o,msg:{log:n(r,E.message.messageInfo,"INFO"),warn:n(a,E.message.messageWarn,"WARN"),err:n(c,E.message.messageError,"ERROR")}}},R=f("[lib]")});T();import{intercept as O}from"@neptune";T();var L=f("[OLED Theme]"),q="https://raw.githubusercontent.com/ItzzExcel/neptune-projects/refs/heads/main/themes/black-neptune-theme.css",b,d;function g(){let t=document.querySelector('[class^="trackTitleContainer"]');t&&t.addEventListener("DOMSubtreeModified",()=>{setTimeout(()=>{console.log("Track changed: "+t.querySelector("span").innerHTML+` +`),p()},300)})}function D(t){let e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e),e}function M(){d&&d.parentNode&&d.parentNode.removeChild(d)}async function P(t){try{let e=await fetch(t);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.text()}catch(e){return L.msg.err(`Failed to fetch URL: ${e.message}`),null}}(async()=>(b=await P(q),d=D(b)))();var p=function(t=0){t===1&&setTimeout(()=>{p()},2e3);let e=document.querySelector('figure[class*="albumImage"] > div > div > div > img'),r;e&&(r=e.src,r=r.replace(/\d+x\d+/,"1280x1280"),e.src=r);let a=document.querySelector('[class*="nowPlayingContainer"]');if(a&&r){a.querySelectorAll(".corner-image").forEach(s=>s.remove());let o=document.createElement("img");o.src=r,o.className="corner-image",o.style.position="absolute",o.style.left="50%",o.style.top="50%",o.style.transform="translate(-50%, -50%)",o.style.width="75vw",o.style.height="150vh",o.style.objectFit="cover",o.style.zIndex="-1",o.style.filter="blur(100px) brightness(0.6) contrast(1.2) saturate(1)",o.style.animation="spin 35s linear infinite",a.appendChild(o);let n=document.createElement("img");if(n.src=r,n.className="corner-image",n.style.position="absolute",n.style.left="50%",n.style.top="50%",n.style.transform="translate(-50%, -50%)",n.style.width="75vw",n.style.height="150vh",n.style.objectFit="cover",n.style.zIndex="-1",n.style.filter="blur(100px) brightness(0.6) contrast(1.2) saturate(1)",n.style.animation="spin 35s linear infinite",a.appendChild(n),!document.querySelector("#spinAnimation")){let s=document.createElement("style");s.id="spinAnimation",s.textContent=` @keyframes spin { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } } - `,document.head.appendChild(s)}}},U=function(){[...document.getElementsByClassName("corner-image")].forEach(t=>{t.remove()})},q=["playbackControls/PREFILL_MEDIA_PRODUCT_TRANSITION","playbackControls/MEDIA_PRODUCT_TRANSITION","playbackControls/SEEK","playbackControls/SET_PLAYBACK_STATE","playbackControls/TIME_UPDATE"];D();var $=q.map(t=>R(t,f));function W(){P(),$.forEach(e=>e()),U();let t=document.querySelector('div[class*="textContainer--"] > a > span');t&&t.removeEventListener("DOMSubtreeModified",f)}export{W as onUnload}; + `,document.head.appendChild(s)}}},_=function(){[...document.getElementsByClassName("corner-image")].forEach(t=>{t.remove()})},U=["playbackControls/PREFILL_MEDIA_PRODUCT_TRANSITION","playbackControls/MEDIA_PRODUCT_TRANSITION","playbackControls/PLAY"];g();g();g();g();var $=U.map(t=>O(t,()=>{p(1)}));function Y(){M(),$.forEach(e=>e()),_();let t=document.querySelector('div[class^="trackTitleContainer"]');t&&t.removeEventListener("DOMSubtreeModified",p)}export{Y as onUnload}; diff --git a/plugins/plugins/oled-theme/dist/manifest.json b/plugins/plugins/oled-theme/dist/manifest.json index 53f8996..ebd867f 100644 --- a/plugins/plugins/oled-theme/dist/manifest.json +++ b/plugins/plugins/oled-theme/dist/manifest.json @@ -1 +1 @@ -{"name":"Dark Abyss (OLED Theme)","description":"A working theme, ong.","author":"itzzexcel@github","hash":"7e22fd29296b90cdf37927f51db4e1c2","metafile":{"inputs":{"plugins/oled-theme/src/tracer.js":{"bytes":1596,"imports":[{"path":"@neptune","kind":"import-statement","external":true}],"format":"esm"},"plugins/oled-theme/src/index.js":{"bytes":6209,"imports":[{"path":"plugins/oled-theme/src/tracer.js","kind":"import-statement","original":"./tracer"},{"path":"@neptune","kind":"import-statement","external":true},{"path":"plugins/oled-theme/src/tracer.js","kind":"require-call","original":"./tracer"}],"format":"esm"}},"outputs":{"plugins/oled-theme/dist/index.js":{"imports":[{"path":"@neptune","kind":"import-statement","external":true},{"path":"@neptune","kind":"import-statement","external":true}],"exports":["onUnload"],"entryPoint":"plugins/oled-theme/src/index.js","inputs":{"plugins/oled-theme/src/tracer.js":{"bytesInOutput":693},"plugins/oled-theme/src/index.js":{"bytesInOutput":2794}},"bytes":3957}}}} \ No newline at end of file +{"name":"Dark Abyss (OLED Theme)","description":"A working theme, ong.","author":"itzzexcel@github","hash":"6d8c03d806336f9e986026f167396114","metafile":{"inputs":{"plugins/oled-theme/src/tracer.js":{"bytes":1596,"imports":[{"path":"@neptune","kind":"import-statement","external":true}],"format":"esm"},"plugins/oled-theme/src/index.js":{"bytes":6694,"imports":[{"path":"plugins/oled-theme/src/tracer.js","kind":"import-statement","original":"./tracer"},{"path":"@neptune","kind":"import-statement","external":true},{"path":"plugins/oled-theme/src/tracer.js","kind":"require-call","original":"./tracer"}],"format":"esm"}},"outputs":{"plugins/oled-theme/dist/index.js":{"imports":[{"path":"@neptune","kind":"import-statement","external":true},{"path":"@neptune","kind":"import-statement","external":true}],"exports":["onUnload"],"entryPoint":"plugins/oled-theme/src/index.js","inputs":{"plugins/oled-theme/src/tracer.js":{"bytesInOutput":693},"plugins/oled-theme/src/index.js":{"bytesInOutput":2798}},"bytes":3961}}}} \ No newline at end of file diff --git a/plugins/plugins/oled-theme/src/index.js b/plugins/plugins/oled-theme/src/index.js index 8e4ff8d..c893f3c 100644 --- a/plugins/plugins/oled-theme/src/index.js +++ b/plugins/plugins/oled-theme/src/index.js @@ -9,10 +9,11 @@ let style; let styleElement; function observeTrackTitle() { - const trackTitleElement = document.querySelector('div[class*="textContainer--"] > a > span'); + const trackTitleElement = document.querySelector('[class^="trackTitleContainer"]'); if (trackTitleElement) { trackTitleElement.addEventListener('DOMSubtreeModified', () => { setTimeout(() => { + // console.log("Track changed: " + trackTitleElement.querySelector("span").innerHTML + "\n") onTrackChanged(); }, 300); }); @@ -99,7 +100,7 @@ const onTrackChanged = function (method = 0) { centerImg.style.filter = 'blur(100px) brightness(0.6) contrast(1.2) saturate(1)'; centerImg.style.animation = 'spin 35s linear infinite'; nowPlayingContainerElement.appendChild(centerImg); - + const centerImg2 = document.createElement('img'); centerImg2.src = albumImageSrc; centerImg2.className = 'corner-image'; @@ -128,13 +129,25 @@ const onTrackChanged = function (method = 0) { document.head.appendChild(styleSheet); } } -} +}; + +// const spinElement = function(elementToSpin) { +// elementToSpin.style.animation = "spin 35s linear infinite"; +// }; + +// const resumeSpinAnimation = function(elementToResume) { +// elementToResume.style.animationPlayState = "running"; +// }; + +// const pauseSpinAnimation = function(elementToPause) { +// elementToPause.style.animationPlayState = "paused"; +// }; const cleanUpDynamicArt = function () { [...document.getElementsByClassName("corner-image")].forEach((element) => { element.remove(); }); -} +}; // const onTrackPaused = function ([track]) { // [...document.getElementsByClassName("corner-image")].forEach((element) => { @@ -150,16 +163,18 @@ const cleanUpDynamicArt = function () { const PLAYBACK_EVENTS = [ "playbackControls/PREFILL_MEDIA_PRODUCT_TRANSITION", "playbackControls/MEDIA_PRODUCT_TRANSITION", - "playbackControls/SEEK", - "playbackControls/SET_PLAYBACK_STATE", - "playbackControls/TIME_UPDATE", - // "playbackControls/" + "playbackControls/PLAY" ]; +observeTrackTitle(); +observeTrackTitle(); +observeTrackTitle(); observeTrackTitle(); -const unsubscribeFunctions = PLAYBACK_EVENTS.map(event => - intercept(event, onTrackChanged) +const unsubscribeFunctions = PLAYBACK_EVENTS.map(event => + intercept(event, () => { + onTrackChanged(1); + }) ); @@ -167,8 +182,8 @@ export function onUnload() { CleanUpCSS(); unsubscribeFunctions.forEach(unsubscribe => unsubscribe()); cleanUpDynamicArt(); - - const trackTitleElement = document.querySelector('div[class*="textContainer--"] > a > span'); + + const trackTitleElement = document.querySelector('div[class^="trackTitleContainer"]'); if (trackTitleElement) { trackTitleElement.removeEventListener('DOMSubtreeModified', onTrackChanged); } diff --git a/themes/black-neptune-theme.css b/themes/black-neptune-theme.css index 4294c92..ba95f5d 100644 --- a/themes/black-neptune-theme.css +++ b/themes/black-neptune-theme.css @@ -157,7 +157,7 @@ [class^="player"] { width: calc(100% - 20px); - bottom: 10px; + bottom: 20px; left: 10px; border: 1px solid rgb(25, 25, 25); border-radius: 4px !important;