lotta stuff idr

This commit is contained in:
first@lynx.com
2026-07-01 18:17:02 -04:00
parent 9f4f3e7a5b
commit ddab5ca728

View File

@ -1,6 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<head>
<!-- initialize theme vars <!-- initialize theme vars
https://coolors.co/10002b-240046-3c096c-5a189a-7b2cbf-9d4edd-c77dff-e0aaff --> https://coolors.co/10002b-240046-3c096c-5a189a-7b2cbf-9d4edd-c77dff-e0aaff -->
@ -9,14 +10,12 @@
<meta name="googlebot" content="index, follow, snippet" /> <meta name="googlebot" content="index, follow, snippet" />
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="Study math for free - Mathplanet"/> <meta property="og:title" content="Study math for free - Mathplanet" />
<meta <meta property="og:description"
property="og:description" content="Math planet is a free, accessible platform for learning mathematics. We offer high school math courses in Pre-algebra, Algebra 1, Algebra 2 and Geometry." />
content="Math planet is a free, accessible platform for learning mathematics. We offer high school math courses in Pre-algebra, Algebra 1, Algebra 2 and Geometry." <meta property="og:url" content="https://mathplanet.com" />
/> <meta property="og:type" content="website" />
<meta property="og:url" content="https://mathplanet.com"/> <meta property="og:site_name" content="Mathplanet" />
<meta property="og:type" content="website"/>
<meta property="og:site_name" content="Mathplanet"/>
<!-- initialize my stuff --> <!-- initialize my stuff -->
<script src="/js/all.min.js" async></script> <script src="/js/all.min.js" async></script>
@ -28,7 +27,7 @@
<!-- seo + other things --> <!-- seo + other things -->
<title>Study math for free - Mathplanet</title> <title>Study math for free - Mathplanet</title>
<link rel="icon" href="https://www.mathplanet.com/Media/0lvdlupa/mathplanet_favicon.png" id="favicon" /> <link rel="icon" href="https://www.mathplanet.com/Media/0lvdlupa/mathplanet_favicon.png" id="favicon" />
<!-- <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3415518411898563" crossorigin="anonymous"></script> --> <!-- <script async src="<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3045051195337951" crossorigin="anonymous"></script>" crossorigin="anonymous"></script> -->
<script> <script>
window.addEventListener('beforeunload', function (event) { window.addEventListener('beforeunload', function (event) {
event.preventDefault(); event.preventDefault();
@ -45,12 +44,12 @@
} }
} }
}); });
socket.addEventListener("message", (e)=>{ socket.addEventListener("message", (e) => {
if(e.data.split("=")[0] == "online") { if (e.data.split("=")[0] == "online") {
socket.send("1"); socket.send("1");
document.getElementById("online").innerText = `currently online: ${e.data.split("=")[1]}`; document.getElementById("online").innerText = `currently online: ${e.data.split("=")[1]}`;
} else { } else {
if(e.data.startsWith("annc")) { if (e.data.startsWith("annc")) {
let message = e.data.split(";;"); let message = e.data.split(";;");
sAlert(message[1], message[2]); sAlert(message[1], message[2]);
} }
@ -63,7 +62,7 @@
}) })
} }
let currentPanic = {key: "", url: ""}; let currentPanic = { key: "", url: "" };
const weatherCodeToEmoji = { const weatherCodeToEmoji = {
0: '☀️', 0: '☀️',
@ -159,12 +158,12 @@
} }
function showNextScreen() { function showNextScreen() {
index++; index++;
if(index == screens.length) {finish();return;}; if (index == screens.length) { finish(); return; };
screens[index-1].style.transform = "translateY(-100%)"; screens[index - 1].style.transform = "translateY(-100%)";
screens[index].style.transform = "translateY(0%)"; screens[index].style.transform = "translateY(0%)";
screens[index].querySelector("#nextPage").addEventListener("click", showNextScreen); screens[index].querySelector("#nextPage").addEventListener("click", showNextScreen);
} }
if(document.cookie.includes("selenite.welcomeFinished")) hideAll(); if (document.cookie.includes("selenite.welcomeFinished")) hideAll();
welcome.style.display = "block"; welcome.style.display = "block";
welcome.style.opacity = "1"; welcome.style.opacity = "1";
@ -172,35 +171,35 @@
screens[0].querySelector("#nextPage").addEventListener("click", showNextScreen); screens[0].querySelector("#nextPage").addEventListener("click", showNextScreen);
screens[0].querySelector("#skip").addEventListener("click", finish); screens[0].querySelector("#skip").addEventListener("click", finish);
} }
document.addEventListener("DOMContentLoaded", async ()=>{ document.addEventListener("DOMContentLoaded", async () => {
connectToSocket(); connectToSocket();
getWeather(); getWeather();
setInterval(getWeather, 1000 * 60 * 30); setInterval(getWeather, 1000 * 60 * 30);
setInterval(updateTime, 1000 / 2); setInterval(updateTime, 1000 / 2);
let hash = location.hash.substring(1); let hash = location.hash.substring(1);
if(hash) { if (hash) {
// location.hash = ""; // location.hash = "";
if(hash.startsWith("/u/")) { if (hash.startsWith("/u/")) {
document.getElementById("iframe").src = hash; document.getElementById("iframe").src = hash;
} else if(hash.startsWith("/g/")) { } else if (hash.startsWith("/g/")) {
document.querySelector("loading-game").style.display = "flex"; document.querySelector("loading-game").style.display = "flex";
await fetch("/resources/games.json") await fetch("/resources/games.json")
.then(data => data.json()) .then(data => data.json())
.then(data => { .then(data => {
data.forEach(el => { data.forEach(el => {
if(el.directory == hash.substring(3)) { if (el.directory == hash.substring(3)) {
document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g` document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g`
} }
}) })
}) })
document.querySelector("loading-game").style.display = "none"; document.querySelector("loading-game").style.display = "none";
} else if(hash.startsWith("/a/")) { } else if (hash.startsWith("/a/")) {
document.querySelector("loading-game").style.display = "flex"; document.querySelector("loading-game").style.display = "flex";
await fetch("/resources/apps.json") await fetch("/resources/apps.json")
.then(data => data.json()) .then(data => data.json())
.then(data => { .then(data => {
data.forEach(el => { data.forEach(el => {
if(el.directory == hash.substring(3)) { if (el.directory == hash.substring(3)) {
document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g` document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g`
} }
}) })
@ -212,33 +211,33 @@
} else { } else {
welcomeScreen(); welcomeScreen();
} }
let currentCloak = {name: "", icon: ""}; let currentCloak = { name: "", icon: "" };
setInterval(()=>{ setInterval(() => {
if(localStorage.getItem("selenite.tab-cloak")) { if (localStorage.getItem("selenite.tab-cloak")) {
let cloak = JSON.parse(localStorage.getItem("selenite.tab-cloak")); let cloak = JSON.parse(localStorage.getItem("selenite.tab-cloak"));
if((cloak.name != currentCloak.name) || (cloak.icon != currentCloak.icon)) { if ((cloak.name != currentCloak.name) || (cloak.icon != currentCloak.icon)) {
document.title = cloak.name.length > 0 ? cloak.name : "Selenite" document.title = cloak.name.length > 0 ? cloak.name : "Selenite"
document.getElementById("favicon").href = cloak.icon.length > 0 ? "https://s2.googleusercontent.com/s2/favicons?domain_url=" + cloak.icon : "favicon.ico" document.getElementById("favicon").href = cloak.icon.length > 0 ? "https://s2.googleusercontent.com/s2/favicons?domain_url=" + cloak.icon : "favicon.ico"
currentCloak = cloak; currentCloak = cloak;
} }
}; };
if(localStorage.getItem("selenite.panic-mode")) { if (localStorage.getItem("selenite.panic-mode")) {
let panic = JSON.parse(localStorage.getItem("selenite.panic-mode")); let panic = JSON.parse(localStorage.getItem("selenite.panic-mode"));
if((panic.key != currentPanic.key) || (panic.url != currentPanic.url)) { if ((panic.key != currentPanic.key) || (panic.url != currentPanic.url)) {
currentPanic = panic; currentPanic = panic;
} }
} }
}, 500); }, 500);
document.addEventListener("keydown", (e) => { document.addEventListener("keydown", (e) => {
if(currentPanic.key.length > 0 && currentPanic.url.length > 0) { if (currentPanic.key.length > 0 && currentPanic.url.length > 0) {
if(e.key = currentPanic.key) { if (e.key = currentPanic.key) {
location.href = currentPanic.url; location.href = currentPanic.url;
} }
} }
}) })
document.getElementById("iframe").contentWindow.document.addEventListener("keydown", (e) => { document.getElementById("iframe").contentWindow.document.addEventListener("keydown", (e) => {
if(currentPanic.key.length > 0 && currentPanic.url.length > 0) { if (currentPanic.key.length > 0 && currentPanic.url.length > 0) {
if(e.key = currentPanic.key) { if (e.key = currentPanic.key) {
location.href = currentPanic.url; location.href = currentPanic.url;
} }
} }
@ -249,15 +248,15 @@
}) })
}); });
document.querySelectorAll(".sidebar-item").forEach((item) => { document.querySelectorAll(".sidebar-item").forEach((item) => {
if(item.childNodes[0].target) { if (item.childNodes[0].target) {
item.childNodes[0].addEventListener("click", (e)=>{ item.childNodes[0].addEventListener("click", (e) => {
e.preventDefault(); e.preventDefault();
document.getElementById("iframe").src = item.childNodes[0].target; document.getElementById("iframe").src = item.childNodes[0].target;
document.querySelectorAll(".sidebar-item").forEach(i => i.classList.remove("active")); document.querySelectorAll(".sidebar-item").forEach(i => i.classList.remove("active"));
item.classList.add("active"); item.classList.add("active");
}) })
} else if(item.childNodes[0].id == "openblank") { } else if (item.childNodes[0].id == "openblank") {
item.childNodes[0].addEventListener("click", (e)=>{ item.childNodes[0].addEventListener("click", (e) => {
e.preventDefault(); e.preventDefault();
win = window.open(); win = window.open();
win.document.body.style.margin = "0"; win.document.body.style.margin = "0";
@ -267,26 +266,33 @@
location.href = "https://google.com"; location.href = "https://google.com";
window.close(); window.close();
}) })
} else if(item.childNodes[0].id == "fullscreen") { } else if (item.childNodes[0].id == "fullscreen") {
item.childNodes[0].addEventListener("click", (e)=>{ item.childNodes[0].addEventListener("click", (e) => {
document.getElementById("iframe").requestFullscreen(); document.getElementById("iframe").requestFullscreen();
}) })
} }
}) })
document.getElementById("open-bottom-menu").addEventListener("click", ()=>{ document.getElementById("open-bottom-menu").addEventListener("click", () => {
document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true")); document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true"));
document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true")); document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true"));
}); });
document.getElementById("bottom-menu").addEventListener("click", ()=>{ document.getElementById("bottom-menu").addEventListener("click", () => {
document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true")); document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true"));
document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true")); document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true"));
}); });
}) })
</script> </script>
</head> </head>
<mobile-warning><h1 class="title">your device is not supported!</h1><p>please rotate your screen for the best experience.</p></mobile-warning> <mobile-warning>
<loading-game><h1 class="title">we are loading your game!</h1><p>please allow us to fetch the data first, this should only take a second.</p></loading-game> <h1 class="title">your device is not supported!</h1>
<body> <p>please rotate your screen for the best experience.</p>
</mobile-warning>
<loading-game>
<h1 class="title">we are loading your game!</h1>
<p>please allow us to fetch the data first, this should only take a second.</p>
</loading-game>
<body>
<welcome> <welcome>
<section id="zero" style="transform: translateY(100%);"> <section id="zero" style="transform: translateY(100%);">
<h1>welcome to selenite!</h1> <h1>welcome to selenite!</h1>
@ -320,24 +326,52 @@
<!-- to do <!-- to do
add colors --> add colors -->
<sidebar> <sidebar>
<div class="sidebar-item"><a href="#" target="/home"><img src="/img/home.svg" /></a><div class="sidebar-item-descriptor">home</div></div> <!-- home --> <div class="sidebar-item"><a href="#" target="/home"><img src="/img/home.svg" /></a>
<div class="sidebar-item"><a href="#" target="/projects"><img src="/img/games.svg" /></a><div class="sidebar-item-descriptor">games</div></div> <!-- games --> <div class="sidebar-item-descriptor">home</div>
<div class="sidebar-item"><a href="#" target="/apps"><img src="/img/apps.svg" /></a><div class="sidebar-item-descriptor">apps</div></div> <!-- apps --> </div> <!-- home -->
<div class="sidebar-item"><a href="#" target="/bookmarklets"><img src="/img/bookmarklets.svg" /></a><div class="sidebar-item-descriptor">bookmarklets</div></div> <!-- reload --> <div class="sidebar-item"><a href="#" target="/projects"><img src="/img/games.svg" /></a>
<div class="sidebar-item"><a href="#" id="openblank"><img src="/img/open.svg" /></a><div class="sidebar-item-descriptor">open blank</div></div> <!-- open blank --> <div class="sidebar-item-descriptor">games</div>
<div class="sidebar-item"><a href="#" id="fullscreen"><img src="/img/fullscreen.svg" /></a><div class="sidebar-item-descriptor">fullscreen</div></div> <!-- open blank --> </div> <!-- games -->
<div class="sidebar-item"><a href="#" target="/apps"><img src="/img/apps.svg" /></a>
<div class="sidebar-item-descriptor">apps</div>
</div> <!-- apps -->
<div class="sidebar-item"><a href="#" target="/bookmarklets"><img src="/img/bookmarklets.svg" /></a>
<div class="sidebar-item-descriptor">bookmarklets</div>
</div> <!-- reload -->
<div class="sidebar-item"><a href="#" id="openblank"><img src="/img/open.svg" /></a>
<div class="sidebar-item-descriptor">open blank</div>
</div> <!-- open blank -->
<div class="sidebar-item"><a href="#" id="fullscreen"><img src="/img/fullscreen.svg" /></a>
<div class="sidebar-item-descriptor">fullscreen</div>
</div> <!-- open blank -->
<div class="sidebar-divider"></div> <div class="sidebar-divider"></div>
<div class="sidebar-item"><a href="#" target="/u/"><img src="/img/user.svg" /></a><div class="sidebar-item-descriptor">user profile</div></div> <!-- user --> <div class="sidebar-item"><a href="#" target="/u/"><img src="/img/user.svg" /></a>
<div class="sidebar-item"><a href="#" target="/settings"><img src="/img/settings.svg" /></a><div class="sidebar-item-descriptor">settings</div></div> <!-- settings --> <div class="sidebar-item-descriptor">user profile</div>
<div class="sidebar-item"><a href="#" target="/info"><img src="/img/info.svg" /></a><div class="sidebar-item-descriptor">information</div></div> <!-- info --> </div> <!-- user -->
<div class="sidebar-item"><a href="#" target="/settings"><img src="/img/settings.svg" /></a>
<div class="sidebar-item-descriptor">settings</div>
</div> <!-- settings -->
<div class="sidebar-item"><a href="#" target="/info"><img src="/img/info.svg" /></a>
<div class="sidebar-item-descriptor">information</div>
</div> <!-- info -->
</sidebar> </sidebar>
<div id="open-bottom-menu"></div> <div id="open-bottom-menu"></div>
<div id="bottom-menu"> <div id="bottom-menu">
<div class="bottom-item"><p id="online">currently online: --</p></div> <div class="bottom-item">
<div class="bottom-item"><p>|</p></div> <p id="online">currently online: --</p>
<div class="bottom-item"><p id="weather">--°F 🌩️</p></div> </div>
<div class="bottom-item"><p>|</p></div> <div class="bottom-item">
<div class="bottom-item"><p id="time">7:41:21 pm</p></div> <p>|</p>
</div>
<div class="bottom-item">
<p id="weather">--°F 🌩️</p>
</div>
<div class="bottom-item">
<p>|</p>
</div>
<div class="bottom-item">
<p id="time">7:41:21 pm</p>
</div>
</div> </div>
<div style="display:none"> <div style="display:none">
<h1 id="edu-title">Johnson Education</h1> <h1 id="edu-title">Johnson Education</h1>
@ -345,27 +379,40 @@
<p id="edu-text">Educational Resources for Students</p> <p id="edu-text">Educational Resources for Students</p>
<p id="edu-text">Science Textbooks</p> <p id="edu-text">Science Textbooks</p>
<h1>Educational Resources and Online Learning Platform</h1> <h1>Educational Resources and Online Learning Platform</h1>
<p>Comprehensive education platform for students, teachers, and lifelong learners. Access online courses, study materials, exam preparation resources, and interactive learning tools.</p> <p>Comprehensive education platform for students, teachers, and lifelong learners. Access online courses, study
materials, exam preparation resources, and interactive learning tools.</p>
<section> <section>
<h2>Academic Subjects</h2> <h2>Academic Subjects</h2>
<p>Mathematics, Science, English, History, Literature, Writing, Reading, Social Studies, Geography, Biology, Chemistry, Physics, Algebra, Geometry, Calculus, Statistics, Computer Science, Programming, Foreign Languages, Art, Music</p> <p>Mathematics, Science, English, History, Literature, Writing, Reading, Social Studies, Geography, Biology,
Chemistry, Physics, Algebra, Geometry, Calculus, Statistics, Computer Science, Programming, Foreign
Languages, Art, Music</p>
</section> </section>
<section> <section>
<h2>Educational Services</h2> <h2>Educational Services</h2>
<p>Online courses, college credit, exam preparation, test prep, tutoring, homework help, study guides, practice tests, educational videos, interactive lessons, learning resources, curriculum development, academic support, student success, teacher resources, educational technology, e-learning, distance education, virtual classroom, online tutoring, academic coaching</p> <p>Online courses, college credit, exam preparation, test prep, tutoring, homework help, study guides,
practice tests, educational videos, interactive lessons, learning resources, curriculum development,
academic support, student success, teacher resources, educational technology, e-learning, distance
education, virtual classroom, online tutoring, academic coaching</p>
</section> </section>
<section> <section>
<h2>Student Levels</h2> <h2>Student Levels</h2>
<p>K-12 education, elementary school, middle school, high school, college, university, graduate school, continuing education, adult learning, professional development, certification programs, degree programs, homeschool education</p> <p>K-12 education, elementary school, middle school, high school, college, university, graduate school,
continuing education, adult learning, professional development, certification programs, degree programs,
homeschool education</p>
</section> </section>
<section> <section>
<h2>Test Preparation</h2> <h2>Test Preparation</h2>
<p>SAT prep, ACT prep, GRE prep, GMAT prep, LSAT prep, MCAT prep, AP courses, Advanced Placement, standardized tests, college entrance exams, professional certification exams, state assessments, final exams, midterms</p> <p>SAT prep, ACT prep, GRE prep, GMAT prep, LSAT prep, MCAT prep, AP courses, Advanced Placement,
standardized tests, college entrance exams, professional certification exams, state assessments, final
exams, midterms</p>
</section> </section>
<section> <section>
<h3>Learning Methods</h3> <h3>Learning Methods</h3>
<p>Interactive learning, video lessons, practice quizzes, flashcards, study notes, educational games, adaptive learning, personalized education, self-paced learning, collaborative learning, project-based learning, STEM education, critical thinking, problem solving</p> <p>Interactive learning, video lessons, practice quizzes, flashcards, study notes, educational games,
adaptive learning, personalized education, self-paced learning, collaborative learning, project-based
learning, STEM education, critical thinking, problem solving</p>
</section> </section>
</div> </div>
</body> </body>
</html> </html>