From 3cfe810a51e9d6ccf4813c033cb143427880cf6b Mon Sep 17 00:00:00 2001 From: Russell2259 Date: Tue, 2 May 2023 21:23:27 -0600 Subject: [PATCH] save --- static/assets/css/games.css | 66 +++++++++++++++++++++++++++++++++++ static/assets/css/main.css | 26 ++++---------- static/assets/css/nav.css | 32 +++++++++++++++++ static/assets/css/themes.css | 5 +-- static/assets/js/main.js | 55 ++++++++++++++++++++--------- static/game_img.png | Bin 0 -> 22814 bytes static/games.html | 8 ++++- 7 files changed, 153 insertions(+), 39 deletions(-) create mode 100644 static/assets/css/games.css create mode 100644 static/assets/css/nav.css create mode 100644 static/game_img.png diff --git a/static/assets/css/games.css b/static/assets/css/games.css new file mode 100644 index 0000000..68fc456 --- /dev/null +++ b/static/assets/css/games.css @@ -0,0 +1,66 @@ +.games { + width: 100%; + display: flex; + justify-content: center; + flex-wrap: wrap; + padding-bottom: 30px; +} + +.game { + min-width: 200px; + min-height: 200px; + display: block; + border-radius: 15px; + border: 1px solid #ffffff; + cursor: pointer; + transition: .4s; + overflow: hidden; + position: relative; + box-shadow: 0px 0px 10px #00000020; + margin: 10px; +} + +.game:hover { + box-shadow: 0px 0px 20px #00000030; + filter: brightness(95%); + transform: translateY(-2px); + border-color: #ffffff; +} + +.game>img { + width: 100%; + height: 100%; + object-fit: cover; + position: absolute; + left: 0; + top: 0; + object-position: center; +} + +.game:after { + content: ''; + top: 0; + left: 0; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.game>h3 { + position: absolute; + bottom: 25px; + left: 20px; + color: #fff; + font-size: 25px; + z-index: 10; +} + +.game>span { + position: absolute; + bottom: 20px; + left: 20px; + color: #fff; + z-index: 10; + font-size: 15px; +} \ No newline at end of file diff --git a/static/assets/css/main.css b/static/assets/css/main.css index f202589..06a95de 100644 --- a/static/assets/css/main.css +++ b/static/assets/css/main.css @@ -1,5 +1,7 @@ @import url('/assets/css/fonts.css'); @import url('/assets/css/themes.css'); +@import url('/assets/css/games.css'); +@import url('/assets/css/nav.css'); /*Please try to keep this organized*/ @@ -10,25 +12,11 @@ html, body { margin: 0px; + background-color: var(--background-color); + color: var(--text); } -.navbar { - width: calc(100%-margin); - position: sticky; - display: flex; - justify-content: space-between; - margin: 10px; -} - -.navbar>.title>img { - width: 75px; - border-radius: 10px; -} - -.navbar>.title>span { - font-family: 'Lato-Black'; - font-size: 60px; - margin-left: 13px; - position: relative; - bottom: 13px; +a { + color: var(--text); + text-decoration: none; } \ No newline at end of file diff --git a/static/assets/css/nav.css b/static/assets/css/nav.css new file mode 100644 index 0000000..cb42828 --- /dev/null +++ b/static/assets/css/nav.css @@ -0,0 +1,32 @@ +.navbar { + width: calc(100%-margin); + position: sticky; + display: flex; + justify-content: space-between; + margin: 10px; +} + +.navbar>.title>img { + width: 75px; + border-radius: 10px; +} + +.navbar>.title>span { + font-family: 'Lato-Black'; + font-size: 60px; + margin-left: 13px; + position: relative; + bottom: 13px; +} + +.navbar>.end { + display: flex; + justify-content: space-between; +} + +.navbar>.end>a { + margin: 1rem; + padding: 1rem; + background: var(--nav-color); + border-radius: 10px; +} \ No newline at end of file diff --git a/static/assets/css/themes.css b/static/assets/css/themes.css index e2e85a2..d8cde51 100644 --- a/static/assets/css/themes.css +++ b/static/assets/css/themes.css @@ -3,6 +3,7 @@ Here is the theme template. Make sure there is a space between the theme selector and the target. */ -body[data-theme="theme name"] .exampleclass { - content: 'examplecontent'; +body[data-theme='dark'] { + --background-color: #000; + --text: #fff; } \ No newline at end of file diff --git a/static/assets/js/main.js b/static/assets/js/main.js index f338a76..866b220 100644 --- a/static/assets/js/main.js +++ b/static/assets/js/main.js @@ -1,7 +1,4 @@ import Theme from '/assets/js/themes.js'; -/*Please link all javascript files here using import*/ - -console.log(Theme); fetch('/assets/misc/nav.html') .then(res => res.text()) @@ -11,9 +8,13 @@ fetch('/assets/misc/nav.html') alert('Failed to load navbar'); if (confirm('Try again?')) location.reload(); - }) + }); -/*setTimeout(() => { +onbeforeunload = (e) => { + return e; +} + +const registerLinks = () => { document.querySelectorAll('a').forEach(a => { a.onclick = (e) => { if (a.dataset.link !== 'true') { @@ -22,23 +23,43 @@ fetch('/assets/misc/nav.html') if (a.href.startsWith(location.origin)) { if (window.location.href !== a.href) { - fetch(a.href) - .then(res => res.text()) - .then(content => { - setTimeout(() => { - window.history.pushState({}, '', a.href); + const frame = document.createElement('iframe'); + frame.src = a.href; + frame.style = 'display: none'; + document.body.appendChild(frame); - document.documentElement.innerHTML = content; - }, 500); - }).catch(e => { - a.setAttribute('data-link', 'true'); - a.click(); - }); + frame.contentWindow.addEventListener('DOMContentLoaded', () => { + document.body.style.display = 'none'; + + setTimeout(() => { + window.history.pushState({}, '', a.href); + document.documentElement.innerHTML = frame.contentDocument.documentElement.innerHTML; + document.body.style.display = 'none'; + + registerLinks(); + + setTimeout(() => { + document.body.style.display = 'block'; + }, 100); + }, 500); + }); } } else { + alert('buh'); + a.setAttribute('data-link', 'true'); a.click(); } } }); -}, 500)*/ \ No newline at end of file +} + +if (window.self === window.top) { + const load = setInterval(() => { + if (loaded) { + clearInterval(load); + + registerLinks(); + } + }, 100); +} \ No newline at end of file diff --git a/static/game_img.png b/static/game_img.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd64d8978f5e735b86d3d65d0fcc422d1b61aba GIT binary patch literal 22814 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