matrix-by-lmx 1.1.7 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of matrix-by-lmx might be problematic. Click here for more details.
- package/index.svg +5 -3
- package/package.json +1 -1
package/index.svg
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
<section id="games" class="view"><div class="head"><b class="tag">MATRIX / CLOUD ARCADE</b><h1>Pick a game.</h1><p>Live community catalog loaded directly from its public CDN.</p></div><div class="tools"><input id="game-search" placeholder="Search games"/><span id="count" class="count">Loading…</span></div><div id="game-grid" class="grid"></div></section>
|
|
7
7
|
<section id="apps" class="view"><div class="head"><b class="tag">MATRIX / APPS</b><h1>Web apps.</h1></div><div id="apps-grid" class="grid apps"></div></section>
|
|
8
8
|
<section id="tools" class="view"><div class="head"><b class="tag">MATRIX / UTILITIES</b><h1>Useful tools.</h1></div><div class="grid"><div class="panel"><h3>Clock</h3><p id="clock">--:--:--</p></div><div class="panel"><h3>Editable workspace</h3><button id="edit">Enable editing</button></div><div class="panel"><h3>Reset</h3><button id="reset">Return home</button></div></div></section>
|
|
9
|
-
<section id="settings" class="view"><div class="head"><b class="tag">MATRIX / SETTINGS</b><h1>Preferences.</h1></div><div class="panel"><h3>
|
|
9
|
+
<section id="settings" class="view"><div class="head"><b class="tag">MATRIX / SETTINGS</b><h1>Preferences.</h1></div><div class="panel"><h3>Your Matrix proxy</h3><p>Enter the HTTPS address where you deployed this repository's proxy server.</p><input id="proxy-url" placeholder="https://your-matrix-proxy.example"/><button id="save-proxy">Save proxy</button><p id="proxy-status" class="msg"></p><a id="proxy-share" href="#">Copyable link for another computer</a></div><div class="panel"><h3>No Vercel</h3><p>The SVG has no Vercel fallback. Apps, URLs, and searches use only the proxy you configure here.</p></div></section></main></div>
|
|
10
10
|
<div id="player" class="player"><div class="bar"><strong id="pt">Matrix Player</strong><button id="reload">Reload</button><button id="close">Exit</button></div><iframe id="frame" title="Matrix player" allow="fullscreen;autoplay;gamepad"></iframe></div>
|
|
11
11
|
<script><![CDATA[
|
|
12
|
-
(function(){var names={home:"New Tab",games:"Games",apps:"Apps",tools:"Utilities",settings:"Settings"},all=[],blobUrl="",player=document.getElementById("player"),frame=document.getElementById("frame"),proxy="
|
|
12
|
+
(function(){var names={home:"New Tab",games:"Games",apps:"Apps",tools:"Utilities",settings:"Settings"},all=[],blobUrl="",player=document.getElementById("player"),frame=document.getElementById("frame"),proxy="";function show(v){document.querySelectorAll(".view").forEach(function(x){x.classList.toggle("on",x.id===v)});document.querySelectorAll(".nav").forEach(function(x){x.classList.toggle("on",x.dataset.v===v)});document.getElementById("title").textContent=names[v]}document.querySelectorAll("[data-v]").forEach(function(x){x.onclick=function(){show(x.dataset.v)}});document.querySelectorAll("[data-go]").forEach(function(x){x.onclick=function(){show(x.dataset.go)}});function open(t,u){document.getElementById("pt").textContent=t;frame.src=u;player.classList.add("on")}async function openGame(g){document.getElementById("pt").textContent=g.name+" · Loading";player.classList.add("on");try{var url=g.url.replace("{HTML_URL}","https://cdn.jsdelivr.net/gh/bubbls/ugs-singlefile/UGS-Files"),r=await fetch(url),html=await r.text(),base=new URL(".",url).href;html=/<head[\s>]/i.test(html)?html.replace(/<head([^>]*)>/i,"<head$1><base href=\""+base+"\">"):"<base href=\""+base+"\">"+html;if(blobUrl)URL.revokeObjectURL(blobUrl);blobUrl=URL.createObjectURL(new Blob([html],{type:"text/html"}));frame.src=blobUrl;document.getElementById("pt").textContent=g.name}catch(e){document.getElementById("pt").textContent="Could not load "+g.name;frame.src="about:blank"}}document.getElementById("close").onclick=function(){player.classList.remove("on");frame.src="about:blank";if(blobUrl){URL.revokeObjectURL(blobUrl);blobUrl=""}};document.getElementById("reload").onclick=function(){var u=frame.src;frame.src="about:blank";setTimeout(function(){frame.src=u},20)};
|
|
13
13
|
var apps=[["YouTube","yt"],["Twitch","tw"],["ChatGPT","ai"],["Discord","dc"],["Instagram","ig"],["TikTok","tk"],["GitHub","gh"]],ag=document.getElementById("apps-grid");apps.forEach(function(a){var b=document.createElement("button");b.className="card";b.innerHTML="<small>PROXIED WEB APP</small><strong>"+a[0]+"</strong><span>Open through Matrix proxy ↗</span>";b.onclick=function(){open(a[0],proxy+"/browse?a="+a[1])};ag.appendChild(b)});
|
|
14
14
|
function render(){var q=document.getElementById("game-search").value.toLowerCase(),list=all.filter(function(g){return g.name.toLowerCase().includes(q)}).slice(0,160),grid=document.getElementById("game-grid");grid.innerHTML="";list.forEach(function(g){var b=document.createElement("button");b.className="card";b.innerHTML="<small>COMMUNITY / HTML5</small><strong></strong><span>Launch inside Matrix ↗</span>";b.querySelector("strong").textContent=g.name;b.onclick=function(){openGame(g)};grid.appendChild(b)});document.getElementById("count").textContent=list.length+" shown / "+all.length}fetch("https://cdn.jsdelivr.net/gh/TongSherbet/storage/ugs.json").then(function(r){return r.json()}).then(function(d){all=d.filter(function(g){return g.name&&g.url});render()}).catch(function(){document.getElementById("count").textContent="Catalog unavailable"});document.getElementById("game-search").oninput=render;setInterval(function(){document.getElementById("clock").textContent=new Date().toLocaleTimeString()},1000);document.getElementById("edit").onclick=function(){var b=document.querySelector("foreignObject body");b.contentEditable=b.contentEditable==="true"?"false":"true"};document.getElementById("reset").onclick=function(){show("home")};
|
|
15
15
|
document.getElementById("search").onsubmit=function(e){e.preventDefault();var q=document.getElementById("q").value.trim();if(!q)return;var isUrl=/^(https?:\/\/|localhost(?::\d+)?(?:\/|$)|(?:[a-z0-9-]+\.)+[a-z]{2,}(?:[\/:?#]|$))/i.test(q),target;if(isUrl){target=/^https?:\/\//i.test(q)?q:"https://"+q;document.getElementById("msg").textContent="Opening URL inside Matrix…"}else{target="https://www.bing.com/search?q="+encodeURIComponent(q);document.getElementById("msg").textContent="Searching inside Matrix…"}open(isUrl?q:"Search: "+q,proxy+"/browse?url="+encodeURIComponent(target))};
|
|
16
|
-
var
|
|
16
|
+
var proxyQuery=new URLSearchParams(location.search).get("proxy")||"",savedProxy="";try{savedProxy=localStorage.getItem("matrixProxy")||""}catch(e){}proxy=(proxyQuery||savedProxy).replace(/\/+$/g,"");function validProxy(u){try{return new URL(u).protocol==="https:"}catch(e){return false}}function needProxy(){if(validProxy(proxy))return true;document.getElementById("msg").textContent="Set your Matrix proxy in Settings first.";show("settings");return false}var proxyInput=document.getElementById("proxy-url"),proxyStatus=document.getElementById("proxy-status"),proxyShare=document.getElementById("proxy-share");proxyInput.value=proxy;function updateProxyUi(){proxyStatus.textContent=validProxy(proxy)?"Connected to your configured proxy.":"No proxy configured. Apps and web search are disabled.";proxyShare.href=validProxy(proxy)?location.href.split("?")[0]+"?proxy="+encodeURIComponent(proxy):"#";proxyShare.style.display=validProxy(proxy)?"inline":"none"}document.getElementById("save-proxy").onclick=function(){var value=proxyInput.value.trim().replace(/\/+$/g,"");if(!validProxy(value)){proxyStatus.textContent="Enter a valid HTTPS proxy address.";return}proxy=value;try{localStorage.setItem("matrixProxy",proxy)}catch(e){}updateProxyUi()};Array.prototype.forEach.call(ag.children,function(b,i){b.onclick=function(){if(needProxy())open(apps[i][0],proxy+"/browse?a="+apps[i][1])}});updateProxyUi();
|
|
17
|
+
document.getElementById("search").onsubmit=function(e){e.preventDefault();var q=document.getElementById("q").value.trim();if(!q||!needProxy())return;var isUrl=/^(https?:\/\/|localhost(?::\d+)?(?:\/|$)|(?:[a-z0-9-]+\.)+[a-z]{2,}(?:[\/:?#]|$))/i.test(q),target;if(isUrl){target=/^https?:\/\//i.test(q)?q:"https://"+q;document.getElementById("msg").textContent="Opening URL through your proxy…"}else{target="https://www.bing.com/search?q="+encodeURIComponent(q);document.getElementById("msg").textContent="Searching through your proxy…"}open(isUrl?q:"Search: "+q,proxy+"/browse?url="+encodeURIComponent(target))};
|
|
18
|
+
var fx=document.createElement("style");fx.textContent=".shell,.main{min-height:0}.main{overflow:hidden}.view{min-height:0;overscroll-behavior:contain;scrollbar-color:#53a9ff #0a1320;scrollbar-width:thin;padding-bottom:90px;background:linear-gradient(120deg,#06101ed9,#071222a8),url('background.gif') center/cover fixed}.view::-webkit-scrollbar{width:10px}.view::-webkit-scrollbar-track{background:#0a1320}.view::-webkit-scrollbar-thumb{border:2px solid #0a1320;border-radius:10px;background:linear-gradient(#63bcff,#765cff)}.view.on{animation:viewIn .42s cubic-bezier(.2,.8,.2,1)}body:before,body:after{content:'';position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(80px);opacity:.18;animation:drift 9s ease-in-out infinite alternate}body:before{width:420px;height:420px;left:12%;top:-180px;background:#168cff}body:after{width:360px;height:360px;right:-100px;bottom:-140px;background:#874cff;animation-delay:-4s}.side{background:#081221e8;backdrop-filter:blur(18px)}.side,.main{position:relative;z-index:1}.brand b{box-shadow:0 0 25px #4a9dff66;animation:logoPulse 2.6s ease-in-out infinite}.top{background:#07111ddd;backdrop-filter:blur(16px);box-shadow:0 8px 35px #0005}.nav{transition:transform .2s,color .2s,background .2s,box-shadow .2s}.nav:hover{transform:translateX(5px);box-shadow:inset 3px 0 #65b8ff}.hero h1,.head h1{background:linear-gradient(110deg,#fff 15%,#78bdff 48%,#b08cff 70%,#fff 88%);background-size:220% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:shine 5s linear infinite}.hero em{color:transparent}.search{background:#07111dcc;backdrop-filter:blur(12px);box-shadow:0 18px 70px #168cff20,0 0 0 1px #6abaff18;transition:transform .25s,box-shadow .25s}.search:focus-within{transform:translateY(-3px);box-shadow:0 22px 80px #168cff3d,0 0 0 1px #72c3ff}.search button,.quick button,.bar button{transition:transform .18s,filter .18s,box-shadow .18s}.search button:hover,.quick button:hover,.bar button:hover{transform:translateY(-2px);filter:brightness(1.18);box-shadow:0 8px 28px #4aa7ff42}.card{position:relative;overflow:hidden;transform:translateY(0);transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;background:linear-gradient(145deg,#101d30e8,#0b1421dc);backdrop-filter:blur(12px)}.card:before{content:'';position:absolute;inset:-100% 45%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff16,transparent);transition:transform .55s}.card:hover{transform:translateY(-6px) scale(1.015);border-color:#70bdff;box-shadow:0 18px 45px #0008,0 0 30px #318fff24;background:linear-gradient(145deg,#152944ed,#101a2ce8)}.card:hover:before{transform:translateX(320%) rotate(25deg)}.card strong{font-size:16px}.tag{animation:tagPulse 2s ease-in-out infinite}.panel input{width:min(540px,100%);margin:8px 8px 8px 0;padding:12px;border:1px solid #35547d;border-radius:6px;color:#fff;background:#07111dcc}.panel button{padding:12px 18px;border:1px solid #4c8dd0;border-radius:6px;color:#fff;background:#173a61;cursor:pointer}.panel a{color:#78bdff}.player{animation:viewIn .3s ease}.spinner{filter:drop-shadow(0 0 8px #69baff)}@keyframes viewIn{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}@keyframes shine{to{background-position:220% center}}@keyframes logoPulse{50%{transform:scale(1.06);box-shadow:0 0 38px #4a9dffaa}}@keyframes tagPulse{50%{opacity:.58;text-shadow:0 0 16px #7abbff}}@keyframes drift{to{transform:translate(90px,80px) scale(1.18)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}";document.head.appendChild(fx);
|
|
17
19
|
})();]]></script></body></html></foreignObject></svg>
|