diff --git a/about.html b/about.html deleted file mode 100644 index 3a99234..0000000 --- a/about.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - YarGo | About - - - - - -
-
-

Основные лица

- -
-
- - - - - - - - - \ No newline at end of file diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..0221c1d --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,10 @@ +{ + "files": { + "main.js": "/static/js/main.eeee09d6.js", + "index.html": "/index.html", + "main.eeee09d6.js.map": "/static/js/main.eeee09d6.js.map" + }, + "entrypoints": [ + "static/js/main.eeee09d6.js" + ] +} \ No newline at end of file diff --git a/assets/css/main.css b/assets/css/main.css deleted file mode 100644 index 650f9fc..0000000 --- a/assets/css/main.css +++ /dev/null @@ -1,875 +0,0 @@ -* { - padding: 0; - margin: 0; - user-select: none; - font-family: Arial, Helvetica, sans-serif; - color: #ffffff; -} - -li { - list-style: none; -} - -body { - background-color: #121013; - overflow: auto; -} - -body::-webkit-scrollbar { - display: none; -} - -input:focus { - outline: none; -} - -input { - border: none; -} - -.border-bottom { - border-bottom: 2px solid #202020; -} - -.main-container { - max-width: 1100px; - padding-left: 20px; - padding-right: 20px; - margin: 0 auto; -} - -.container-900px { - max-width: 900px; - padding-left: 20px; - padding-right: 20px; - margin: 0 auto; - position: relative; -} - -button { - border: none; -} - -button:focus { - border: none; -} - -.hidden { - display: none; - position: absolute; - top: -900px; - opacity: 0; - visibility: hidden; -} - -.fixed { - position: fixed; - top: -100vh; - left: 0; - width: 100%; -} - -header { - position: fixed; - width: 100%; - top: 0; - left: 0; - z-index: 30; -} - -header::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: #0e0e0e; -} - -.header-body { - display: flex; - justify-content: space-between; - height: 60px; - align-items: center; - position: relative; -} - -.header-logo { - max-width: 300px; - height: 45px; - z-index: 3; - overflow: hidden; - align-items: center; -} - -.header-logo a { - display: flex; - text-decoration: none; - align-items: center; - font-size: 18px; -} - -.header-logo a h4 { - position: relative; -} - -.header-logo a h4::after { - content: ""; - display: block; - position: absolute; - left: 0; - width: 0; - height: 1.5px; - background-color: #ffffff; - transition: width 0.3s ease-out; -} - -.header-logo a h4:hover:after, -.header-logo a h4:focus:after { - width: 100%; -} - -.header-logo a img { - width: 45px; - margin-right: 15px; - border-radius: 7px; -} - -.hamburger { - display: none; -} - -.header-list { - display: flex; - align-items: center; -} - -.header-list li:not(:last-child) { - margin-right: 30px; -} - -.header-list li a { - text-decoration: none; - font-size: 18px; - position: relative; -} - -.header-list li a:after { - display: block; - position: absolute; - left: 0; - width: 0; - height: 1.5px; - background-color: #ffffff; - content: ""; - transition: width 0.3s ease-out; -} - -.header-list li a:hover:after, .header-list li a:focus:after { - width: 100%; -} - -.header-list li hr { - display: none; -} - -.header-log { - cursor: pointer; -} - -.header-log p { - background-color: #7049ff; - padding: 10px; - border-radius: 7px; - max-width: 100px; - text-align: center; - transition: .5s; -} - -.header-log p:hover { - background-color: #5a3bca; - transition: .5s; -} - -.dl { - margin: 0 auto; - padding-left: 20px; - padding-right: 20px; - max-width: 900px; - margin-top: 140px; - margin-bottom: 100px; -} - -.dl-item { - background-color: #0e0e0e; - border: #202020 1px solid; - opacity: 95%; - border-radius: 7px; - padding: 20px; - display: flex; - align-items: center; - font-size: 18px; - margin-bottom: 30px; - position: relative; - cursor: pointer; - box-shadow: 0 0 1rem #000000; - transition: .5s; -} - -.dl-item:hover { - transform: scale(102%); - transition: .5s; -} - -.dl-item p { - color: #cccccc; -} - -.dl-item img { - width: 160px; - height: 90px; - margin-right: 30px; -} - -.dl-points { - position: absolute; - bottom: 10px; - right: 10px; -} - -.blog-body { - margin-top: 120px; - display: flex; -} - -.blog-headers { - margin-right: 30px; -} - -.blogHeaderOfHeader { - margin-bottom: 20px; -} - -.blog-headers-list { - width: 200px; - overflow-y: scroll; - max-height: 75vh; -} - -.blog-headers-list::-webkit-scrollbar { - display: none; -} - -.blog-headers { - display: flex; - flex-direction: column; -} - -.blog-headers-item a { - display: block; - padding: 10px; - text-decoration: none; - border-left: 2px solid #393239; - cursor: pointer; - transition: .3s; -} - -.blog-headers-item a:hover { - border-color: #7049ff; - transition: .3s; -} - -.blog-content { - max-height: auto; - overflow-y: scroll; -} - -.blog-content::-webkit-scrollbar { - display: none; -} - -.blog-content p { - color: #c2c2c2; -} - -.blog-content p:not(:last-child) { - margin-bottom: 10px; -} - -.blog-post { - margin-bottom: 60px; -} - -footer { - margin-top: 80px; - padding: 20px; - background-color: #0e0e0e; - border-top: 1px solid #202020; - min-height: 200px; -} - -.footer-body { - display: flex; - justify-content: space-between; -} - -.footer-columns { - display: flex; -} - -.footer-column { - margin-right: 30px; -} - -.footer-column a { - text-decoration: none; - color: #a1a1a1; - transition: .5s; -} - -.footer-column a:hover { - text-decoration: underline; - color: #ffffff; - transition: .5s; -} - -.home-prev { - padding-top: 180px; - display: flex; - justify-content: space-between; - padding-bottom: 200px; - position: relative; - align-items: center; -} - -.home-prev-text p { - max-width: 400px; - color: #c2c2c2; -} - -.home-prev-img { - width: 550px; - height: 350px; - margin-left: 90px; -} - -.home-prev-img img { - max-width: 100%; - max-height: 100%; - border-radius: 7px; - box-shadow: 0 0 1rem #000000; -} - -.dwnl-btn { - background-color: #7049ff; - padding: 10px; - text-align: center; - border-radius: 7px; - margin-top: 60px; - cursor: pointer; - width: 200px; - transition: .3s; -} - -.dwnl-btn:hover { - background-color: #5a3bca; - transition: .3s; -} - -.page-splitter { - border: none; - border: 1px solid #202020; -} - -.advantages-section { - margin-top: 100px; - margin-bottom: 200px; -} - -.advantages { - margin: 0 auto; - padding-left: 20px; - padding-right: 20px; - max-width: 900px; - display: flex; - justify-content: center; -} - -.advantages-header { - text-align: center; - margin-bottom: 100px; -} - -.advantages li { - margin-left: 10px; - margin-right: 10px; - padding: 20px; - border-radius: 7px; - border: 1px solid #342e35; - width: 300px; - position: relative; - display: flex; - align-items: center; - transition: .3s; -} - -.advantages li:hover { - border: 1px solid #474048; - transition: .3s; -} - -.adv-li-img { - width: 50px; - margin-right: 20px; -} - -.adv-li-img img { - width: 50px; - height: 50px; -} - -.discord-section { - display: flex; - padding-left: 20px; - padding-right: 20px; - margin: 0 auto; - justify-content: space-between; - max-width: 900px; - align-items: center; - margin-top: 100px; -} - -.discord-text, .discord-text p { - text-align: right; - color: #a1a1a1; -} - -.discord-section a { - color: #a1a1a1; - transition: .3s color; -} - -.discord-section a:hover { - color: #ffffff; -} - -.discord-section img { - max-width: 200px; - height: 200px; - margin-right: 30px; - border-radius: 15px; -} - -.about-header { - margin-top: 100px; - text-align: left; -} - -.adms-list { - margin-top: 60px; -} - -.adms-item { - margin-bottom: 50px; - display: flex; - align-items: center; -} - -.adms-item img { - width: 150px; - height: 150px; - border-radius: 50%; - margin-right: 30px; - filter: grayscale(1); - transition: .3s; -} - -.adms-item img:hover { - filter: none; - transition: .3s; -} - -.adms-item-text p { - color: #cbcbcb; -} - -.dl-modal-window-container { - position: fixed; - top: 80px; - left: 50%; - transform: translateX(-50%); - visibility: hidden; - opacity: 0; - z-index: 31; - transition: .3s; -} - -.dl-modal-window-container.active { - visibility: visible; - opacity: 1; - transition: .3s; -} - -.dl-modal-window { - background-color: #191919; - padding: 20px; - border-radius: 15px; - text-align: center; -} - -.dig { - opacity: 0; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 30; - background-color: #0e0e0e; - visibility: hidden; - transition: .3s; -} - -.dig.active { - transition: .3s; - opacity: 0.95; - visibility: visible; -} - -#mvul { - text-align: left; -} - -#mvul li a { - color: #cccccc; - text-decoration: none; - transition: .3s; -} - -#mvul li a:hover { - color: #ffffff; - text-decoration: underline; - transition: .3s; -} - -.search-input { - padding-left: 20px; - padding-right: 20px; - margin-bottom: 40px; -} - -.leaders-container input { - padding: 10px; - background-color: #161616; - min-width: 100%; - box-sizing: border-box; - border-radius: 7px; -} - -.leaders-container { - max-width: 900px; - padding-left: 20px; - padding-right: 20px; - margin: 0 auto; - margin-top: 120px; -} - -.leaders-list { - background-color: #0e0e0e; - padding-top: 20px; - border-radius: 7px; - padding-bottom: 40px; - max-width: 900px; -} - -.leaders-item { - padding: 20px; - cursor: pointer; - display: flex; - justify-content: space-between; - align-items: center; - transition: .3s; -} - -.leaders-item img { - width: 32px; - height: 32px; - margin-left: 30px; -} - -.leaders-item:hover { - background-color: #161616; - transition: .3s; -} - -.start-roulette { - background-color: #0e0e0e; - padding: 20px; - border-radius: 15px; - margin-top: 120px; -} - -.start-roulette p { - color: #cbcbcb; -} - -.start-roulette-btn { - padding: 10px; - border-radius: 7px; - background-color: #7049ff; - display: block; - width: 60px; - text-align: center; - margin-top: 40px; - transition: .3s; -} - -.start-roulette-btn:hover { - background-color: #5a3bca; - cursor: pointer; - transition: .3s; -} - -.roulette { - max-width: 900px; - padding-left: 20px; - padding-right: 20px; - margin: 0 auto; - margin-top: 100px; -} - -.roulette-item { - background-color: #0e0e0e; - padding: 20px; - border-radius: 15px; - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 30px; -} - -.roulette-item h2 { - font-size: 23px; - text-decoration: underline; -} - -.roulette-item p { - color: #cbcbcb; - font-size: 18px; -} - -.next-lvl { - background-color: #7049ff; - padding: 10px; - border-radius: 7px; - text-align: center; - width: 160px; - align-items: center; - transition: .3s; -} - -.next-lvl:hover { - background-color: #5a3bca; - cursor: pointer; - transition: .3s; -} - -@media(max-width: 767px) { - .hamburger { - display: block; - position: relative; - width: 30px; - height: 20px; - position: relative; - cursor: pointer; - z-index: 32; - } - - .hamburger::before, .hamburger::after { - content: ""; - background-color: #ffffff; - position: absolute; - width: 100%; - height: 2px; - left: 0; - transition: 1s; - } - - .hamburger::before { - top: 0; - } - - .hamburger::after { - bottom: 0; - } - - .hamburger span { - position: absolute; - left: 0; - width: 100%; - height: 2px; - top: 9px; - background-color: #ffffff; - transition: 1s; - } - - .hamburger.active::before { - transform: rotate(45deg); - top: 9px; - } - - .hamburger.active::after { - transform: rotate(-45deg); - bottom: 9px; - } - - .hamburger.active span { - transform: scale(0); - } - - .header-nav { - position: fixed; - top: 0; - right: -100%; - width: 250px; - height: 100%; - background-color: #0e0e0e; - padding: 50px 0 0 0; - border-left: 7px #202020 solid; - z-index: 21; - transition: 1s; - } - - .header-nav.active { - transition: 0.5s; - right: -10px; - } - - .header-list { - display: block; - margin-top: 40px; - } - - .header-list li { - margin: 0 0 10px 0; - margin-left: 30px; - } - - .header-list li a { - color: #adadad; - text-decoration: none; - padding: 0px; - position: relative; - transition: 0.5s; - } - - .header-list li a:hover { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - transition: 0.5s; - } - - .header-list li a::after { - display: none; - } - - .header-list li a::after:hover { - display: none; - } - - .header-list li hr { - display: block; - width: 103%; - position: relative; - left: -10px; - margin-top: 20px; - margin-bottom: 20px; - border: none; - border: 1px solid #202020; - top: 0; - } - - .header-log { - position: absolute; - bottom: 55px; - left: 0; - padding-right: 10px; - } - - .header-log p { - max-width: 300px; - width: 160px; - } - - .dl-item { - display: block; - justify-content: center; - text-align: center; - padding-bottom: 40px; - } - - .dl-item img { - margin-right: 0; - width: 300px; - height: 180px; - margin-bottom: 30px; - } - - .footer-body { - display: block; - } - - .footer-columns { - margin-bottom: 30px; - } - - .adms-item img { - width: 75px; - height: 75px; - } - - .roulette-item { - display: block; - } - - .next-lvl { - margin-top: 40px; - } -} - -@media(max-width: 620px) { - .blog-headers { - display: none; - } - - .blog-content { - height: auto; - min-height: auto; - max-height: none; - overflow-y: auto; - } -} - -@media(max-width: 850px) { - .home-prev-img { - display: none; - } - - .advantages { - display: block; - } - - .discord-section img { - display: none; - } - - .discord-section p, .discord-section h2 { - text-align: center; - } - - .advantages li { - margin: 0 auto; - margin-bottom: 20px; - } -} diff --git a/assets/img/adms/Oreshek.png b/assets/img/adms/Oreshek.png deleted file mode 100644 index 2266d83..0000000 Binary files a/assets/img/adms/Oreshek.png and /dev/null differ diff --git a/assets/img/adms/Sharix_IM.png b/assets/img/adms/Sharix_IM.png deleted file mode 100644 index 0c30783..0000000 Binary files a/assets/img/adms/Sharix_IM.png and /dev/null differ diff --git a/assets/img/adms/Sy3rena.png b/assets/img/adms/Sy3rena.png deleted file mode 100644 index 0a3f8c0..0000000 Binary files a/assets/img/adms/Sy3rena.png and /dev/null differ diff --git a/assets/img/adms/a b/assets/img/adms/a deleted file mode 100644 index 8b13789..0000000 --- a/assets/img/adms/a +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/adms/xeobry.png b/assets/img/adms/xeobry.png deleted file mode 100644 index d470398..0000000 Binary files a/assets/img/adms/xeobry.png and /dev/null differ diff --git "a/assets/img/adms/\320\232\320\276\321\210\320\260\320\272.png" "b/assets/img/adms/\320\232\320\276\321\210\320\260\320\272.png" deleted file mode 100644 index 5f316e5..0000000 Binary files "a/assets/img/adms/\320\232\320\276\321\210\320\260\320\272.png" and /dev/null differ diff --git a/assets/img/home/a b/assets/img/home/a deleted file mode 100644 index 8b13789..0000000 --- a/assets/img/home/a +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/home/music.png b/assets/img/home/music.png deleted file mode 100644 index e4e7fa7..0000000 Binary files a/assets/img/home/music.png and /dev/null differ diff --git a/assets/img/home/prev.png b/assets/img/home/prev.png deleted file mode 100644 index 3ff4bae..0000000 Binary files a/assets/img/home/prev.png and /dev/null differ diff --git a/assets/img/icon/a b/assets/img/icon/a deleted file mode 100644 index 8b13789..0000000 --- a/assets/img/icon/a +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icon/elder_mod.png b/assets/img/icon/elder_mod.png deleted file mode 100644 index 18d712b..0000000 Binary files a/assets/img/icon/elder_mod.png and /dev/null differ diff --git a/assets/img/icon/mod.png b/assets/img/icon/mod.png deleted file mode 100644 index 3245ab9..0000000 Binary files a/assets/img/icon/mod.png and /dev/null differ diff --git a/assets/img/logo/a b/assets/img/logo/a deleted file mode 100644 index 8b13789..0000000 --- a/assets/img/logo/a +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/logo/discord.png b/assets/img/logo/discord.png deleted file mode 100644 index 6b410f8..0000000 Binary files a/assets/img/logo/discord.png and /dev/null differ diff --git a/assets/img/logo/favicon.ico b/assets/img/logo/favicon.ico deleted file mode 100644 index c061ee4..0000000 Binary files a/assets/img/logo/favicon.ico and /dev/null differ diff --git a/assets/img/logo/main.png b/assets/img/logo/main.png deleted file mode 100644 index c061ee4..0000000 Binary files a/assets/img/logo/main.png and /dev/null differ diff --git a/assets/img/lvls/912.png b/assets/img/lvls/912.png deleted file mode 100644 index d88cd26..0000000 Binary files a/assets/img/lvls/912.png and /dev/null differ diff --git "a/assets/img/\320\232\320\276\321\210\320\260\320\272.jpg" "b/assets/img/\320\232\320\276\321\210\320\260\320\272.jpg" deleted file mode 100644 index 5f316e5..0000000 Binary files "a/assets/img/\320\232\320\276\321\210\320\260\320\272.jpg" and /dev/null differ diff --git a/assets/scripts/admins.js b/assets/scripts/admins.js deleted file mode 100644 index 08cdb21..0000000 --- a/assets/scripts/admins.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -class Admins { - constructor() { - this.loadAdmins(); - } - loadAdmins() { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/admins.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - const params = lines[i].split(';'); - this.addAdmin(params[0], params[1], params[2]); - } - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - }; - xhr.send(); - } - addAdmin(userName, role, desc) { - const list = document.getElementById('adms-list'); - const li = document.createElement('li'); - li.className = 'adms-item'; - list.appendChild(li); - const img = document.createElement('img'); - img.src = './assets/img/adms/' + userName + '.png'; - img.alt = 'admin'; - li.appendChild(img); - const text = document.createElement('div'); - text.className = 'adms-item-text'; - li.appendChild(text); - const h2 = document.createElement('h2'); - h2.textContent = userName + ' - ' + role; - text.appendChild(h2); - const p = document.createElement('p'); - p.textContent = desc; - text.appendChild(p); - } - getRandomInt(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; - } -} diff --git a/assets/scripts/closeModalWindow.js b/assets/scripts/closeModalWindow.js deleted file mode 100644 index 0d8ce92..0000000 --- a/assets/scripts/closeModalWindow.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -const modalWindow = document.getElementById('modal-window'); -const digR = document.getElementById('dig'); -document.addEventListener('click', (e) => { - if (modalWindow.classList.contains('active') && !modalWindow.contains(e.target)) { - document.body.style.overflowY = 'auto'; - modalWindow.classList.remove('active'); - digR.classList.remove('active'); - } -}); diff --git a/assets/scripts/dl.js b/assets/scripts/dl.js deleted file mode 100644 index d5df0ae..0000000 --- a/assets/scripts/dl.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -class DLLIB { - constructor() { - this.dli = 0; - this.rli = 0; - this.MVLVLNAME = document.getElementById('dl-mw-lvlname'); - this.MV = document.getElementById('modal-window'); - this.DIG = document.getElementById('dig'); - this.MVUL = document.getElementById('mvul'); - } - getRandomInt(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; - } - addDemon(name, author, id, link) { - this.dli++; - const list = document.getElementById('dl'); - const item = document.createElement('li'); - item.className = 'dl-item'; - list.appendChild(item); - item.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () { - e.stopPropagation(); - this.rli = 0; - document.body.style.overflowY = 'hidden'; - this.MVLVLNAME.textContent = name; - const records = yield this.loadRecords(String(id)); - const rlines = records.split('\n'); - rlines.pop(); - this.MVUL.innerHTML = ''; - for (let i = 0; i < rlines.length; i++) { - const params = rlines[i].split(';'); - this.rli++; - const li = document.createElement('li'); - this.MVUL.appendChild(li); - const a = document.createElement('a'); - a.textContent = this.rli.toString() + '. ' + params[0]; - a.href = params[2]; - li.appendChild(a); - } - this.MV.classList.add('active'); - this.DIG.classList.add('active'); - })); - const img = document.createElement('img'); - img.src = './assets/img/lvls/' + id + '.png?' + this.getRandomInt(100000, 999999); - img.alt = ''; - item.appendChild(img); - const div = document.createElement('div'); - item.appendChild(div); - const h2 = document.createElement('h2'); - h2.textContent = this.dli + '. ' + name; - div.appendChild(h2); - const p = document.createElement('p'); - p.textContent = 'by ' + author; - div.appendChild(p); - } - loadRecords(lvlID) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/records.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - let r = ''; - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - if (lines[i].split(';')[1] == String(lvlID)) { - r += lines[i] + "\n"; - } - } - resolve(r); - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - }; - xhr.send(); - }); - }); - } -} -class Demonlist extends DLLIB { - constructor() { - super(); - this.loadDemons(); - } - loadDemons() { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/demons.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - const params = lines[i].split(';'); - this.addDemon(params[0], params[1], params[2].toString(), params[3]); - } - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - }; - xhr.send(); - } -} diff --git a/assets/scripts/footer.js b/assets/scripts/footer.js deleted file mode 100644 index c07544f..0000000 --- a/assets/scripts/footer.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -class Footer { - constructor() { - const footer = document.getElementById('footer'); - const fcontainer = document.createElement('div'); - fcontainer.className = 'container-900px'; - footer.appendChild(fcontainer); - const fbody = document.createElement('div'); - fbody.className = 'footer-body'; - fcontainer.appendChild(fbody); - const fcolumns = document.createElement('div'); - fcolumns.className = 'footer-columns'; - fbody.appendChild(fcolumns); - const fcolumn2 = document.createElement('div'); - fcolumn2.className = 'footer-column'; - fcolumns.appendChild(fcolumn2); - const fcolumn2header = document.createElement('h3'); - fcolumn2header.textContent = 'Приватный сервер'; - fcolumn2.appendChild(fcolumn2header); - this.addFooterLink(fcolumn2, './leaders.html', 'Топ игроков'); - this.addFooterLink(fcolumn2, './roulette.html', 'Рулетка уровней'); - this.addFooterLink(fcolumn2, './news.html', 'Новости'); - this.addFooterLink(fcolumn2, 'https://gofruit.space/gdps/053m', 'Скачать'); - const fcolumn3 = document.createElement('div'); - fcolumn3.className = 'footer-column'; - fcolumns.appendChild(fcolumn3); - const fcolumn3header = document.createElement('h3'); - fcolumn3header.textContent = 'Соц. Сети'; - fcolumn3.appendChild(fcolumn3header); - this.addFooterLink(fcolumn3, 'https://discord.gg/8ETWhDsSKH', 'Дискорд'); - this.addFooterLink(fcolumn3, 'https://t.me/YarGoYT', 'Телеграмм'); - this.addFooterLink(fcolumn3, 'https://www.youtube.com/@YarGo_', 'Ютуб'); - const fcolumn1 = document.createElement('div'); - fcolumn1.className = 'footer-column'; - fcolumns.appendChild(fcolumn1); - const fcolumn1header = document.createElement('h3'); - fcolumn1header.textContent = 'Команда'; - fcolumn1.appendChild(fcolumn1header); - this.addFooterLink(fcolumn1, './about.html', 'О нас'); - this.addFooterLink(fcolumn1, 'https://github.com/yargogdpsofficial/yargogdpsofficial', 'GitHub'); - const copyright = document.createElement('div'); - fbody.appendChild(copyright); - const copyrighth3 = document.createElement('h3'); - copyrighth3.textContent = 'YarGo © 2024'; - copyright.appendChild(copyrighth3); - } - addFooterLink(column, href, str) { - const p = document.createElement('p'); - column.appendChild(p); - const a = document.createElement('a'); - a.textContent = str; - a.href = href; - p.appendChild(a); - } -} -const footer = new Footer(); diff --git a/assets/scripts/header.js b/assets/scripts/header.js deleted file mode 100644 index 4cd2ec1..0000000 --- a/assets/scripts/header.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -class Header { - constructor() { - this.linksUrl = [ - { linkName: 'Главная', url: './' }, - { linkName: 'Новости', url: './news.html' }, - { linkName: 'Демонлист', url: './dl.html' }, - ]; - const header = document.getElementById('header'); - const hcontainer = document.createElement('div'); - hcontainer.className = 'container-900px'; - header.appendChild(hcontainer); - const hbody = document.createElement('div'); - hbody.className = 'header-body'; - hcontainer.appendChild(hbody); - const hlogo = document.createElement('div'); - hlogo.className = 'header-logo'; - hbody.appendChild(hlogo); - const hlogoLink = document.createElement('a'); - hlogoLink.href = '/'; - hlogo.appendChild(hlogoLink); - const hlogoImg = document.createElement('img'); - hlogoImg.src = './assets/img/logo/main.png'; - hlogoImg.alt = ''; - hlogoLink.appendChild(hlogoImg); - const hlogoP = document.createElement('h4'); - hlogoP.textContent = 'YarGoGDPS'; - hlogoLink.appendChild(hlogoP); - const hnav = document.createElement('div'); - hnav.className = 'header-nav'; - hnav.id = 'menu'; - hbody.appendChild(hnav); - const hnavtrue = document.createElement('nav'); - hnav.appendChild(hnavtrue); - this.hnavlist = document.createElement('ul'); - this.hnavlist.className = 'header-list'; - hnavtrue.appendChild(this.hnavlist); - for (let i = 0; i < this.linksUrl.length; i++) - this.addHeaderLink(this.linksUrl[i].url, this.linksUrl[i].linkName); - const hlogin = document.createElement('li'); - hlogin.className = 'header-log'; - hlogin.id = 'auth-link'; - this.hnavlist.appendChild(hlogin); - const dwnl = document.createElement('p'); - dwnl.id = 'auth-p'; - dwnl.textContent = 'Скачать'; - dwnl.addEventListener('click', () => location.href = 'https://gofruit.space/gdps/053m'); - hlogin.appendChild(dwnl); - const hhamburger = document.createElement('div'); - hhamburger.className = 'hamburger'; - hhamburger.id = 'hamburger'; - hbody.appendChild(hhamburger); - const hhamburgerSpan = document.createElement('span'); - hhamburger.appendChild(hhamburgerSpan); - } - addHeaderLink(href, str) { - const li = document.createElement('li'); - this.hnavlist.appendChild(li); - const a = document.createElement('a'); - a.textContent = str; - a.href = href; - li.appendChild(a); - const hr = document.createElement('hr'); - li.appendChild(hr); - } -} -const header = new Header(); diff --git a/assets/scripts/headerBorder.js b/assets/scripts/headerBorder.js deleted file mode 100644 index 15ce2dd..0000000 --- a/assets/scripts/headerBorder.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -const headerBlock = document.getElementById('header'); -window.addEventListener('scroll', () => { - if (window.scrollY > 0) { - headerBlock.classList.add('border-bottom'); - } - else { - headerBlock.classList.remove('border-bottom'); - } -}); diff --git a/assets/scripts/leaders.js b/assets/scripts/leaders.js deleted file mode 100644 index 98ed696..0000000 --- a/assets/scripts/leaders.js +++ /dev/null @@ -1,175 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -class Leaders { - constructor() { - this.i = 0; - this.rli = 0; - this.list = document.getElementById('leaders-list'); - this.i = 0; - this.MVLVLNAME = document.getElementById('dl-mw-lvlname'); - this.MV = document.getElementById('modal-window'); - this.DIG = document.getElementById('dig'); - this.MVUL = document.getElementById('mvul'); - } - getRandomInt(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; - } - addPlayer(username, role) { - this.i++; - role = role.replace(' ', ''); - const item = document.createElement('li'); - item.className = 'leaders-item'; - this.list.appendChild(item); - item.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () { - e.stopPropagation(); - this.rli = 0; - document.body.style.overflowY = 'hidden'; - this.MVLVLNAME.textContent = 'Рекорды ' + username; - const records = yield this.loadRecords(username); - const rlines = records.split('\n'); - rlines.pop(); - this.MVUL.innerHTML = ''; - for (let i = 0; i < rlines.length; i++) { - const params = rlines[i].split(';'); - this.rli++; - const li = document.createElement('li'); - this.MVUL.appendChild(li); - const a = document.createElement('a'); - a.textContent = this.rli.toString() + '. ' + params[0]; - a.href = params[1]; - li.appendChild(a); - } - this.MV.classList.add('active'); - this.DIG.classList.add('active'); - })); - const h3 = document.createElement('h3'); - h3.textContent = '#' + this.i + ' ' + username; - item.appendChild(h3); - if (role != 'null') { - const img = document.createElement('img'); - img.alt = ''; - if (role == 'mod') { - img.src = './assets/img/icon/mod.png'; - } - else if (role == 'emod') { - img.src = './assets/img/icon/elder_mod.png'; - } - else { - img.src = './assets/img/icon/null.png'; - console.log(role); - } - item.appendChild(img); - } - } - loadLeaders() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/leaders.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - let r = ''; - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - const params = lines[i].split(';'); - this.addPlayer(params[0], params[1]); - } - resolve('1'); - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - }; - xhr.send(); - }); - }); - } - loadRecords(userName) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/records.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => __awaiter(this, void 0, void 0, function* () { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - let r = ''; - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - else if (lines[i].split(';')[0] == userName) { - const lvlname = yield this.getLvlnameFromID(lines[i].split(';')[1]); - r += lvlname + ';' + lines[i].split(';')[2] + "\n"; - } - } - resolve(r); - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - }); - xhr.send(); - }); - }); - } - getLvlnameFromID(lvlID) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/demons.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - let r = ''; - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - else if (lines[i].split(';')[2] == lvlID) - resolve(lines[i].split(';')[0]); - } - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - }; - xhr.send(); - }); - }); - } -} -const l = new Leaders(); -leaders(); -function leaders() { - return __awaiter(this, void 0, void 0, function* () { - yield l.loadLeaders(); - const search = document.getElementById('searchLeaders'); - const listItems = document.querySelectorAll('.leaders-item'); - search.addEventListener('input', (e) => { - const filter = search.value.toLowerCase(); - for (let i = 0; i < listItems.length; i++) { - const item = listItems[i]; - const text = item.textContent || item.innerText; - if (text.toLowerCase().indexOf(filter) > -1) { - item.classList.remove('hidden'); - } - else { - item.classList.add('hidden'); - } - } - }); - }); -} diff --git a/assets/scripts/loadAdmins.js b/assets/scripts/loadAdmins.js deleted file mode 100644 index c4c4977..0000000 --- a/assets/scripts/loadAdmins.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -const adms = new Admins(); diff --git a/assets/scripts/loadDL.js b/assets/scripts/loadDL.js deleted file mode 100644 index 5925876..0000000 --- a/assets/scripts/loadDL.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -const dl = new Demonlist(); diff --git a/assets/scripts/loadNews.js b/assets/scripts/loadNews.js deleted file mode 100644 index 800d06d..0000000 --- a/assets/scripts/loadNews.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -const news = new Announcements(); diff --git a/assets/scripts/menu.js b/assets/scripts/menu.js deleted file mode 100644 index 03016a2..0000000 --- a/assets/scripts/menu.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -const hamburger = document.getElementById('hamburger'); -const menu = document.getElementById('menu'); -hamburger.addEventListener('click', () => { - !hamburger.classList.contains('active') ? document.body.style.overflowY = 'hidden' : document.body.style.overflowY = 'auto'; - hamburger.classList.toggle('active'); - menu.classList.toggle('active'); -}); diff --git a/assets/scripts/news.js b/assets/scripts/news.js deleted file mode 100644 index a052c71..0000000 --- a/assets/scripts/news.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -class Announcements { - constructor() { - this.id = 0; - this.loadNews(); - } - loadNews() { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/news.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines = xhr.responseText.split('\n'); - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - const params = lines[i].split(';'); - this.addNews(params[0], params[1]); - } - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - }; - xhr.send(); - } - addNewsListPost(header) { - const postsList = document.querySelector('.blog-headers-list'); - const li = document.createElement('li'); - li.className = 'blog-headers-item'; - postsList.appendChild(li); - const a = document.createElement('a'); - a.href = '#blog-post_' + this.id; - a.textContent = header; - li.appendChild(a); - } - addNews(header, text) { - this.id++; - const blogContent = document.querySelector('.blog-content'); - const post = document.createElement('div'); - post.className = 'blog-post'; - blogContent.appendChild(post); - const blogHeader = document.createElement('h1'); - blogHeader.textContent = header; - blogHeader.id = 'blog-post_' + this.id; - post.appendChild(blogHeader); - const lines = text.split('/'); - for (let i = 0; i < lines.length; i++) { - const p = document.createElement('p'); - p.textContent = lines[i]; - post.appendChild(p); - } - this.addNewsListPost(header); - } - getRandomInt(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; - } -} diff --git a/assets/scripts/roulette.js b/assets/scripts/roulette.js deleted file mode 100644 index 54be196..0000000 --- a/assets/scripts/roulette.js +++ /dev/null @@ -1,91 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -class Roulette { - constructor() { - this.usedIndexes = new Set(); - this.list = ''; - this.i = 0; - const startBtn = document.getElementById('start-roulette'); - const startMenu = document.querySelector('.start-roulette'); - this.roulette = document.getElementById('roulette'); - startBtn.addEventListener('click', () => __awaiter(this, void 0, void 0, function* () { - startMenu.style.display = 'none'; - this.list = yield this.getList(); - this.usedIndexes = new Set(); - this.addLevel(); - })); - } - addLevel() { - const list = this.list.split('\n'); - if (this.usedIndexes.size >= list.length) { - console.log("Все уровни уже использованы!"); - return; - } - let index; - do { - index = this.getRandomInt(0, list.length - 1); - } while (this.usedIndexes.has(index)); - this.usedIndexes.add(index); - const level = list[index].split(';'); - this.i++; - const li = document.createElement('li'); - li.className = 'roulette-item'; - this.roulette.appendChild(li); - const liText = document.createElement('div'); - liText.className = 'roulette-item-text'; - li.appendChild(liText); - const h2 = document.createElement('h2'); - h2.textContent = '#' + this.i + ': ' + level[0]; - liText.appendChild(h2); - const p = document.createElement('p'); - p.textContent = 'By ' + level[1] + ' (ID: ' + level[2].replace(/ /g, '') + ')'; - liText.appendChild(p); - if (this.i < 100 && this.usedIndexes.size < list.length) { - const nextLvl = document.createElement('div'); - nextLvl.className = 'next-lvl'; - nextLvl.textContent = 'Следующий уровень'; - li.appendChild(nextLvl); - nextLvl.addEventListener('click', () => { - nextLvl.style.display = 'none'; - this.addLevel(); - }); - } - } - getList() { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', './demonlist/roulette.txt?' + this.getRandomInt(0, 999), true); - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - let r = ''; - const lines = xhr.responseText.split('\n'); - for (let i = 0; i < lines.length; i++) { - if (!lines[i]) - continue; - r += lines[i] + '\n'; - } - resolve(r); - } - else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - }; - xhr.send(); - }); - } - getRandomInt(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; - } -} -const r = new Roulette(); diff --git a/assets/scripts/searchPlayers.js b/assets/scripts/searchPlayers.js deleted file mode 100644 index 53d7b0b..0000000 --- a/assets/scripts/searchPlayers.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -document.addEventListener('DOMContentLoaded', () => { - const search = document.getElementById('searchLeaders'); - const listItems = document.querySelectorAll('.leaders-item'); - search.addEventListener('input', (e) => { - const filter = search.value.toLowerCase(); - for (let i = 0; i < listItems.length; i++) { - const item = listItems[i]; - const text = item.textContent || item.innerText; - if (text.toLowerCase().indexOf(filter) > -1) { - item.classList.remove('hidden'); - } - else { - item.classList.add('hidden'); - } - } - }); -}); diff --git a/css/dl.css b/css/dl.css new file mode 100644 index 0000000..2d66b9e --- /dev/null +++ b/css/dl.css @@ -0,0 +1,200 @@ +.dl-list { + padding-top: 120px; + margin-bottom: 100px; +} + +.dl-item { + padding: 20px; + display: flex; + align-items: center; + border-radius: 15px; + position: relative; + border: 1px solid #bababa; + margin-bottom: 30px; + cursor: pointer; + transition: .3s transform; +} + +.dl-item:hover { + transform: scale(102%); +} + +.dl-item img { + width: 160px; + height: 90px; + margin-right: 30px; + border-radius: 7px; +} + +.lists-list { + display: flex; + flex-wrap: wrap; + padding-top: 140px; + justify-content: space-around; + text-align: center; + padding-bottom: 80px; +} + +.list-item { + background-color: #dcdcdc; + padding: 20px; + border-radius: 7px; + margin-left: 20px; + margin-right: 20px; + margin-bottom: 60px; + cursor: pointer; + transition: .3s transform; +} + +.list-item:hover { + transform: scale(102%); +} + +.list-item img { + width: 250px; + height: 150px; + margin-bottom: 30px; + border-radius: 7px; +} + +.leaders-wrapper { + padding-top: 160px; + padding-bottom: 100px; +} + +.leaders-body { + background-color: #dcdcdc; + border-radius: 15px; +} + +.leaders-top { + display: flex; + justify-content: space-between; + position: relative; + padding: 20px; +} + +.leaders-top input { + padding: 10px; + border-radius: 7px; + background-color: #c0bfbf; + width: 100%; + margin-left: 160px; + font-size: 17px; +} + +.dropdown-leaders-menu { + position: absolute; +} + +.dropdown-leaders-menu button { + padding: 10px; + border-radius: 7px; + margin-bottom: 10px; + display: none; + cursor: pointer; + background-color: #9668ff; + color: #fff; + width: 130px; + font-size: 17px; + transition: .3s background-color; +} + +.dropdown-leaders-menu button:hover { + background-color: #8963e1; +} + +.dropdown-leaders-menu button.active { + display: block; +} + +.leaders-players { + margin-top: 20px; +} + +.leaders-player { + padding: 20px; + font-size: 17px; + cursor: pointer; + transition: .3s background-color; +} + +.leaders-player:hover { + background-color: #cfcfcf; +} + +.leaders-player:last-child { + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; +} + +.level-modal-window { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + padding-left: 20px; + padding-right: 20px; + text-align: center; + background-color: #fff; + padding: 20px; + width: 300px; + border-radius: 15px; + overflow-y: auto; + opacity: 0; + visibility: hidden; + z-index: 30; + transition: .3s; +} + +.level-modal-window.active { + opacity: 1; + visibility: visible; + transition: .3s; +} + +.victors { + display: flex; + flex-direction: column; + text-align: left; +} + +.victors a { + color: #5c5c5c; + transition: .3s color; +} + +.victors a:hover { + color: #000; + text-decoration: underline; +} + +.leaders-top-words { + padding: 10px; + border-radius: 7px; + background-color: #c0bfbf; + width: 100%; + margin-left: 160px; + font-size: 17px; + text-align: center; +} + +.leaders-player { + display: flex; + justify-content: space-between; + align-items: center; +} + +.dl-points { + position: absolute; + bottom: 5px; + right: 20px; +} + +@media (max-width: 600px) { + .dl-item img { + width: 120px; + height: 70px; + margin-right: 15px; + } +} \ No newline at end of file diff --git a/css/footer.css b/css/footer.css new file mode 100644 index 0000000..3503438 --- /dev/null +++ b/css/footer.css @@ -0,0 +1,43 @@ +footer { + background-color: #9668ff; + padding: 20px; + color: #fff; + position: absolute; + bottom: 0; + left: 0; + right: 0; + padding-bottom: 40px; +} + +.fbody { + display: flex; + justify-content: space-between; +} + +.columns { + display: flex; +} + +.column { + margin-right: 20px; +} + +footer a { + color: #cecece; + transition: .3s color; +} + +footer a:hover { + text-decoration: underline; + color: #fff; +} + +@media (max-width: 768px) { + .fbody { + display: block; + } + + .copyright { + margin-top: 20px; + } +} \ No newline at end of file diff --git a/css/header.css b/css/header.css new file mode 100644 index 0000000..e0dd7f3 --- /dev/null +++ b/css/header.css @@ -0,0 +1,164 @@ +header { + position: fixed; + top: 0; + left: 0; + right: 0; + font-size: 17px; + z-index: 20; + transition: .3s background-color; +} + +header.active { + background-color: #9668ff; +} + +.header-body { + display: flex; + align-items: center; + justify-content: space-between; + height: 60px; +} + +.logo a { + display: flex; + align-items: center; +} + +.logo a img { + width: 40px; + height: 40px; + border-radius: 7px; + margin-right: 15px; +} + +.logo a h3 { + color: #fff; +} + +.header-list { + display: flex; +} + +.header-list li { + margin-left: 20px; +} + +.header-list li a:not(.dwnl-btn) { + color: #dadada; + transition: .3s color; +} + +.header-list li a:not(.dwnl-btn):hover { + color: #fff; +} + +.dwnl-btn { + padding: 10px; + background-color: #fff; + color: #000; + border-radius: 7px; + transition: .3s background-color; +} + +.dwnl-btn:hover { + background-color: #f1e9ff; +} + +@media (max-width: 767px) { + .hamburger { + display: block; + position: relative; + width: 30px; + height: 20px; + position: relative; + cursor: pointer; + z-index: 32; + } + + .hamburger::before, .hamburger::after { + content: ""; + background-color: #fff; + position: absolute; + width: 100%; + height: 2px; + left: 0; + transition: 1s; + } + + .hamburger::before { + top: 0; + } + + .hamburger::after { + bottom: 0; + } + + .hamburger span { + position: absolute; + left: 0; + width: 100%; + height: 2px; + top: 9px; + background-color: #fff; + transition: 1s; + } + + .hamburger.active::before { + background-color: #000; + transform: rotate(45deg); + top: 9px; + } + + .hamburger.active::after { + background-color: #000; + transform: rotate(-45deg); + bottom: 9px; + } + + .hamburger.active span { + transform: scale(0); + } + + .header-list { + position: fixed; + top: 0; + right: -100%; + width: 250px; + height: 100%; + background-color: #ececec; + padding: 50px 0 0 0; + border-left: 7px #dcdcdc solid; + z-index: 21; + display: block; + padding-top: 100px; + transition: 1s; + } + + .header-list.active { + transition: 0.5s; + right: 0; + } + + .header-list li { + margin-right: 15px; + margin-left: 15px; + margin-bottom: 10px; + } + + .header-list li a:not(.dwnl-btn), .dwnl-btn { + padding: 10px; + border-radius: 7px; + display: block; + color: #000000; + transition: .3s background-color; + } + + .header-list li a:not(.dwnl-btn):hover, .dwnl-btn:hover { + background-color: #cdcdcd; + color: #000000; + } + + .dwnl-btn { + background-color: #ececec; + } +} \ No newline at end of file diff --git a/css/home.css b/css/home.css new file mode 100644 index 0000000..bd72f08 --- /dev/null +++ b/css/home.css @@ -0,0 +1,101 @@ +.offer { + height: 100vh; + position: relative; + background: linear-gradient(to bottom right, #9668ff, #aa87fc); + z-index: 1; +} + +.offer-construction { + padding-top: 30vh; + max-width: 600px; +} + +.offer-construction h1 { + font-size: 32px; + color: #fff; + text-shadow: 0 0 1rem #fff; +} + +.offer-construction p { + color: #cecece; + margin-top: 12px; + font-size: 18px; + margin-bottom: 30px; +} + +.dwnl-offer-btn { + margin-top: 20px; + padding: 10px; + padding-left: 20px; + padding-right: 20px; + border-radius: 7px; + background-color: #fff; + color: #000; + transition: .3s background-color; +} + +.dwnl-offer-btn:hover { + background-color: #f1e9ff; +} + +.about { + padding-top: 100px; + background-color: #fff; +} + +.about-header { + text-align: center; + font-size: 32px; +} + +.about-list { + display: flex; + justify-content: space-around; + margin-top: 100px; + margin-bottom: 100px; + flex-wrap: wrap; +} + +.about-item { + padding: 20px; + text-align: center; + width: 200px; + background-color: #dcdcdc; + color: #000; + border-radius: 7px; + cursor: pointer; + margin-left: 30px; + margin-right: 30px; + margin-bottom: 60px; + transition: .3s transform; +} + +.about-item:hover { + transform: scale(102%); +} + +.about-item img { + height: 100px; + margin-bottom: 40px; +} + +.discord { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 17px; + padding-top: 80px; + margin-bottom: 100px; +} + +.discord a { + text-decoration: underline; +} + +.discord img { + background-color: #aa87fc; + border-radius: 15px; + width: 200px; + height: 200px; + margin-right: 30px; +} \ No newline at end of file diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..eb67728 --- /dev/null +++ b/css/main.css @@ -0,0 +1,77 @@ +@import url(./header.css); +@import url(./home.css); +@import url(./waves.css); +@import url(./footer.css); +@import url(./dl.css); +@import url(./team.css); +@import url(./roulette.css); + +* { + padding: 0; + margin: 0; + box-sizing: border-box; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; +} + +a { + text-decoration: none; + color: #000; +} + +li { + list-style: none; +} + +input, button, textarea { + border: none; + outline: none; +} + +.container { + margin: 0 auto; + max-width: 1100px; + padding-left: 20px; + padding-right: 20px; +} + +*::-webkit-scrollbar { + width: 6px; +} + +*::-webkit-scrollbar-track { + background: #f0f0f0; +} + +*::-webkit-scrollbar-thumb { + background: #606060; + border-radius: 10px; +} + +*::-webkit-scrollbar-thumb:hover { + background: #555; +} + +#root { + min-height: 100vh; + position: relative; + padding-bottom: 140px; +} + +.dim-overlay { + position: fixed; + height: 100%; + width: 100%; + top: 0; + left: 0; + background-color: #000; + opacity: 0; + visibility: hidden; + transition: .3s; + z-index: 21; +} + +.dim-overlay.active { + visibility: visible; + opacity: 0.95; + transition: .3s; +} \ No newline at end of file diff --git a/css/roulette.css b/css/roulette.css new file mode 100644 index 0000000..7adef0f --- /dev/null +++ b/css/roulette.css @@ -0,0 +1,28 @@ +.roulette-list { + padding-top: 160px; +} + +.start-roulette { + padding: 20px; + display: flex; + align-items: center; + border-radius: 15px; + border: 1px solid #d6d6d6; + margin-bottom: 30px; + font-size: 17px; +} + +.start-roulette-btn { + margin-top: 30px; + padding: 10px; + border-radius: 7px; + background-color: #9668ff; + color: #fff; + cursor: pointer; + font-size: 17px; + transition: .3s background-color; +} + +.start-roulette-btn:hover { + background-color: #653ec1; +} \ No newline at end of file diff --git a/css/team.css b/css/team.css new file mode 100644 index 0000000..e6747fe --- /dev/null +++ b/css/team.css @@ -0,0 +1,33 @@ +.team-header { + padding-top: 120px; + margin-bottom: 80px; +} + +.team-list { + display: flex; + flex-wrap: wrap; + justify-content: space-around; +} + +.team-item { + margin-left: 20px; + margin-right: 20px; + margin-bottom: 60px; + text-align: center; + padding: 20px; + background-color: #dcdcdc; + border-radius: 15px; + cursor: pointer; + transition: .3s transform; +} + +.team-item:hover { + transform: scale(102%); +} + +.team-item img { + width: 125px; + height: 125px; + border-radius: 50%; + margin-bottom: 20px; +} \ No newline at end of file diff --git a/css/waves.css b/css/waves.css new file mode 100644 index 0000000..4bfc66a --- /dev/null +++ b/css/waves.css @@ -0,0 +1,50 @@ +.waves { + position: absolute; + width: 100%; + height: 15vh; + min-height: 100px; + max-height: 150px; + bottom: 0; + left: 0; +} + +.parallax>use { + animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite; +} + +.parallax>use:nth-child(1) { + animation-delay: -2s; + animation-duration: 7s; +} + +.parallax>use:nth-child(2) { + animation-delay: -3s; + animation-duration: 10s; +} + +.parallax>use:nth-child(3) { + animation-delay: -4s; + animation-duration: 13s; +} + +.parallax>use:nth-child(4) { + animation-delay: -5s; + animation-duration: 20s; +} + +@keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + + 100% { + transform: translate3d(85px, 0, 0); + } +} + +@media (max-width: 768px) { + .waves { + height: 40px; + min-height: 40px; + } +} \ No newline at end of file diff --git a/demonlist/admins.txt b/demonlist/admins.txt deleted file mode 100644 index 6501087..0000000 --- a/demonlist/admins.txt +++ /dev/null @@ -1,4 +0,0 @@ -YarGo;Владелец;Создатель всего и вся. Связаться: @yargoyt -xeobry;Главный Адмиинистратор;Я здесь власть. Связаться: @xeobry -Sy3rena;Адмиинистратор;Создатель сайта и админ. Связаться: @reqonce -Кошак;Модератор; Модератор гдпса и демонлиста. Связаться: @icegamegd diff --git a/demonlist/challenges.txt b/demonlist/challenges.txt new file mode 100644 index 0000000..5ee8688 --- /dev/null +++ b/demonlist/challenges.txt @@ -0,0 +1,10 @@ +Bulba Vortex;JustACreatorsTeam;912;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J;10 +Delirium;Sharix;391;https://youtu.be/ZBzlWKrssE8;9 +Chrome;sy3rena;292;https://youtu.be/ge_pm5SaRfo;8 +Anxiety;IcEDCave;78;https://youtu.be/xwc533BD92U?si=v7Or_n4xGeknXsjE;7 +Sigma Circles;Sigma;156;#;6 +BlackRainStorm;OkoPlayPC;82;#;5 +SkyWalker;sy3rena;343;#;4 +Fen;hyGoo;361;https://youtu.be/ET95mLKrjn0?si=K2O-ZgdrSzBDrDY3;3 +Hi;hyGoo;248;https://youtu.be/GvKFXj0QStM;2 +Tidal Wave;sont;183;https://youtu.be/wWECk2qlli8;1 \ No newline at end of file diff --git a/demonlist/demons.txt b/demonlist/demons.txt index e34dfdc..5ee8688 100644 --- a/demonlist/demons.txt +++ b/demonlist/demons.txt @@ -1,10 +1,10 @@ -Bulba Vortex;JustACreatorsTeam;912;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J -Delirium;Sharix;391;https://youtu.be/ZBzlWKrssE8 -Chrome;sy3rena;292;https://youtu.be/ge_pm5SaRfo -Anxiety;IcEDCave;78;https://youtu.be/xwc533BD92U?si=v7Or_n4xGeknXsjE -Sigma Circles;Sigma;156;# -BlackRainStorm;OkoPlayPC;82;# -SkyWalker;sy3rena;343;# -Fen;hyGoo;361;https://youtu.be/ET95mLKrjn0?si=K2O-ZgdrSzBDrDY3 -Hi;hyGoo;248;https://youtu.be/GvKFXj0QStM -Tidal Wave;sont;183;https://youtu.be/wWECk2qlli8 +Bulba Vortex;JustACreatorsTeam;912;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J;10 +Delirium;Sharix;391;https://youtu.be/ZBzlWKrssE8;9 +Chrome;sy3rena;292;https://youtu.be/ge_pm5SaRfo;8 +Anxiety;IcEDCave;78;https://youtu.be/xwc533BD92U?si=v7Or_n4xGeknXsjE;7 +Sigma Circles;Sigma;156;#;6 +BlackRainStorm;OkoPlayPC;82;#;5 +SkyWalker;sy3rena;343;#;4 +Fen;hyGoo;361;https://youtu.be/ET95mLKrjn0?si=K2O-ZgdrSzBDrDY3;3 +Hi;hyGoo;248;https://youtu.be/GvKFXj0QStM;2 +Tidal Wave;sont;183;https://youtu.be/wWECk2qlli8;1 \ No newline at end of file diff --git a/demonlist/leaders.txt b/demonlist/leaders.txt index b623cc1..e69de29 100644 --- a/demonlist/leaders.txt +++ b/demonlist/leaders.txt @@ -1,14 +0,0 @@ -WaRRioRR;null; -yefool;mod; -Sharix;mod; -Faf;null; -LIR4KGD;null; -Aleksmeow;mod; -sy3rena;null; -EckToTick;null; -41zalyt;mod; -IceGameGD;mod; -KaiZz;mod; -pumpk1n;mod; -Sigma;mod; -Byblic;null; diff --git a/demonlist/news.txt b/demonlist/news.txt deleted file mode 100644 index 5b8c893..0000000 --- a/demonlist/news.txt +++ /dev/null @@ -1,7 +0,0 @@ -Первый гаунтлет;Сегодня вышел fire gauntlet, который мы ждали половину месяца. Все уровни оттуда выполнены в огненной тематике и имеют не самый плохой декор./Администратор ОРЕШЕК, также известный как электро, был снят со своей должности за поведение, после чего xeobry получил повышение до главного администратора. Пока не понятно, как это отразиться на гдпсе и сервере в целом, но мы все внимательно будем за этим наблюдать. -Патч сайта 1.2.0;Первая на сервере рулетка случайнных уровней. Изначально должна была быть именно демонов, но и оказалось слишком мало (как и обычных уровней) -Патч сайта 1.1.0;Очередной день, очередной патч, очередной привет всем./В данном обновление в подвал сайта был добавлен топ игроков по мнению модераторов листов, в котором вы можете просмотреть на рекорды лучших игроков сервера./Был сильно изменён футер сайта, теперь в нём можно найти социальные сети YarGo и новый топ./В очередной раз напоминаю о возможности отправить свой рекорд модераторам листа (@reqonce или @sharik8890) -Патч сайта 1.0.2;Киллер фичей этого обновления является функция рекордов, добавляющая соревновательности демонлисту. Теперь вы проходите демоны из листа не просто за респект, а за почётное место в таблице рекордов рядом с другими игроками./Если у вас есть рекорд на какой-то уровень, не стесняйтесь и отправляйте его модераторам листа (@reqonce или @sharik8890) -Патч сайта 1.0.1;Было выпущено маленькое обновление сайта. В патче были пофикшены некоторые баги и добавлена страница с контактами администрации гдпса. Её вы можете найти в подвале сайта. -Демонлист;Демонлист готов, за исключением шоукейсов на большинство старых проектов, что в будущем будет исправлено/На момент написания поста демонлист содержит 7 демонов сложностью от хард демона до экстрим демона./Желаем удачи в прохождениях демонов. Если вы имеете возражение по поводу позиции или считаете, что на сайте нет какого-то демона, вы можете написать в дискорд @reqonce или @sharik8890. -Релиз сайта;23.07.2024 Состоялся релиз первого сайта YarGo GDPS! На сайте можно смотреть текущий демонлист и последние новости гдпса!/В будущем ожидайте крупных обновлений сайта и самого гдпса, приятной игры! diff --git a/demonlist/platformers.txt b/demonlist/platformers.txt new file mode 100644 index 0000000..5ee8688 --- /dev/null +++ b/demonlist/platformers.txt @@ -0,0 +1,10 @@ +Bulba Vortex;JustACreatorsTeam;912;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J;10 +Delirium;Sharix;391;https://youtu.be/ZBzlWKrssE8;9 +Chrome;sy3rena;292;https://youtu.be/ge_pm5SaRfo;8 +Anxiety;IcEDCave;78;https://youtu.be/xwc533BD92U?si=v7Or_n4xGeknXsjE;7 +Sigma Circles;Sigma;156;#;6 +BlackRainStorm;OkoPlayPC;82;#;5 +SkyWalker;sy3rena;343;#;4 +Fen;hyGoo;361;https://youtu.be/ET95mLKrjn0?si=K2O-ZgdrSzBDrDY3;3 +Hi;hyGoo;248;https://youtu.be/GvKFXj0QStM;2 +Tidal Wave;sont;183;https://youtu.be/wWECk2qlli8;1 \ No newline at end of file diff --git a/demonlist/records.txt b/demonlist/records.txt index 581098d..dff2abe 100644 --- a/demonlist/records.txt +++ b/demonlist/records.txt @@ -1,77 +1,77 @@ -sy3rena;292;https://youtu.be/ge_pm5SaRfo -sy3rena;248;https://youtu.be/zLc72ox6HKc -sy3rena;156;https://youtu.be/TrDJHH-aMzc -sy3rena;82;https://youtu.be/TaRbsVGIVv0 -sy3rena;343;https://youtu.be/DE0wEAlV6Tg -KaiZz;82;https://youtu.be/kxkg-FaE6_0 -KaiZz;78;https://youtu.be/iTaSIGdfVlA -Sharix;391;https://youtu.be/ZBzlWKrssE8 -yefool;391;https://youtu.be/3S8n0Sjx6K8 -yefool;343;https://youtu.be/O0mTbVUH3pg -yefool;292;https://youtu.be/UsLctjkAQ3g?si=_zqK2eE1SfiCiPM7 -yefool;156;https://youtu.be/xv_RCuMEVHE -yefool;78;https://youtu.be/BMDRcW-wVqI -yefool;248;https://youtu.be/wosNBnnDEUE -yefool;361;https://youtu.be/l2iCOM4wJLY -yefool;82;https://youtu.be/7r33j3EssH0?si=L6BjszBfc2g4EiWJ -yefool;183;https://youtu.be/CLqQGcMXk3U?si=1YbhgaJBAiv0p_nP -Aleksmeow;361;https://www.youtube.com/watch?v=qpi5H7HFA4U -41zalyt;248;https://youtu.be/bkL1OBzNyco -41zalyt;183;https://youtu.be/pZPxZrvt9ZI -41zalyt;82;https://youtu.be/gpHT55GEUCc -41zalyt;156;https://www.youtube.com/watch?v=OlIwunqWEWY -Sharix;183;https://youtu.be/wWECk2qlli8?si=aT3RZfciBXg5r74z -Sharix;248;https://youtu.be/vCKQGqgczws?si=QejkUHBb-AQuV_0Y -pumpk1n;183;https://www.youtube.com/watch?v=gt6XJ0hE9Zs -pumpk1n;248;https://www.youtube.com/watch?v=gt6XJ0hE9Zs -pumpk1n;361;https://www.youtube.com/watch?v=gt6XJ0hE9Zs -pumpk1n;391;https://www.youtube.com/watch?v=ZAm83c_Nqxw -Faf;183;https://www.youtube.com/watch?v=zajNx3lWCeM -Faf;248;https://www.youtube.com/watch?v=M6KBHlEr2Yg -KaiZz;183;https://youtu.be/fre-svcV01E?si=rqscd5y3GJwLEtHi -IceGameGD;183;# -IceGameGD;248;https://youtu.be/-QEbSj1pG48?si=-lELbhfRVLIZ-Cce -IceGameGD;361;https://youtu.be/ik837TWura4?si=T7CXWHIvG4aEegl2 -IceGameGD;82;https://youtu.be/sLMLxmpKYso?si=O8Z58eQINFbB26Bc -Faf;156;https://www.youtube.com/watch?v=AZXW-v7FIqA -Faf;361;https://www.youtube.com/watch?v=lazQl7lFp0w -Faf;82;https://www.youtube.com/watch?v=EbBafHWHZ9A -Faf;343;https://www.youtube.com/watch?v=VxONZ1X7ABc -Sharix;78;https://youtu.be/VPbSjzRm4sM -Sharix;156;https://youtu.be/Ghul3JHqDvw -Sharix;361;https://youtu.be/hWfW9OC7gR4 -Sigma;248;https://youtu.be/Re0-iLD56LI?si=-IWPWxei-09MTWhM -Faf;292;https://www.youtube.com/watch?v=Qnay2-aMEDQ -Faf;78;https://www.youtube.com/watch?v=EgitQ0TEuCg -Sharix;292;https://youtu.be/TfB_b8pGHkU?si=4fh-bxq-_Ip9NVH3 -Sharix;82;https://youtu.be/e4dIluRovYA?si=2Fna1YBLO7oQzxCr -Sharix;343;https://youtu.be/DmGOzm-dR_g?si=UCwEoRktHX3seJHt -Aleksmeow;590;https://www.youtube.com/watch?v=-aC2ii0sBkY -Aleksmeow;183;https://www.youtube.com/watch?v=btmDgSSpMSs -Byblic;183;https://youtu.be/WyVDb9zhkl8?feature=shared -Byblic;361;https://youtu.be/LxBTohgdVrE?si=FGokmrlN5KtsPdl1 -LIR4KGD;391;https://youtu.be/VMhLPCP7Na4?si=8stcrR3FqRua3Dkp -LIR4KGD;292;https://youtu.be/kStqDTjFwDQ?si=w9aYDR6zWsFuPf-H -LIR4KGD;156;https://youtu.be/KKP0TKUf5jQ?si=QWyvMI17FgHaxGLj -LIR4KGD;82;https://youtu.be/vbbHTq4YJwE?si=aI1CQCBVAkFR3E5y -LIR4KGD;361;https://youtu.be/YeJ1u7rqVng?si=NNaSqMIRaUgLVdgY -LIR4KGD;183;https://youtu.be/xyDr6lnFT8U?si=dOQyNoY7ejT4bwza -LIR4KGD;343;https://youtu.be/gBOidRcN9VY?si=dBqoyowORNfyScFz -LIR4KGD;78;https://youtu.be/KcaBff4fUwA -LIR4KGD;248;https://youtu.be/ezT-QlcGUyI -WaRRioRR;912;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J -WaRRioRR;183;https://youtu.be/rTzHFnKT7uo -WaRRioRR;248;https://youtu.be/knOnwLVxi_o -WaRRioRR;361;https://youtu.be/BJZQ-G6oJxw -WaRRioRR;343;https://youtu.be/t6BdkvD3RqA -WaRRioRR;82;https://youtu.be/MSPQGOuATe0 -WaRRioRR;156;https://youtu.be/7pjBeUwHLdc -WaRRioRR;292;https://youtu.be/Fqja3L-ThY0 -WaRRioRR;391;https://youtu.be/2Yqe618VzKU -WaRRioRR;78;https://youtu.be/INBg2E1apmk?si=1oUpaqBcBziRgstN -Wither1cyrrilic;183;https://youtu.be/uDfyrcsctN0?si=ZX7WUqWIAqdSxNWg -EckToTick;82;https://youtu.be/i6VunmD4PA8?si=Ez5MDi1jXsoOqYa- -EckToTick;343;https://youtu.be/WEpc2Hy8XDM?si=WCih9aIOThwJabYC -EckToTick;361;https://youtu.be/DuKnOIox0zY?si=7_rjzAsoNNRrULDA -EckToTick;78;https://youtu.be/-rRkMz3n7X8?si=0ogpwAg-N2WmTOwm -Gimlagi2;361;https://youtu.be/txmsQwq6r6k?si=MykygFbjfaHltqfe +sy3rena;292;_demons;https://youtu.be/ge_pm5SaRfo +sy3rena;248;_demons;https://youtu.be/zLc72ox6HKc +sy3rena;156;_demons;https://youtu.be/TrDJHH-aMzc +sy3rena;82;_demons;https://youtu.be/TaRbsVGIVv0 +sy3rena;343;_demons;https://youtu.be/DE0wEAlV6Tg +KaiZz;82;_demons;https://youtu.be/kxkg-FaE6_0 +KaiZz;78;_demons;https://youtu.be/iTaSIGdfVlA +Sharix;391;_demons;https://youtu.be/ZBzlWKrssE8 +yefool;391;_demons;https://youtu.be/3S8n0Sjx6K8 +yefool;343;_demons;https://youtu.be/O0mTbVUH3pg +yefool;292;_demons;https://youtu.be/UsLctjkAQ3g?si=_zqK2eE1SfiCiPM7 +yefool;156;_demons;https://youtu.be/xv_RCuMEVHE +yefool;78;_demons;https://youtu.be/BMDRcW-wVqI +yefool;248;_demons;https://youtu.be/wosNBnnDEUE +yefool;361;_demons;https://youtu.be/l2iCOM4wJLY +yefool;82;_demons;https://youtu.be/7r33j3EssH0?si=L6BjszBfc2g4EiWJ +yefool;183;_demons;https://youtu.be/CLqQGcMXk3U?si=1YbhgaJBAiv0p_nP +Aleksmeow;361;_demons;https://www.youtube.com/watch?v=qpi5H7HFA4U +41zalyt;248;_demons;https://youtu.be/bkL1OBzNyco +41zalyt;183;_demons;https://youtu.be/pZPxZrvt9ZI +41zalyt;82;_demons;https://youtu.be/gpHT55GEUCc +41zalyt;156;_demons;https://www.youtube.com/watch?v=OlIwunqWEWY +Sharix;183;_demons;https://youtu.be/wWECk2qlli8?si=aT3RZfciBXg5r74z +Sharix;248;_demons;https://youtu.be/vCKQGqgczws?si=QejkUHBb-AQuV_0Y +pumpk1n;183;_demons;https://www.youtube.com/watch?v=gt6XJ0hE9Zs +pumpk1n;248;_demons;https://www.youtube.com/watch?v=gt6XJ0hE9Zs +pumpk1n;361;_demons;https://www.youtube.com/watch?v=gt6XJ0hE9Zs +pumpk1n;391;_demons;https://www.youtube.com/watch?v=ZAm83c_Nqxw +Faf;183;_demons;https://www.youtube.com/watch?v=zajNx3lWCeM +Faf;248;_demons;https://www.youtube.com/watch?v=M6KBHlEr2Yg +KaiZz;183;_demons;https://youtu.be/fre-svcV01E?si=rqscd5y3GJwLEtHi +IceGameGD;183;_demons;# +IceGameGD;248;_demons;https://youtu.be/-QEbSj1pG48?si=-lELbhfRVLIZ-Cce +IceGameGD;361;_demons;https://youtu.be/ik837TWura4?si=T7CXWHIvG4aEegl2 +IceGameGD;82;_demons;https://youtu.be/sLMLxmpKYso?si=O8Z58eQINFbB26Bc +Faf;156;_demons;https://www.youtube.com/watch?v=AZXW-v7FIqA +Faf;361;_demons;https://www.youtube.com/watch?v=lazQl7lFp0w +Faf;82;_demons;https://www.youtube.com/watch?v=EbBafHWHZ9A +Faf;343;_demons;https://www.youtube.com/watch?v=VxONZ1X7ABc +Sharix;78;_demons;https://youtu.be/VPbSjzRm4sM +Sharix;156;_demons;https://youtu.be/Ghul3JHqDvw +Sharix;361;_demons;https://youtu.be/hWfW9OC7gR4 +Sigma;248;_demons;https://youtu.be/Re0-iLD56LI?si=-IWPWxei-09MTWhM +Faf;292;_demons;https://www.youtube.com/watch?v=Qnay2-aMEDQ +Faf;78;_demons;https://www.youtube.com/watch?v=EgitQ0TEuCg +Sharix;292;_demons;https://youtu.be/TfB_b8pGHkU?si=4fh-bxq-_Ip9NVH3 +Sharix;82;_demons;https://youtu.be/e4dIluRovYA?si=2Fna1YBLO7oQzxCr +Sharix;343;_demons;https://youtu.be/DmGOzm-dR_g?si=UCwEoRktHX3seJHt +Aleksmeow;590;_demons;https://www.youtube.com/watch?v=-aC2ii0sBkY +Aleksmeow;391;_demons;https://www.youtube.com/watch?v=btmDgSSpMSs +Byblic;183;_demons;https://youtu.be/WyVDb9zhkl8?feature=shared +Byblic;361;_demons;https://youtu.be/LxBTohgdVrE?si=FGokmrlN5KtsPdl1 +LIR4KGD;391;_demons;https://youtu.be/VMhLPCP7Na4?si=8stcrR3FqRua3Dkp +LIR4KGD;292;_demons;https://youtu.be/kStqDTjFwDQ?si=w9aYDR6zWsFuPf-H +LIR4KGD;156;_demons;https://youtu.be/KKP0TKUf5jQ?si=QWyvMI17FgHaxGLj +LIR4KGD;82;_demons;https://youtu.be/vbbHTq4YJwE?si=aI1CQCBVAkFR3E5y +LIR4KGD;361;_demons;https://youtu.be/YeJ1u7rqVng?si=NNaSqMIRaUgLVdgY +LIR4KGD;183;_demons;https://youtu.be/xyDr6lnFT8U?si=dOQyNoY7ejT4bwza +LIR4KGD;343;_demons;https://youtu.be/gBOidRcN9VY?si=dBqoyowORNfyScFz +LIR4KGD;78;_demons;https://youtu.be/KcaBff4fUwA +LIR4KGD;248;_demons;https://youtu.be/ezT-QlcGUyI +WaRRioRR;912;_demons;https://youtu.be/P9KsSANBLyo?si=lCTYYp0W8RRE0G1J +WaRRioRR;183;_demons;https://youtu.be/rTzHFnKT7uo +WaRRioRR;248;_demons;https://youtu.be/knOnwLVxi_o +WaRRioRR;361;_demons;https://youtu.be/BJZQ-G6oJxw +WaRRioRR;343;_demons;https://youtu.be/t6BdkvD3RqA +WaRRioRR;82;_demons;https://youtu.be/MSPQGOuATe0 +WaRRioRR;156;_demons;https://youtu.be/7pjBeUwHLdc +WaRRioRR;292;_demons;https://youtu.be/Fqja3L-ThY0 +WaRRioRR;391;_demons;https://youtu.be/2Yqe618VzKU +WaRRioRR;78;_demons;https://youtu.be/INBg2E1apmk?si=1oUpaqBcBziRgstN +Wither1cyrrilic;183;_demons;https://youtu.be/uDfyrcsctN0?si=ZX7WUqWIAqdSxNWg +EckToTick;82;_demons;https://youtu.be/i6VunmD4PA8?si=Ez5MDi1jXsoOqYa- +EckToTick;343;_demons;https://youtu.be/WEpc2Hy8XDM?si=WCih9aIOThwJabYC +EckToTick;361;_demons;https://youtu.be/DuKnOIox0zY?si=7_rjzAsoNNRrULDA +EckToTick;78;_demons;https://youtu.be/-rRkMz3n7X8?si=0ogpwAg-N2WmTOwm +Gimlagi2;361;_demons;https://youtu.be/txmsQwq6r6k?si=MykygFbjfaHltqfe \ No newline at end of file diff --git a/demonlist/roulette.txt b/demonlist/roulette.txt index ca13f60..17c9826 100644 --- a/demonlist/roulette.txt +++ b/demonlist/roulette.txt @@ -111,4 +111,4 @@ dorawave;MasterCube;114 pau boom;JGD;103 lifelocked;Michigun;74 Bil Da vsplil;MrHarm;51 -eee banana;Grom5k;39 +eee banana;Grom5k;39 \ No newline at end of file diff --git a/dl.html b/dl.html deleted file mode 100644 index 753ede0..0000000 --- a/dl.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - YarGo | Demonlist - - - - - -
- -
- - -
- - - - - - - - - \ No newline at end of file diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index e482b73..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/assets/googlebca703422fd31af1.html b/googlebca703422fd31af1.html similarity index 100% rename from assets/googlebca703422fd31af1.html rename to googlebca703422fd31af1.html diff --git a/img/admins/shizu.png b/img/admins/shizu.png new file mode 100644 index 0000000..0ac3094 Binary files /dev/null and b/img/admins/shizu.png differ diff --git a/img/admins/tudasuda.png b/img/admins/tudasuda.png new file mode 100644 index 0000000..4475a8e Binary files /dev/null and b/img/admins/tudasuda.png differ diff --git a/img/admins/xeobry.png b/img/admins/xeobry.png new file mode 100644 index 0000000..051125c Binary files /dev/null and b/img/admins/xeobry.png differ diff --git a/assets/img/adms/YarGo.png b/img/admins/yargo.png similarity index 100% rename from assets/img/adms/YarGo.png rename to img/admins/yargo.png diff --git a/img/admins/yefool.png b/img/admins/yefool.png new file mode 100644 index 0000000..395f1dd Binary files /dev/null and b/img/admins/yefool.png differ diff --git a/assets/img/icon/cp.png b/img/icon/cp.png similarity index 100% rename from assets/img/icon/cp.png rename to img/icon/cp.png diff --git a/assets/img/icon/demon.png b/img/icon/demons.png similarity index 100% rename from assets/img/icon/demon.png rename to img/icon/demons.png diff --git a/img/icon/ds.png b/img/icon/ds.png new file mode 100644 index 0000000..49afb91 Binary files /dev/null and b/img/icon/ds.png differ diff --git a/assets/img/icon/star.png b/img/icon/stars.png similarity index 100% rename from assets/img/icon/star.png rename to img/icon/stars.png diff --git a/assets/img/lvls/156.png b/img/levels/156.png similarity index 100% rename from assets/img/lvls/156.png rename to img/levels/156.png diff --git a/assets/img/lvls/183.png b/img/levels/183.png similarity index 100% rename from assets/img/lvls/183.png rename to img/levels/183.png diff --git a/assets/img/lvls/248.png b/img/levels/248.png similarity index 100% rename from assets/img/lvls/248.png rename to img/levels/248.png diff --git a/assets/img/lvls/292.png b/img/levels/292.png similarity index 100% rename from assets/img/lvls/292.png rename to img/levels/292.png diff --git a/assets/img/lvls/343.png b/img/levels/343.png similarity index 100% rename from assets/img/lvls/343.png rename to img/levels/343.png diff --git a/assets/img/lvls/361.png b/img/levels/361.png similarity index 100% rename from assets/img/lvls/361.png rename to img/levels/361.png diff --git a/assets/img/lvls/391.png b/img/levels/391.png similarity index 100% rename from assets/img/lvls/391.png rename to img/levels/391.png diff --git a/assets/img/lvls/401.jpg b/img/levels/401.jpg similarity index 100% rename from assets/img/lvls/401.jpg rename to img/levels/401.jpg diff --git a/assets/img/lvls/52.png b/img/levels/52.png similarity index 100% rename from assets/img/lvls/52.png rename to img/levels/52.png diff --git a/assets/img/lvls/590.png b/img/levels/590.png similarity index 100% rename from assets/img/lvls/590.png rename to img/levels/590.png diff --git a/assets/img/lvls/695.png b/img/levels/695.png similarity index 100% rename from assets/img/lvls/695.png rename to img/levels/695.png diff --git a/assets/img/lvls/78.png b/img/levels/78.png similarity index 100% rename from assets/img/lvls/78.png rename to img/levels/78.png diff --git a/assets/img/lvls/82.png b/img/levels/82.png similarity index 100% rename from assets/img/lvls/82.png rename to img/levels/82.png diff --git a/assets/img/912.png b/img/levels/912.png similarity index 100% rename from assets/img/912.png rename to img/levels/912.png diff --git a/img/levels/_cl.png b/img/levels/_cl.png new file mode 100644 index 0000000..2c217df Binary files /dev/null and b/img/levels/_cl.png differ diff --git a/img/levels/_dl.png b/img/levels/_dl.png new file mode 100644 index 0000000..b933f0c Binary files /dev/null and b/img/levels/_dl.png differ diff --git a/img/levels/_pl.png b/img/levels/_pl.png new file mode 100644 index 0000000..ccf064c Binary files /dev/null and b/img/levels/_pl.png differ diff --git a/img/logo/favicon.ico b/img/logo/favicon.ico new file mode 100644 index 0000000..5cdead0 Binary files /dev/null and b/img/logo/favicon.ico differ diff --git a/img/logo/main.png b/img/logo/main.png new file mode 100644 index 0000000..5cdead0 Binary files /dev/null and b/img/logo/main.png differ diff --git a/index.html b/index.html index c322f1b..b499bd2 100644 --- a/index.html +++ b/index.html @@ -1,69 +1 @@ - - - - - - - YarGo | Home - - - - - - -
-
-
-
-

YarGo GDPS

-

Русско-язычный проект по Geometry Dash

-
Скачать
-
-
-
-
-
-
-
-

У нас вы легко сможете

- -
-
- -
-

Присоединяйтесь к нашему дискорду!

-

Если мы вас заинтересовали и вы хотите стать частью нашего большого и дружного комьюнити, заходите к нам в дискорд

-
-
- - - - - - - +YargoGDPS
\ No newline at end of file diff --git a/leaders.html b/leaders.html deleted file mode 100644 index f5f0278..0000000 --- a/leaders.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - YarGo | Home - - - - - -
-
- -
-
- - -
- - - - - - - - \ No newline at end of file diff --git a/news.html b/news.html deleted file mode 100644 index 9b3084a..0000000 --- a/news.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - YarGo | News - - - - - -
-
-
-
-

Новости

-
    -
    -
    -
    -
    -
    - - - - - - - - - \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index 125352b..0000000 --- a/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "yargo", - "version": "1.0.0", - "description": "", - "keywords": [], - "author": "", - "license": "ISC" -} \ No newline at end of file diff --git a/roulette.html b/roulette.html deleted file mode 100644 index 49f772f..0000000 --- a/roulette.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - YarGo | Home - - - - - -
    -
    -
    -

    Рулетка случайнных уровней

    -

    Попытайте свою удачу, попробовав пройти рулетку до конца. Ваша задача — установить 100 рекордов, по одному на каждом уровне, увеличивая необходимый процент на единицу с каждым уровнем. Здесь могут встречаться как очень лёгкие уровни, так и демоны с лидирующих строк демонлиста. Желаем удачи!

    -
    Начать
    -
    -
    - -
    - -
    - - - - - - - \ No newline at end of file diff --git a/src/admins.ts b/src/admins.ts deleted file mode 100644 index feac8f9..0000000 --- a/src/admins.ts +++ /dev/null @@ -1,58 +0,0 @@ -class Admins { - constructor() { - this.loadAdmins(); - } - - private loadAdmins():void { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/admins.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - - for(let i = 0; i < lines.length; i++) { - if(!lines[i]) continue; - - const params:ReadonlyArray = lines[i].split(';'); - this.addAdmin(params[0], params[1], params[2]); - } - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - } - - xhr.send(); - } - - private addAdmin(userName:string, role:string, desc:string):void { - const list:HTMLElement = document.getElementById('adms-list'); - const li:HTMLElement = document.createElement('li'); - li.className = 'adms-item'; - list.appendChild(li); - - const img:HTMLImageElement = document.createElement('img'); - img.src = './assets/img/adms/' + userName + '.png'; - img.alt = 'admin'; - li.appendChild(img); - - const text:HTMLElement = document.createElement('div'); - text.className = 'adms-item-text'; - li.appendChild(text); - - const h2:HTMLElement = document.createElement('h2'); - h2.textContent = userName + ' - ' + role; - text.appendChild(h2); - - const p:HTMLElement = document.createElement('p'); - p.textContent = desc; - text.appendChild(p); - } - - public getRandomInt(min:number, max:number):number { - min = Math.ceil(min); - max = Math.floor(max); - - return Math.floor(Math.random() * (max - min + 1)) + min; - } -} \ No newline at end of file diff --git a/src/closeModalWindow.ts b/src/closeModalWindow.ts deleted file mode 100644 index 68d9e52..0000000 --- a/src/closeModalWindow.ts +++ /dev/null @@ -1,10 +0,0 @@ -const modalWindow:HTMLElement = document.getElementById('modal-window'); -const digR:HTMLElement = document.getElementById('dig'); - -document.addEventListener('click', (e: MouseEvent) => { - if (modalWindow.classList.contains('active') && !modalWindow.contains(e.target)) { - document.body.style.overflowY = 'auto'; - modalWindow.classList.remove('active'); - digR.classList.remove('active'); - } -}); \ No newline at end of file diff --git a/src/dl.ts b/src/dl.ts deleted file mode 100644 index 118c404..0000000 --- a/src/dl.ts +++ /dev/null @@ -1,135 +0,0 @@ -class DLLIB { - constructor() { - this.MVLVLNAME = document.getElementById('dl-mw-lvlname'); - this.MV = document.getElementById('modal-window'); - this.DIG = document.getElementById('dig'); - this.MVUL = document.getElementById('mvul'); - } - - public getRandomInt(min:number, max:number):number { - min = Math.ceil(min); - max = Math.floor(max); - - return Math.floor(Math.random() * (max - min + 1)) + min; - } - - protected addDemon(name:string, author:string, id:string | number, link:string):void { - this.dli++; - - const list:HTMLElement = document.getElementById('dl'); - const item:HTMLElement = document.createElement('li'); - item.className = 'dl-item'; - list.appendChild(item); - - item.addEventListener('click', async (e:MouseEvent) => { - e.stopPropagation(); - this.rli = 0; - document.body.style.overflowY = 'hidden'; - - this.MVLVLNAME.textContent = name; - const records:any = await this.loadRecords(String(id)); - const rlines:Array = records.split('\n') as Array; - rlines.pop(); - - this.MVUL.innerHTML = ''; - - for(let i = 0; i < rlines.length; i++) { - const params = rlines[i].split(';'); - this.rli++; - - const li:HTMLElement = document.createElement('li'); - this.MVUL.appendChild(li); - - const a = document.createElement('a'); - a.textContent = this.rli.toString() + '. ' + params[0]; - a.href = params[2]; - li.appendChild(a); - } - - this.MV.classList.add('active'); - this.DIG.classList.add('active'); - }); - - const img:HTMLImageElement = document.createElement('img'); - img.src = './assets/img/lvls/' + id + '.png?' + this.getRandomInt(100000, 999999); - img.alt = ''; - item.appendChild(img); - - const div:HTMLElement = document.createElement('div'); - item.appendChild(div); - - const h2:HTMLElement = document.createElement('h2'); - h2.textContent = this.dli + '. ' + name; - div.appendChild(h2); - - const p:HTMLElement = document.createElement('p'); - p.textContent = 'by ' + author - div.appendChild(p); - } - - private async loadRecords(lvlID:string):Promise { - return new Promise((resolve, reject) => { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/records.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - let r = ''; - - for(let i = 0; i < lines.length; i++) { - if(!lines[i]) continue; - - if(lines[i].split(';')[1] == String(lvlID)) { - r += lines[i] + "\n"; - } - } - - resolve(r); - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - } - - xhr.send(); - }); - } - - private dli:number = 0; - private rli:number = 0; - - private MVLVLNAME:HTMLElement; - private MV:HTMLElement; - private DIG:HTMLElement; - private MVUL:HTMLElement; -} - -class Demonlist extends DLLIB { - constructor() { - super(); - this.loadDemons(); - } - - public loadDemons() { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/demons.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - - for(let i = 0; i < lines.length; i++) { - if(!lines[i]) continue; - - const params:ReadonlyArray = lines[i].split(';'); - this.addDemon(params[0], params[1], params[2].toString(), params[3]); - } - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - } - - xhr.send(); - } -} \ No newline at end of file diff --git a/src/footer.ts b/src/footer.ts deleted file mode 100644 index 9fdddc6..0000000 --- a/src/footer.ts +++ /dev/null @@ -1,71 +0,0 @@ -class Footer { - constructor() { - const footer:HTMLElement = document.getElementById('footer'); - const fcontainer = document.createElement('div'); - fcontainer.className = 'container-900px'; - footer.appendChild(fcontainer); - - const fbody:HTMLElement = document.createElement('div'); - fbody.className = 'footer-body'; - fcontainer.appendChild(fbody); - - const fcolumns:HTMLElement = document.createElement('div'); - fcolumns.className = 'footer-columns'; - fbody.appendChild(fcolumns); - - const fcolumn2:HTMLElement = document.createElement('div'); - fcolumn2.className = 'footer-column'; - fcolumns.appendChild(fcolumn2); - - const fcolumn2header:HTMLElement = document.createElement('h3'); - fcolumn2header.textContent = 'Приватный сервер'; - fcolumn2.appendChild(fcolumn2header); - - this.addFooterLink(fcolumn2, './leaders.html', 'Топ игроков'); - this.addFooterLink(fcolumn2, './roulette.html', 'Рулетка уровней'); - this.addFooterLink(fcolumn2, './news.html', 'Новости'); - this.addFooterLink(fcolumn2, 'https://gofruit.space/gdps/053m', 'Скачать'); - - const fcolumn3:HTMLElement = document.createElement('div'); - fcolumn3.className = 'footer-column'; - fcolumns.appendChild(fcolumn3); - - const fcolumn3header:HTMLElement = document.createElement('h3'); - fcolumn3header.textContent = 'Соц. Сети'; - fcolumn3.appendChild(fcolumn3header); - - this.addFooterLink(fcolumn3, 'https://discord.gg/8ETWhDsSKH', 'Дискорд'); - this.addFooterLink(fcolumn3, 'https://t.me/YarGoYT', 'Телеграмм'); - this.addFooterLink(fcolumn3, 'https://www.youtube.com/@YarGo_', 'Ютуб'); - - const fcolumn1:HTMLElement = document.createElement('div'); - fcolumn1.className = 'footer-column'; - fcolumns.appendChild(fcolumn1); - - const fcolumn1header:HTMLElement = document.createElement('h3'); - fcolumn1header.textContent = 'Команда'; - fcolumn1.appendChild(fcolumn1header); - - this.addFooterLink(fcolumn1, './about.html', 'О нас'); - this.addFooterLink(fcolumn1, 'https://github.com/yargogdpsofficial/yargogdpsofficial', 'GitHub'); - - const copyright:HTMLElement = document.createElement('div'); - fbody.appendChild(copyright); - - const copyrighth3:HTMLElement = document.createElement('h3'); - copyrighth3.textContent = 'YarGo © 2024'; - copyright.appendChild(copyrighth3); - } - - private addFooterLink(column:HTMLElement, href:string, str:string) { - const p:HTMLElement = document.createElement('p'); - column.appendChild(p); - - const a = document.createElement('a'); - a.textContent = str; - a.href = href; - p.appendChild(a); - } -} - -const footer = new Footer(); diff --git a/src/header.ts b/src/header.ts deleted file mode 100644 index 76c6888..0000000 --- a/src/header.ts +++ /dev/null @@ -1,84 +0,0 @@ -class Header { - constructor() { - const header:HTMLElement = document.getElementById('header'); - const hcontainer:HTMLElement = document.createElement('div'); - hcontainer.className = 'container-900px'; - header.appendChild(hcontainer); - - const hbody:HTMLElement = document.createElement('div'); - hbody.className = 'header-body'; - hcontainer.appendChild(hbody); - - const hlogo:HTMLElement = document.createElement('div'); - hlogo.className = 'header-logo'; - hbody.appendChild(hlogo); - - const hlogoLink = document.createElement('a'); - hlogoLink.href = '/'; - hlogo.appendChild(hlogoLink); - - const hlogoImg:HTMLImageElement = document.createElement('img'); - hlogoImg.src = './assets/img/logo/main.png'; - hlogoImg.alt = ''; - hlogoLink.appendChild(hlogoImg); - - const hlogoP:HTMLElement = document.createElement('h4'); - hlogoP.textContent = 'YarGoGDPS'; - hlogoLink.appendChild(hlogoP); - - const hnav:HTMLElement = document.createElement('div'); - hnav.className = 'header-nav'; - hnav.id = 'menu'; - hbody.appendChild(hnav); - - const hnavtrue:HTMLElement = document.createElement('nav'); - hnav.appendChild(hnavtrue); - - this.hnavlist = document.createElement('ul'); - this.hnavlist.className = 'header-list'; - hnavtrue.appendChild(this.hnavlist); - - for(let i = 0; i < this.linksUrl.length; i++) this.addHeaderLink(this.linksUrl[i].url, this.linksUrl[i].linkName); - - const hlogin:HTMLElement = document.createElement('li'); - hlogin.className = 'header-log'; - hlogin.id = 'auth-link'; - this.hnavlist.appendChild(hlogin); - - const dwnl:HTMLElement = document.createElement('p'); - dwnl.id = 'auth-p'; - dwnl.textContent = 'Скачать'; - dwnl.addEventListener('click', () => location.href = 'https://gofruit.space/gdps/053m'); - hlogin.appendChild(dwnl); - - const hhamburger:HTMLElement = document.createElement('div'); - hhamburger.className = 'hamburger'; - hhamburger.id = 'hamburger'; - hbody.appendChild(hhamburger); - - const hhamburgerSpan:HTMLElement = document.createElement('span'); - hhamburger.appendChild(hhamburgerSpan); - } - - private addHeaderLink(href: string, str: string):void { - const li:HTMLElement = document.createElement('li'); - this.hnavlist.appendChild(li); - - const a = document.createElement('a'); - a.textContent = str; - a.href = href; - li.appendChild(a); - - const hr:HTMLElement = document.createElement('hr'); - li.appendChild(hr); - } - - private hnavlist:HTMLElement; - private linksUrl:ReadonlyArray = [ - { linkName: 'Главная', url: './' }, - { linkName: 'Новости', url: './news.html' }, - { linkName: 'Демонлист', url: './dl.html' }, - ]; -} - -const header = new Header(); diff --git a/src/headerBorder.ts b/src/headerBorder.ts deleted file mode 100644 index 3eae27e..0000000 --- a/src/headerBorder.ts +++ /dev/null @@ -1,9 +0,0 @@ -const headerBlock:HTMLElement = document.getElementById('header'); - -window.addEventListener('scroll', () => { - if(window.scrollY > 0) { - headerBlock.classList.add('border-bottom'); - } else { - headerBlock.classList.remove('border-bottom'); - } -}); \ No newline at end of file diff --git a/src/leaders.ts b/src/leaders.ts deleted file mode 100644 index 7db999a..0000000 --- a/src/leaders.ts +++ /dev/null @@ -1,189 +0,0 @@ -class Leaders { - constructor() { - this.list = document.getElementById('leaders-list'); - this.i = 0; - - this.MVLVLNAME = document.getElementById('dl-mw-lvlname'); - this.MV = document.getElementById('modal-window'); - this.DIG = document.getElementById('dig'); - this.MVUL = document.getElementById('mvul'); - } - - public getRandomInt(min:number, max:number):number { - min = Math.ceil(min); - max = Math.floor(max); - - return Math.floor(Math.random() * (max - min + 1)) + min; - } - - private addPlayer(username:string, role:string):void { - this.i++; - role = role.replace(' ', ''); - const item:HTMLElement = document.createElement('li'); - item.className = 'leaders-item'; - this.list.appendChild(item); - - item.addEventListener('click', async (e:MouseEvent) => { - e.stopPropagation(); - this.rli = 0; - document.body.style.overflowY = 'hidden'; - - this.MVLVLNAME.textContent = 'Рекорды ' + username; - const records:any = await this.loadRecords(username); - const rlines:Array = records.split('\n') as Array; - rlines.pop(); - - this.MVUL.innerHTML = ''; - - for(let i = 0; i < rlines.length; i++) { - const params = rlines[i].split(';'); - this.rli++; - - const li:HTMLElement = document.createElement('li'); - this.MVUL.appendChild(li); - - const a = document.createElement('a'); - a.textContent = this.rli.toString() + '. ' + params[0]; - a.href = params[1]; - li.appendChild(a); - } - - this.MV.classList.add('active'); - this.DIG.classList.add('active'); - }); - - const h3:HTMLElement = document.createElement('h3'); - h3.textContent = '#' + this.i + ' ' + username; - item.appendChild(h3); - - if(role != 'null') { - const img:any = document.createElement('img'); - img.alt = ''; - - if(role == 'mod') { - img.src = './assets/img/icon/mod.png'; - } else if(role == 'emod') { - img.src = './assets/img/icon/elder_mod.png'; - } else { - img.src = './assets/img/icon/null.png'; - console.log(role) - } - - item.appendChild(img); - } - } - - public async loadLeaders():Promise { - return new Promise((resolve, reject) => { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/leaders.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - let r = ''; - - for(let i:number = 0; i < lines.length; i++) { - if(!lines[i]) continue; - - const params:ReadonlyArray = lines[i].split(';'); - this.addPlayer(params[0], params[1]); - } - - resolve('1'); - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - } - - xhr.send(); - }); - } - - private async loadRecords(userName:string):Promise { - return new Promise((resolve, reject) => { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/records.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = async () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - let r = ''; - - for(let i:number = 0; i < lines.length; i++) { - if(!lines[i]) continue; - else if(lines[i].split(';')[0] == userName) { - const lvlname:string = await this.getLvlnameFromID(lines[i].split(';')[1]); - r += lvlname + ';' + lines[i].split(';')[2] + "\n"; - } - } - - resolve(r); - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - } - - xhr.send(); - }); - } - - private async getLvlnameFromID(lvlID:string):Promise { - return new Promise((resolve, reject) => { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/demons.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - let r = ''; - - for(let i:number = 0; i < lines.length; i++) { - if(!lines[i]) continue; - else if(lines[i].split(';')[2] == lvlID) resolve(lines[i].split(';')[0]); - } - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - } - - xhr.send(); - }); - } - - private list:HTMLElement; - private i:number = 0; - - private rli:number = 0; - private MVLVLNAME:HTMLElement; - private MV:HTMLElement; - private DIG:HTMLElement; - private MVUL:HTMLElement; -} - -const l:Leaders = new Leaders(); -leaders(); -async function leaders() { - await l.loadLeaders(); - - const search:HTMLInputElement = document.getElementById('searchLeaders'); - const listItems:any = document.querySelectorAll('.leaders-item'); - - search.addEventListener('input', (e) => { - const filter = search.value.toLowerCase(); - - for (let i = 0; i < listItems.length; i++) { - const item = listItems[i]; - const text = item.textContent || item.innerText; - - if (text.toLowerCase().indexOf(filter) > -1) { - item.classList.remove('hidden'); - } else { - item.classList.add('hidden'); - } - } - }); -} \ No newline at end of file diff --git a/src/loadAdmins.ts b/src/loadAdmins.ts deleted file mode 100644 index 61ee400..0000000 --- a/src/loadAdmins.ts +++ /dev/null @@ -1 +0,0 @@ -const adms = new Admins(); \ No newline at end of file diff --git a/src/loadDL.ts b/src/loadDL.ts deleted file mode 100644 index 97b1ac6..0000000 --- a/src/loadDL.ts +++ /dev/null @@ -1 +0,0 @@ -const dl = new Demonlist(); \ No newline at end of file diff --git a/src/loadNews.ts b/src/loadNews.ts deleted file mode 100644 index 00ad7ae..0000000 --- a/src/loadNews.ts +++ /dev/null @@ -1 +0,0 @@ -const news = new Announcements(); \ No newline at end of file diff --git a/src/menu.ts b/src/menu.ts deleted file mode 100644 index 6887b58..0000000 --- a/src/menu.ts +++ /dev/null @@ -1,8 +0,0 @@ -const hamburger:HTMLElement = document.getElementById('hamburger'); -const menu:HTMLElement = document.getElementById('menu'); - -hamburger.addEventListener('click', () => { - !hamburger.classList.contains('active') ? document.body.style.overflowY = 'hidden' : document.body.style.overflowY = 'auto' - hamburger.classList.toggle('active'); - menu.classList.toggle('active'); -}); \ No newline at end of file diff --git a/src/news.ts b/src/news.ts deleted file mode 100644 index de5233f..0000000 --- a/src/news.ts +++ /dev/null @@ -1,71 +0,0 @@ -class Announcements { - constructor() { - this.loadNews(); - } - - private loadNews() { - const xhr:XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/news.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - const lines:ReadonlyArray = xhr.responseText.split('\n'); - - for(let i = 0; i < lines.length; i++) { - if(!lines[i]) continue; - - const params:ReadonlyArray = lines[i].split(';'); - this.addNews(params[0], params[1]); - } - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - } - } - - xhr.send(); - } - - private addNewsListPost(header:string):void { - const postsList:HTMLElement = document.querySelector('.blog-headers-list'); - const li:HTMLElement = document.createElement('li'); - li.className = 'blog-headers-item'; - postsList.appendChild(li); - - const a = document.createElement('a'); - a.href = '#blog-post_' + this.id; - a.textContent = header; - li.appendChild(a); - } - - private addNews(header:string, text:string):void { - this.id++; - - const blogContent:HTMLElement = document.querySelector('.blog-content'); - const post:HTMLElement = document.createElement('div'); - post.className = 'blog-post'; - blogContent.appendChild(post); - - const blogHeader:HTMLElement = document.createElement('h1'); - blogHeader.textContent = header; - blogHeader.id = 'blog-post_' + this.id; - post.appendChild(blogHeader); - - const lines = text.split('/'); - for(let i = 0; i < lines.length; i++) { - const p = document.createElement('p'); - p.textContent = lines[i]; - post.appendChild(p); - } - - this.addNewsListPost(header); - } - - public getRandomInt(min:number, max:number):number { - min = Math.ceil(min); - max = Math.floor(max); - - return Math.floor(Math.random() * (max - min + 1)) + min; - } - - private id:number = 0; -} \ No newline at end of file diff --git a/src/roulette.ts b/src/roulette.ts deleted file mode 100644 index 101a7d9..0000000 --- a/src/roulette.ts +++ /dev/null @@ -1,93 +0,0 @@ -class Roulette { - constructor() { - const startBtn:HTMLElement = document.getElementById('start-roulette'); - const startMenu:HTMLElement = document.querySelector('.start-roulette'); - this.roulette = document.getElementById('roulette'); - - startBtn.addEventListener('click', async () => { - startMenu.style.display = 'none'; - this.list = await this.getList(); - this.usedIndexes = new Set(); // Инициализация множества использованных индексов - this.addLevel(); - }); - } - - private usedIndexes: Set = new Set(); // Множество для хранения использованных индексов - private list: string = ''; - private i: number = 0; - private roulette: HTMLElement; - - private addLevel(): void { - const list = this.list.split('\n'); - - // Проверка на наличие доступных уровней - if (this.usedIndexes.size >= list.length) { - console.log("Все уровни уже использованы!"); - return; - } - - let index: number; - do { - index = this.getRandomInt(0, list.length - 1); - } while (this.usedIndexes.has(index)); // Проверяем, использовался ли индекс - - this.usedIndexes.add(index); // Добавляем индекс в использованные индексы - const level = list[index].split(';'); - this.i++; - - const li: HTMLElement = document.createElement('li'); - li.className = 'roulette-item'; - this.roulette.appendChild(li); - - const liText: HTMLElement = document.createElement('div'); - liText.className = 'roulette-item-text'; - li.appendChild(liText); - - const h2: HTMLElement = document.createElement('h2'); - h2.textContent = '#' + this.i + ': ' + level[0]; - liText.appendChild(h2); - - const p: HTMLElement = document.createElement('p'); - p.textContent = 'By ' + level[1] + ' (ID: ' + level[2].replace(/ /g, '') + ')'; - liText.appendChild(p); - - if (this.i < 100 && this.usedIndexes.size < list.length) { - const nextLvl: HTMLElement = document.createElement('div'); - nextLvl.className = 'next-lvl'; - nextLvl.textContent = 'Следующий уровень'; - li.appendChild(nextLvl); - - nextLvl.addEventListener('click', () => { - nextLvl.style.display = 'none'; - this.addLevel(); - }); - } - } - - private getList(): Promise { - return new Promise((resolve, reject) => { - const xhr: XMLHttpRequest = new XMLHttpRequest(); - xhr.open('GET', './demonlist/roulette.txt?' + this.getRandomInt(0, 999), true); - - xhr.onload = () => { - if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.responseText); - } else { - console.error('Ошибка при выполнении запроса: ', xhr.statusText); - reject(xhr.statusText); - } - } - - xhr.send(); - }); - } - - public getRandomInt(min: number, max: number): number { - min = Math.ceil(min); - max = Math.floor(max); - - return Math.floor(Math.random() * (max - min + 1)) + min; - } -} - -const r = new Roulette(); diff --git a/src/searchPlayers.ts b/src/searchPlayers.ts deleted file mode 100644 index 79c7f4b..0000000 --- a/src/searchPlayers.ts +++ /dev/null @@ -1,19 +0,0 @@ -document.addEventListener('DOMContentLoaded', () => { - const search:HTMLInputElement = document.getElementById('searchLeaders'); - const listItems:any = document.querySelectorAll('.leaders-item'); - - search.addEventListener('input', (e) => { - const filter = search.value.toLowerCase(); - - for (let i = 0; i < listItems.length; i++) { - const item = listItems[i]; - const text = item.textContent || item.innerText; - - if (text.toLowerCase().indexOf(filter) > -1) { - item.classList.remove('hidden'); - } else { - item.classList.add('hidden'); - } - } - }); -}); \ No newline at end of file diff --git a/static/js/main.eeee09d6.js b/static/js/main.eeee09d6.js new file mode 100644 index 0000000..aa19bcd --- /dev/null +++ b/static/js/main.eeee09d6.js @@ -0,0 +1,3 @@ +/*! For license information please see main.eeee09d6.js.LICENSE.txt */ +(()=>{var e={783:e=>{e.exports=class{static generate(e){for(var t="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r{"use strict";var r=n(43),a=n(853);function l(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n