diff --git a/css/games.css b/css/games.css index 76d59dd..0506a9c 100755 --- a/css/games.css +++ b/css/games.css @@ -78,6 +78,37 @@ body { backdrop-filter: blur(0); } } +warnings { + position: absolute; + top: -20px; + left: -20px; + display: flex; + justify-content: center; + align-items: center; +} +warning { + width: 25px; + height: 25px; + color: var(--text-color); + border-radius: 100%; + display: flex; + justify-content: center; + align-items: center; + margin: 4px; + font-size: 12px; +} +.gore { + background-color: rgb(100, 20, 20); + box-shadow: 0 0 10px rgb(100, 20, 20); +} +.thirteen { + background-color: rgb(0, 0, 0); + box-shadow: 0 0 10px rgb(0, 0, 0); +} +.horror { + background-color: rgb(118, 118, 118); + box-shadow: 0 0 10px rgb(193, 193, 193); +} body[fast] game { background-color: color-mix(in srgb, var(--color-2) 70%, #000000 30%); backdrop-filter: blur(0); diff --git a/css/profile.css b/css/profile.css index 08c1a0c..135af0a 100644 --- a/css/profile.css +++ b/css/profile.css @@ -94,7 +94,7 @@ results { overflow-y: scroll; background-color: color-mix(in srgb, var(--color-3) 50%, #00000000 50%); box-shadow: 0 0 10px var(--color-3); - bottom: 16px; + margin-top: 12px; flex-direction: column; border-radius: 8px; } diff --git a/css/settings.css b/css/settings.css index 0aa2ee1..a24ae80 100644 --- a/css/settings.css +++ b/css/settings.css @@ -1,13 +1,12 @@ section { - width: 30%; - /* height: 400px; */ - height: auto; + min-width: 20%; + height: 400px; padding: 8px; margin: 16px; background-color: color-mix(in srgb, var(--color-2) 40%, #00000000 60%); display: flex; flex-direction: column; - justify-content: center; + /* justify-content: center; */ align-items: center; flex-wrap: wrap; border-radius: 20px; @@ -17,10 +16,11 @@ section { box-shadow: 0 0 10px var(--color-2); } sections { - width: 90vw; - display: flex; - justify-content: center; - align-items: center; + width: 90vw; + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; } #colorPicker { diff --git a/css/sidebar.css b/css/sidebar.css index 4952f20..4ce9918 100755 --- a/css/sidebar.css +++ b/css/sidebar.css @@ -98,4 +98,50 @@ iframe { bottom: 60px; filter: drop-shadow(0 0 0 #fff5); opacity: 0; +} +alert { + border-radius: 4px; + display: flex; + flex-direction: column; + position: absolute; + width: 40%; + justify-content: center; + align-items: center; + padding: 8px; + color: white; + background-color: color-mix(in srgb, #d46c6c 80%, #00000000 20%); + backdrop-filter: blur(2px); + box-shadow: 0 0 10px #d46c6c; + left: 50%; + transform: translateX(-50%); + animation: fadeIn 1s ease-in-out forwards, fadeOut 1s ease-in-out forwards 14s; + cursor: pointer; +} +alert h1 { + font-size: 20px; + margin: 0; +} +alert p { + font-size: 16px; + margin: 0; +} +@keyframes fadeIn { + 0% { + opacity: 0; + top: -50px; + } + 100% { + opacity: 1; + top: 10px; + } +} +@keyframes fadeOut { + 0% { + opacity: 1; + top: 10px; + } + 100% { + opacity: 0; + top: -50px; + } } \ No newline at end of file diff --git a/index.html b/index.html index a0b28b2..00ef551 100755 --- a/index.html +++ b/index.html @@ -109,6 +109,20 @@ function updateTime() { document.getElementById("time").innerText = (new Date()).toLocaleTimeString(); } + function sAlert(title, message) { + let alertHolder = document.createElement("alert"); + let alertTitle = document.createElement("h1"); + alertTitle.innerHTML = title; + let alertMessage = document.createElement("p"); + alertMessage.innerHTML = message; + alertHolder.appendChild(alertTitle); + alertHolder.appendChild(alertMessage); + document.body.appendChild(alertHolder); + alertHolder.addEventListener("click", alertHolder.remove); + setTimeout(() => { + alertHolder.remove(); + }, 1000 * 15) + } document.addEventListener("DOMContentLoaded", async ()=>{ getWeather(); setInterval(getWeather, 1000 * 60 * 30); @@ -154,9 +168,14 @@ } }); socket.addEventListener("message", (e)=>{ - socket.send("1"); if(e.data.split("=")[0] == "online") { + socket.send("1"); document.getElementById("online").innerText = `currently online: ${e.data.split("=")[1]}`; + } else { + if(e.data.startsWith("annc")) { + let message = e.data.split(";;"); + sAlert(message[1], message[2]); + } } }) let currentCloak = {name: "", icon: ""}; diff --git a/js/games.js b/js/games.js index 54e4bff..b23a636 100755 --- a/js/games.js +++ b/js/games.js @@ -1,5 +1,6 @@ document.addEventListener("DOMContentLoaded", loadGames); let elements = []; +let isDev = []; async function loadGames() { // taken from mdn // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort @@ -35,16 +36,37 @@ async function loadGames() { star.id = "star"; star.classList = "star"; star.src = isStarred ? "/img/star-fill.svg" : "/img/star.svg"; + let warnings = document.createElement("warnings"); newElement.appendChild(image); holder.appendChild(title); newElement.appendChild(holder); + newElement.appendChild(warnings); if(element.tags) { + if(element.tags.includes("13+")) { + let thirteenplus = document.createElement("warning"); + thirteenplus.innerText = "13+"; + thirteenplus.classList = "thirteen"; + warnings.appendChild(thirteenplus); + } + if(element.tags.includes("horror")) { + let horror = document.createElement("warning"); + horror.innerText = "π±"; + horror.classList = "horror"; + warnings.appendChild(horror); + } + if(element.tags.includes("gore")) { + let gore = document.createElement("warning"); + gore.innerText = "π©Έ"; + gore.classList = "gore"; + warnings.appendChild(gore); + } if(element.tags.includes("top")) { topGElement.appendChild(newElement); } else { gamesElement.appendChild(newElement); holder.appendChild(star); } + if(element.tags.includes("tofinish")) isDev.push(element.directory); } else { gamesElement.appendChild(newElement); holder.appendChild(star); @@ -63,6 +85,7 @@ async function loadGames() { document.getElementById("loadingMsg").style.display = "none"; document.getElementById("allHeader").style.display = "block"; document.getElementById("topHeader").style.display = "block"; + if(isDev.length > 0) {sAlert("wip games", "dev message, shouldnt be seen");console.log(isDev.join(","))}; starredGames = JSON.parse(localStorage.getItem("selenite.starred") || '[]'); if(starredGames.length > 0) { document.getElementById("starredHeader").style.display = "block"; diff --git a/js/main.js b/js/main.js index dc2cdf6..17095c3 100755 --- a/js/main.js +++ b/js/main.js @@ -1,3 +1,5 @@ +let sAlert = window.parent.sAlert; + function setBackground() { let randomNumbers = [100-Math.abs(Math.floor(Math.random() * 200) - 99), 100-Math.abs(Math.floor(Math.random() * 200) - 99)]; document.body.style.setProperty("--gradient-x", randomNumbers[0] + "%"); diff --git a/quotes.json b/quotes.json index e69de29..c743686 100644 --- a/quotes.json +++ b/quotes.json @@ -0,0 +1,107 @@ +[ + "pay attention during school", + "yall playing games while im making the website ur using", + "Hello!", + "Lorem ipsum dolor sit amet, adipiscing consequat adipiscing sit amet. In tortor dolor, sollicitudin quis urna vitae, rutrum selecrelico dolor. Ut facilisis ornare lacus, ut dictum felis aliquam ut. Omnino interdum fit cum cura. Non est aequum, non solum, sed nec refert quis sit terra. Sed vestibulum a tellus non semper. Aliquam a neque euismod dolor dapibus aliquet ultricies ut nibh. Sed eget auctor ante. Aliquam dictum volutpat vestibulum. Putasti ovum paschale futurum. Nullo modo.", + "join the discord NOW", + "linux is so much better than windows", + "Did you know that oxygen is tasty?", + "Did you know that drinking water is dangerous?", + "π΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈπ΅πΈ", + "chromebooks suck", + "Made 10% from actual code 90% skidded", + "moni", + "uwu", + "uWu", + "OwO", + "UwU", + "Chocolate hummus is a disgrace to the entire middle east.", + "3kh0 has fell, and now 3kh0 has sadly died.", + "Fun fact: Your chromebook is likely being monitored 24/7", + "Activate Selenite, Go to settings to activate Selenite", + "This copy of Selenite is not genuine.", + "contains 100% all-natural beef", + "You may be a victim of software counterfeiting", + "Woe to those who don't use this game site", + "Did you know we are open source?", + "SUPR COL GAMS V2 IS AWESOME!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "thank you to louis pasteur for inventing milk", + "you found the secret message", + "i know where you live", + "i", + "technoblade never dies", + "Selenite has shut down.", + "theres at least 2, maybe 3 games on this website", + "π₯Ίππ", + "what website is this?", + "we love about:blank", + "join the discord to be cool", + "bigfoot is an L", + "check steam", + "selentine", + "geometry dash two point two", + "does anyone call twitter X unironically", + "rights to the trans people π³οΈββ§οΈ (trans rights)", + "happy new years everyone", + "merry christmas everyone", + "happy easter day everyone", + "happy halloween everyone", + "happy thanksgiving everyone", + "happy valentines day everyone", + "happy birthday to me", + "happy birthday to you", + "happy birthday to everyone", + "happy birthday to the website", + "dont look behind you", + "sky", + "penguinify", + "a456pur", + "selenite", + "3kh0", + "selenite is the best", + "selenite is the best website", + "selenite is the best website ever", + "selenite is the best website ever made", + "selenite is the best website ever made in the history of the world", + "selenite is the best website ever made in the history of the world and the universe", + "Your network admin has logged this visit. You will be reported to the authorities.", + "share with your friends", + "i love piracy", + "i love piracy and you should too", + "ai is gonna take over the world", + "serap", + "slenetine", + "Behind you.", + "if you are seeing this message, please ping the owner of selenite in the discord server immediately.", + "sorry in advance for may 18th", + "selenite stole $100k from the pentagon to keep paying for hosting", + "this is your sign to get off games and get a good academic life", + "Josh", + "We skidded from everyone including ourselves.", + "congrats on who got a 53 by using this site", + "ive spent 10 minutes writing 8 quotes gosh i need better things to do", + "selenite workers are immensely underpaid", + "how does one", + "Please add proxy im begging i need proxy", + "seraphite", + "if u self-hosted this then ur cool", + "if you want to install linux, first crack the skid, then restart and you should be set", + "sure just downgrade the about:blank page", + "...that's not how it works. if you want to unenroll the only way to do that is to uninstall the shim", + "sure just hack the crosh shell", + "yeah so you want to playstore bypass the servers, you don't want to remove the servers", + "yeah so you want to crack the proxy, you don't want to hack the goguardian", + "to disable filters, you need to hack the proxy", + "to downgrade, you need to rm -rf the shim", + "π₯Ίππ", + "me when i the me the when the the me the when i the when the me the the the when the", + "ayyy, ay, six sevennnn", + "41 but i got 41 gold", + "HelloWorld(Print)", + "im thinking miku miku uu ee uu", + "i love miku, teto, and the yellow one", + "you only really have 2 choices", + "ts is a tuff ahh site boi", + "mrrp :3", + "mrrreeeooooowww :3" +] \ No newline at end of file diff --git a/settings.html b/settings.html index 05ab0d1..f033357 100755 --- a/settings.html +++ b/settings.html @@ -144,13 +144,39 @@ return theme; } }); + function wipeData() { + if(prompt("Wiping your data means you will lose all progress in every game, and every setting you have selected.\nAre you sure you would like to continue?\n\nType \"please wipe my data\" to continue.") == "please wipe my data") { + localStorage.clear(); + document.cookie.split(";").forEach(e => { + document.cookie = e.split("=")[0] + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT" + }) + } + } + function downloadData() { + // grab localstorage + // grab cookies + // json.stringify + // base64 + alert("not completed"); + } + function uploadData() { + if(prompt("Are you sure you want to upload data?\nThis may overwrite any previous data you had stored.\n\nType \"i am sure\" to continue.") == "i am sure") { + // prompt file upload + // read file + // atob + // set cookies + // set localstorage + alert("not completed"); + } + }
themes
-toggles
not implemented
+ + + +