diff --git a/cdn/css/navbar.css b/cdn/css/navbar.css deleted file mode 100644 index 975778e..0000000 --- a/cdn/css/navbar.css +++ /dev/null @@ -1,188 +0,0 @@ - -/* - * # Navbar Standing - * - * @description - * Estilo para a barra de navegação principal, responsiva para telas de computador. - * Inclui configurações de layout, animações e interações de usuário. -*/ - -#navbar-standing { - position: relative; - display: flex; - padding: 10px; - justify-content: space-between; - z-index: 10; - align-items: center; - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); -} -#navbar-standing:after { - content: ''; - position: absolute; - bottom: -10px; - left: 0; - right: 0; - height: 20px; - background: linear-gradient(to bottom, var(--layout-dark), var(--layout)); - border-radius: 55%; -} -#navbar-standing .status { - padding: 5px; - color: var(--text-color); - border-bottom: 1px solid #ccc; - cursor: pointer; - border-radius: 100px; - background-color: var(--layout-dark); - transition: - background-color 0.3s ease, - transform 0.1s ease; -} -#navbar-standing .status:hover, -#navbar-standing .status:active { - transform: scale(0.95); -} -#navbar-standing .status span { - font-size: 12px; - - color: var(--text-color); -} -#navbar-standing input[type='checkbox'] { - display: none; -} -#navbar-standing .menu-bt { - z-index: 999; - cursor: pointer; - position: relative; -} -#navbar-standing .menu-bt:before { - content: '\ef5b'; - font-family: 'boxicons'; - display: block; - line-height: initial; - width: 25px; - height: 25px; - font-size: 25px; - font-weight: normal; - transition: 0.5s; - color: var(--text-color); -} -#navbar-standing .menu-bt.right:before { - content: '\eb5f'; - font-family: 'boxicons'; -} -#navbar-standing [id*='menu-']:checked + .menu-bt:before { - color: var(--text-color); - transform: rotate(180deg); -} -#navbar-standing [id*='menu-']:checked ~ .nav-menu { - box-shadow: - 0 0 12px rgba(0, 0, 0, 0.1), - 0 0 32px rgba(0, 0, 0, 0.2); - transform: translate(0); -} -#navbar-standing .nav-menu { - position: fixed; - top: 0; - z-index: 998; - height: 100vh; - width: 80%; - max-width: 320px; - transition: 0.5s; - box-shadow: - 0 0 12px rgba(0, 0, 0, 0), - 0 0 32px rgba(0, 0, 0, 0); -} -#navbar-standing .nav-menu.right { - right: 0; - background: #222; - transform: translate(100%); -} -#navbar-standing .nav-menu h2 { - color: rgba(255, 255, 255, 0.5); - font-size: 0.85em; - margin: 0; - text-transform: uppercase; - padding: 32px 24px 14px 24px; -} -#navbar-standing .nav-menu h2:after { - content: ''; - display: block; - width: 3em; - margin-top: 5px; - border-bottom: 1px solid rgba(255, 255, 255, 0.1); -} -#navbar-standing .nav-menu a { - display: block; - color: var(--text-color); - padding: 14px 8px 14px 58px; - text-decoration: none; - position: relative; - border-radius: 3px; -} -#navbar-standing .nav-menu a:before { - margin-right: 14px; - font-size: 24px; - left: 20px; - top: 9px; - position: absolute; -} -#navbar-standing .nav-menu a:hover { - background-color: var(--layout-dark); -} -#navbar-standing .nav-menu .menu-scroll { - height: calc(100vh - 72px); - overflow-y: auto; - padding: 0 8px 24px 8px; - width: 100%; - margin-right: 8px; -} -#navbar-standing button { - padding: 8px; - border-radius: 14px; - display: flex; - align-items: center; - justify-content: center; - gap: 8px; - font-size: 1rem; - font-weight: bold; - color: var(--text-color); - border: 1px solid var(--layout); - background: transparent; - cursor: pointer; - transition: all 0.6s ease; -} -#navbar-standing button:hover { - color: var(--layout-dark); - border-color: var(--layout-dark); -} - -@media only screen and (min-width: 1024px) { - #navbar-standing { - padding: 15px 20px; - justify-content: space-between; - } - #navbar-standing .status { - padding: 10px 15px; - border-bottom: 2px solid #ccc; - } - #navbar-standing .status span { - font-size: 14px; - } - #navbar-standing .menu-bt:before { - width: 30px; - height: 30px; - font-size: 30px; - } - #navbar-standing .nav-menu { - width: 300px; - max-width: 400px; - } - #navbar-standing .nav-menu a { - padding: 20px 10px 20px 70px; - font-size: 1.2rem; - } - #navbar-standing button { - padding: 10px 15px; - font-size: 1.1rem; - } -} diff --git a/cdn/css/ui.css b/cdn/css/ui.css deleted file mode 100644 index d5b2be8..0000000 --- a/cdn/css/ui.css +++ /dev/null @@ -1,722 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=MedievalSharp&display=swap'); - -:root { - --layout: #8a2be2; - --layout-dark: #483d8b; - --background-color: #000000; - --section-color: #222222; - --text-color: #fff; - --text-shadow-color: #555; - --border-color: #fff; -} - -*, -*:before, -*:after { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -html, body { - width: 100%; - height: 100vh; - display: flex; - flex-direction: column; - font-family: 'MedievalSharp', cursive !important; - background-color: #000000 !important; -} - -ui { - display: none; -} - -/* start of header */ -header .header-news { - display: flex; - padding: 0.5rem; - justify-content: center; - text-align: center; - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); -} -header .header-news span { - color: var(--text-color); -} -header .header-head { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - background-image: url("/cdn/image/background/header.webp"); - background-size: cover; - background-position: center; - text-align: center; - padding: 1rem; - color: var(--text-color); -} -header .header-head h1 { - margin: 0; - font-weight: bold; - text-shadow: 0px 2.5px 0px #555; -} -header .header-head span { - font-weight: 100; - font-size: 0.75rem; - display: block; -} -header .header-body { - padding: 50px 30px; - background-position: center; - background-repeat: no-repeat; - background-size: cover; - border-bottom-left-radius: 10%; - border-bottom-right-radius: 10%; - background-image: url("/cdn/image/background/body.webp"); -} -header .header-body-text { - align-content: center; - text-align: center; - - text-transform: uppercase; - color: var(--text-color); -} -header .header-body h1 { - margin: 5px; - font-weight: bold; - font-size: 25px; - white-space: nowrap; - text-shadow: 0px 4.5px 0px #555; -} -header .header-body span { - font-size: 12px; - text-transform: initial; - text-shadow: 0px 1.5px 0px #555; -} -header .header-body button { - margin: 0 !important; - text-align: center; - color: #fff !important; - font-size: 1.8rem; - background-color: transparent; - border: none; - cursor: pointer; - padding: 5px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - transition: transform 0.2s, box-shadow 0.2s; -} -header .header-body button:active { - transform: translateY(4px); - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); -} -/* end of headers */ - -main { - flex: 1; -} -canvas { - position: absolute; - top: 0; - left: 0; - z-index: 1; - pointer-events: none; -} -#overlay { - display: none; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - z-index: 998; - backdrop-filter: blur(0px); - opacity: 0; - animation: fadeInBlur 1s forwards; -} -section { - padding: 5px; - opacity: 0.9; - margin: 10px; -} -section.main { - border-radius: 1rem; - background-color: var(--section-color) !important; -} -section.main .title { - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)) !important; - text-align: center; - font-weight: bold; - border-radius: 1.5rem; - color: var(--text-color); - padding: 0.5rem; - font-size: 1.5rem; - margin: 0.5rem; -} - - /* Desktop */ -@media (min-width: 1024px) { - header .header-news { - padding: 0.5rem; - } - header .header-news span { - font-size: 0.75rem; - } - header .header-head { - height: 5rem; - padding: 0.5rem; - } - header .header-head h1 { - font-size: 2rem; - } -} - - /* Smartphone */ -@media (max-width: 768px) { - header .header-news { - padding: 0.5rem; - } - header .header-news span { - font-size: 0.75rem; - } - header .header-head h1 { - font-size: 3rem; - } -} - -.modal .modal-dialog .modal-content { - color: var(--text-color) !important; - background-color: var(--section-color) !important; -} - -.loading { - animation: loading 2s linear infinite; -} - -@keyframes fadeInBlur { - from { - opacity: 0; - backdrop-filter: blur(0px); - } - to { - opacity: 1; - backdrop-filter: blur(5px); - } -} - -.month { - margin: 0 !important; - padding: 5px; - color: var(--text-color); - text-align: center; - width: 100% !important; - box-sizing: border-box; -} -.month p { - font-size: 1rem; -} -.month .minecraft-head { - width: 4rem; - height: 4rem; - background-image: url('https://images.minecraft-heads.com/render3d/head/d8/d8a2b48e1052f501913676f9c6ae5b5c.webp'); - background-size: cover; - margin: 0 auto 20px auto; - border-radius: 10px; - animation: headAnimation 4s infinite alternate; -} -.month .progress-bar-container { - background-color: #3a3a3a; - border-radius: 20px; - overflow: hidden; -} -.month #progress-text { - margin: 5px; -} -.month .progress-bar { - height: 20px; - width: 0%; - background-color: var(--layout); - border-radius: 20px; -} -.top-donate-list { - margin: 0 !important; -} -.top-donate-list img { - width: 40px; - height: 40px; - margin-right: 10px; - border-radius: 4px; -} -.top-donate-list li { - display: flex; - align-items: center; - justify-content: center; - color: var(--text-color); - padding: 10px; - margin: 5px; - background-color: #2a2a2a; - border-radius: 4px; -} -.top-donate-list li:hover { - animation: pulse 2s infinite; -} -.top-donate-info { - display: flex; - align-items: center; -} -.top-donate-info span { - margin: 0 10px; -} - -#shop { - border: 1px solid var(--layout-dark); - padding: 20px; - border-radius: 13px; - padding-bottom: 10px; - box-shadow: 1px 1px 4px var(--layout); -} -#shop .label { - font-family: none; - margin: 0 5px; - font-size: 16px; - font-weight: bold; - color: var(--text-color); -} -#shop .form-control { - color: var(--text-color); - margin: 5px; - border-radius: 10px; - border: 2.3px solid var(--layout-dark) !important; - background-color: transparent !important; -} -#shop .form-control::placeholder { - color: #afafaf !important; -} -#shop .input-group-append { - margin: 5px; -} -#shop .finish { - padding: 0.5rem 1rem; - background: linear-gradient(to right, var(--layout), var(--layout-dark)); - border: 1px solid var(--layout-dark); - text-transform: uppercase; - border-radius: 32px; - cursor: pointer; - margin: 5px !important; - font-weight: bold; - color: var(--text-color); - margin-bottom: 16px; -} -#shop .coupon { - padding: 0.5rem; - background: linear-gradient(to right, var(--layout), var(--layout-dark)); - border: 0.5px solid var(--border-color); - text-transform: uppercase; - border-radius: 0.5rem; - cursor: pointer; - margin: 1px !important; - font-weight: bold; - color: var(--text-color); -} -#shop .coupon:hover { - animation: click-animation 0.2s forwards; - transform: scale(1.05); - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); -} -#shop .coupon:disabled { - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); - cursor: not-allowed; - transform: none; - opacity: 0.3; -} -#shop .terms .body { - color: var(--text-color); - margin: 2px; - text-align: center; - line-height: 1.5; - font-size: 10px; - transition: color 0.25s ease; -} -#shop a { - color: #b375eccf; -} - -#shop .form-group .row { - display: flex; - flex-wrap: wrap; - gap: 10px; - margin: 5px; - justify-content: space-evenly; -} -#shop .pay-button { - display: flex; - align-items: center; - justify-content: center; - padding: 5px; - border: none; - border-radius: 12px; - font-size: 10px; - cursor: pointer; - text-align: center; - flex: 1 0 25%; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - color: var(--text-color); -} - -#shop .pay-button:not(.disabled):hover { - transform: scale(0.9); - opacity: 8; -} - -#shop .forgot-password { - display: block; - text-align: left; - font-size: 0.875rem; - margin: 0.5rem; -} - -#shop .forgot-password a { - text-decoration: none; - color: var(--text-color); -} - -#shop .forgot-password a:hover { - text-decoration: underline; - color: purple; -} - -.select { - transform: scale(0.9); - opacity: 8; -} - -.disabled { - opacity: 0.3; - pointer-events: none; - cursor: not-allowed; -} - -#shop .pay-button.pix { - background-color: #f5f5f5; - color: #000; -} -#shop .pay-button.mercado-pago { - background-color: #004B87; -} -#shop .pay-button.paypal { - background-color: #0070ba; -} -#shop .pay-button.stripe { - background-color: #635bff; -} -#shop .pay-button.picpay { - background-color: #00bfae; -} -#shop .pay-button.nubank { - background-color: #820ad1; -} -#shop .pay-button .icon { - margin-right: 4px; - font-size: 16px; -} -#shop .pay-button span { - display: inline-block; -} - -shop.card { - display: flex; - flex-direction: column; - align-items: center; - text-align: center; - background-color: #484848c8; - padding: 1rem 1.5rem; - border-radius: 12px; - max-height: 460px; - margin: 10px; -} - -shop.card .icon { - width: 85px; - height: 85px; -} - -shop.card img { - width: 100%; -} - -shop.card h3 { - color: var(--text-color); - font-size: 19px; - margin: 10px; - text-align: center; - font-family: 'medieval'; -} - -shop.card span { - font-weight: 300; - max-width: 240px; - font-family: 'medieval'; - color: var(--text-color); - font-size: 80%; - margin-bottom: 16px; -} - -shop.card button { - padding: 0.5rem 1rem; - border: 1.8px solid #fff; - text-transform: uppercase; - border-radius: 32px; - cursor: pointer; - font-size: 80%; - font-weight: bold; - color: var(--text-color); - margin-bottom: 16px; -} - -shop.card button.shop { - background: linear-gradient(to right, var(--layout), var(--layout-dark)); -} - -shop.card button.shop.disabled { - opacity: 0.5; - cursor: not-allowed; -} - -shop.card.shop { - box-shadow: 20px 20px 50px -30px #afd6ff; -} - -.category { - display: flex; - align-items: center; - justify-content: center; - background-color: #2c2c2c; - border-radius: 8px; - padding: 1rem; - margin: 0.8rem; - color: var(--text-color); - cursor: pointer; -} - -.category p { - margin: 0 !important; - font-size: 1.5rem; - text-align: center !important; -} - -.category:hover { - transform: translateY(-3px); -} - -.category img { - width: 2.5rem; - height: 2.5rem; - margin-right: 0.25rem; -} - -loader .wrapper { - display: flex; - justify-content: center; - align-items: center; - min-height: 100vh; -} -loader .wrapper .loader { - display: flex; - justify-content: space-evenly; - padding: 0 20px; -} -loader .loader .loading { - background: #fff; - width: 30px; - height: 30px; - border-radius: 50px; - margin: 0 10px; - animation: loader 0.8s infinite; -} -loader .loader .loading.one { - animation-delay: 0.3s; -} -loader .loader .loading.two { - animation-delay: 0.4s; -} -loader .loader .loading.three { - animation-delay: 0.5s; -} -@keyframes loader { - 0% { - width: 30px; - height: 30px; - } - - 50% { - width: 20px; - height: 20px; - } -} - -.ip-copy-section { - margin: 0; - padding: 1rem; - color: var(--text-color); - border-radius: 25px; - text-align: center; - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); - border: 0.3px solid #fff; - box-shadow: 1.5px 1.5px 5px #555; - justify-content: space-between; - animation: bubble-animation 2s infinite; -} -.ip-copy-section p { - margin: 5px !important; -} -.ip-copy-section button { - padding: 0.5rem 1rem; - border: 1px solid #fff; - text-transform: uppercase; - border-radius: 10px; - cursor: pointer; - font-weight: bold; - color: var(--text-color); - margin-bottom: 16px; - transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out; - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); -} -.ip-copy-section button:hover { - animation: click-animation 0.2s forwards; - transform: scale(1.05); - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); -} -.ip-copy-section button:disabled { - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); - cursor: not-allowed; - transform: none; - opacity: 0.3; -} -@keyframes bubble-animation { - 0% { - transform: scale(0.98); - } - 50% { - transform: scale(1); - } - 100% { - transform: scale(0.98); - } -} -@keyframes click-animation { - 0% { - transform: scale(1); - } - 50% { - transform: scale(0.95); - } - 100% { - transform: scale(1); - } -} - -#cookie { - background: linear-gradient(135deg, #2e2b4a 0%, #1e1b33 100%); - display: none; - position: fixed; - bottom: 0; - left: 0; - width: 100%; - border-top-left-radius: 50px; - border-top-right-radius: 50px; - color: #f8f8f2; - z-index: 999; - animation: slideInUp 1.2s ease forwards; - box-shadow: 0px -4px 20px rgba(0, 0, 0, 0.5); - font-family: 'MedievalSharp', cursive; -} -#cookie .content { - text-align: center; - padding: 20px; - margin: auto; -} -#cookie .row { - display: flex; - justify-content: space-between; -} -#cookie .col { - flex: 1; - padding: 0 10px; -} -#cookie p { - font-size: 14px; - line-height: 1.8; - color: #f8f8f2; - margin: 0; -} -#cookie a { - color: #8a2be2; - font-weight: bold; - text-decoration: underline; -} -#cookie button { - width: 100%; - background: rgba(255, 255, 255, 0.1); - border: 1.2px solid #483d8b; - color: #f8f8f2; - padding: 10px; - text-transform: uppercase; - font-size: 14px; - margin-top: 15px; - border-radius: 12px; - cursor: pointer; - transition: background 0.3s, color 0.3s; -} -#cookie button:hover { - background: #8a2be2; - color: #1e1b33; -} -@keyframes slideInUp { - from { - transform: translateY(100%); - } - to { - transform: translateY(0); - } -} -@keyframes slideInEnd { - from { - transform: translateY(0); - } - to { - transform: translateY(100%); - } -} - -.footer { - background: linear-gradient(to bottom, var(--layout), var(--layout-dark)); - color: var(--text-color); - text-align: center; -} - -.footer a { - color: var(--text-color); - - font-size: 0.9rem; - font-weight: bold; - transition: transform 0.4s ease; - text-decoration: none; -} - -.footer a:active { - transform: scale(0.9); -} - -.footer .policy, -.footer .terms { - font-size: 0.5rem; - font-weight: 100 !important; -} - -@keyframes loading { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} \ No newline at end of file diff --git a/cdn/image/background/body.webp b/cdn/image/background/body.webp deleted file mode 100644 index 142a97f..0000000 Binary files a/cdn/image/background/body.webp and /dev/null differ diff --git a/cdn/image/background/header.webp b/cdn/image/background/header.webp deleted file mode 100644 index 6f00b41..0000000 Binary files a/cdn/image/background/header.webp and /dev/null differ diff --git a/cdn/image/favicon.svg b/cdn/image/favicon.svg deleted file mode 100644 index 191a267..0000000 --- a/cdn/image/favicon.svg +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cdn/js/functions.js b/cdn/js/functions.js deleted file mode 100644 index c403783..0000000 --- a/cdn/js/functions.js +++ /dev/null @@ -1,134 +0,0 @@ -const api = axios.create({ - baseURL: 'https://kettraworld.onrender.com', - timeout: 10000, - headers: { - 'Content-Type': 'application/json', - }, -}); - -const $form_buy = [ - { - id: ".buy #id", - condition: [ - { - validate: (value) => value.length > 0, - message: "Nenhum produto selecionado, por favor atualize a página!" - } - ] - }, - { - id: ".buy #name", - condition: [ - { - validate: (value) => value.length > 0, - message: "O nome é obrigatório." - }, - { - validate: (value) => value.length >= 3, - message: "O nome deve ter pelo menos 3 caracteres." - }, - { - validate: (value) => value.length <= 80, - message: "O nome deve ter no máximo 80 caracteres." - } - ] - }, - { - id: ".buy #nickname", - condition: [ - { - validate: (value) => value.length > 0, - message: "Nickname é necessário." - }, - { - validate: (value) => !/\s/.test(value), - message: "O nickname não pode conter espaços." - }, - { - validate: (value) => value.length >= 4, - message: "O nickname deve ter pelo menos 4 caracteres." - }, - { - validate: (value) => value.length <= 16, - message: "O nickname deve ter no máximo 16 caracteres." - } - ] - }, - { - id: ".buy #email", - condition: [ - { - validate: (value) => value.length > 0, - message: "E-mail é necessário." - }, - { - validate: (value) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value), - message: "O e-mail deve ser válido." - }, - { - validate: (value) => value.length >= 12, - message: "O e-mail deve ter pelo menos 12 caracteres." - }, - { - validate: (value) => value.length <= 80, - message: "O e-mail deve ter no máximo 80 caracteres." - } - ] - }, - { - id: ".buy #platform", - condition: [ - { - validate: (value) => value.length > 0, - message: "Escolha um método de pagamento!" - } - ] - }, -]; - -function $message(text) { - - $('#message').html(''); - - setTimeout(() => { - $('#message').html(''); - }, 15000); - - return $('#message').html(` -
-
- - Kettra World - Agora - -
-
- informação: ${text}
`); - -}; - -function $validate(form, btn, bot) { - - $(btn).addClass('disabled'); - - for (const { id, condition } of form) { - - const validate = condition.find(({ validate }) => !validate($(id).val()))?.message; - - if (validate) { - $(btn).removeClass('disabled') - $message(validate); - return false; - }; - - }; - - if (!grecaptcha.getResponse(bot)) { - $(btn).removeClass('disabled'); - $message('Por favor, complete o recaptcha para continuar.'); - return false; - }; - - return true; - -}; \ No newline at end of file diff --git a/cdn/js/payment.js b/cdn/js/payment.js deleted file mode 100644 index e5f4faf..0000000 --- a/cdn/js/payment.js +++ /dev/null @@ -1,79 +0,0 @@ - -$("#modal-buy").on('show.bs.modal', (e) => { - - $(".buy #id").val(e.relatedTarget.getAttribute('product')); - - /* - $(".buy #name").val("Sebastian Jn"); - $(".buy #nickname").val("sebastianjnuwu"); - $(".buy #email").val("sebastianjn@gmail.com"); - $(".buy #platform").val("pix");*/ - - - $('#pay').removeClass('disabled'); - $("#shop-coupon").prop("disabled", false); - $(".buy #coupon").prop("readonly", false).val(''); - $('.pay-button').removeClass('select'); - $(".buy #platform").val(''); - grecaptcha.reset(0) - -}); - -$('.pay-button').on('click', function() { - - $('.pay-button').removeClass('select'); - - $(this).addClass('select'); - - $('.buy #platform').val($(this).data('value')); - -}); - -$("#shop-coupon").on('click', async () => { - - if (!$(".buy #coupon").val()) { - return $message('Você não adicionou nenhum código promocional!'); - } - -await api.post('/product/coupon', { - id: $("#shop #id").val(), - key: $("#shop #coupon").val() -}).then((response) => { - if (response.status === 200) { - $("#shop-coupon").prop("disabled", true); - $("#shop #coupon").prop("readonly", true); - $message(`Parabéns, você recebeu ${response.data.discount}% de desconto na sua compra!`); - } else if (response.status === 201) { - $message('O código promocional já expirou ou não está disponível para este produto!'); - } else { - $message('Por favor, tente novamente mais tarde. Se o problema continuar, entre em contato pelo discord.'); - } -}).catch(() => { - return $message('Ocorreu um erro ao tentar aplicar o código promocional. Por favor, tente novamente mais tarde.'); -}); - -}); - -$('button#pay').on('click', async () => { - - const isValid = await $validate($form_buy, 'button#pay', 0); - - if (!isValid) return; - -await api.post('/payment/create', { - product: $(".buy #id").val(), - name: $(".buy #name").val(), - nickname: $(".buy #nickname").val(), - email: $(".buy #email").val(), - coupon: $(".buy #coupon").val(), - platform: $(".buy #platform").val(), - captcha: grecaptcha.getResponse(0) -}).then(response => { - return window.location = response.data.url; -}).catch(error => { - $('#pay').removeClass('disabled'); - $message('Não foi possível criar o pagamento, por favor tente novamente mais tarde!'); -}); - - -}); \ No newline at end of file diff --git a/cdn/js/ui.js b/cdn/js/ui.js deleted file mode 100644 index d64f848..0000000 --- a/cdn/js/ui.js +++ /dev/null @@ -1,224 +0,0 @@ -const $url = new URLSearchParams(window.location.search); - - api.get('/product').then((response) => { - - const data = response.data; - let categories = {}; - - data.forEach(product => { - if (!categories[product.category]) { - categories[product.category] = []; - } - categories[product.category].push(product); - }); - - let $card_categories = ''; - for (const category in categories) { - const category_card = ` -
- ${category} -

${category}

-
`; - $card_categories += category_card; - }; - - $('#shop-categories').html($card_categories); - - $('.category').click(function() { - const selectedCategory = $(this).data('category'); - let $card_product = ''; - - categories[selectedCategory].forEach(product => { - const productCard = ` - -
- -
-

${product.name}

- ${product.description} - -
- `; - $card_product += productCard; - }); - - $('#shop-itens').html($card_product); - $('#shop-categories').hide(); - $('#shop-back').removeClass('bx-store').addClass('bx-arrow-back'); - }); - - $('#shop-back').click(function() { - $('#shop-itens').html(''); - $('#shop-categories').show(); - $('#shop-back').removeClass('bx-arrow-back').addClass('bx-store'); - }); - - }).catch(() => { - return $('#shop-categories').html(` - - - Nenhum produto encontrado. Por favor tente novamente mais tarde! - - - `); - }); - - axios.get('https://api.minetools.eu/ping/rederevo.com').then((response) => { - return $('#status').html(` ${response.data.players.online}/${response.data.players.max} Online`); - }).catch(() => { - return $('#status').html(' Servidor desligado'); - }); - -$('#social-youtube').on('click', () => { - $('#click')[0].play(); - return window.open('https://youtube.com/@kettraworld', '_blank'); -}); - -$('#social-discord').on('click', () => { - $('#click')[0].play(); - return window.open('https://discord.com/invite/d3YgZTfZq5', '_blank'); -}); - -$('#social-twitter').on('click', () => { - $('#click')[0].play(); - return window.open('https://twitter.com/kettraworld', '_blank'); -}); - -$('#social-instagram').on('click', () => { - $('#click')[0].play(); - return window.open('https://www.instagram.com/kettraworld', '_blank'); -}); - -setTimeout(() => { - if (!localStorage.getItem('user_cookie')) { - $('#overlay').css('display', 'block'); - $("#cookie").css('display', 'block'); - }; -}, 5000); - -$('cookie .close').on('click', () => { - $('#overlay').css('display', 'none'); - $("#cookie").css('animation', 'slideInEnd 1s ease forwards'); -}); - - $('cookie .open').on('click', () => { - localStorage.setItem('user_cookie', true); - $('#overlay').css('display', 'none'); - $("#cookie").css('animation', 'slideInEnd 1s ease forwards'); -}); - -let target = 98; -let progress = 0; - const time = 2000 / target; - setInterval(() => { - if (progress < target) { - progress++; - $('#progress-bar').css('width', `${progress}%`); - $('#progress-text').text(`${progress}% completo`); - } - }, time); - - - - -class Particle { - constructor(x, - y, - radius, - color, - dx, - dy, - duration) { - this.x = x; - this.y = y; - this.radius = radius; - this.color = color; - this.dx = dx; - this.dy = dy; - this.startTime = Date.now(); - this.duration = duration; - this.startRadius = radius; - } - - draw(ctx) { - ctx.beginPath(); - ctx.arc(this.x, - this.y, - this.radius, - 0, - Math.PI * 2, - false); - ctx.fillStyle = this.color; - ctx.fill(); - ctx.closePath(); - } - - update(ctx) { - const now = Date.now(); - const elapsedTime = now - this.startTime; - const progress = Math.min(elapsedTime / this.duration, - 1); - - this.radius = this.startRadius * (1 - progress); - - this.x += this.dx; - this.y += this.dy; - - this.draw(ctx); - } - - isVisible() { - return this.radius > 0.5; - } -} -const canvas = $('#canvas')[0]; -const ctx = canvas.getContext('2d'); -canvas.width = window.innerWidth; -canvas.height = window.innerHeight; -const particles = []; -function $create_particle() { - const bubbles = 400; - - for (let i = 0; i < bubbles; i++) { - const radius = Math.random() * 6 + 1; - const x = Math.random() * canvas.width; - const y = Math.random() * canvas.height; - const dx = (Math.random() - 0.5) * 2; - const dy = (Math.random() - 0.5) * 2; - const color = `rgba(144, 13, 218, ${Math.random()})`; - const duration = 10000; - - particles.push(new Particle(x, y, radius, color, dx, dy, duration)); - } -}; -function $show_animate() { - requestAnimationFrame($show_animate); - ctx.clearRect(0, 0, canvas.width, canvas.height); - - particles.forEach((particle, index) => { - if (particle.isVisible()) { - particle.update(ctx); - } else { - particles.splice(index, 1); - } - }); -}; -function $canvas_effect_purple() { - $create_particle(); - $show_animate(); -}; - -$(".ip-copy-section button").on('click', function() { - - navigator.clipboard.writeText("play.kettraworld.com").then(() => { - return $message('O ip play.kettraworld.com foi copiado!'); - }); - - $('#levelup')[0].play(); - $canvas_effect_purple(); - $(this).prop('disabled', true); - setTimeout(() => { - $(this).prop('disabled', false) - }, 5000); - }); - \ No newline at end of file diff --git a/cdn/music/cave21.mp3 b/cdn/music/cave21.mp3 deleted file mode 100644 index 5664659..0000000 Binary files a/cdn/music/cave21.mp3 and /dev/null differ diff --git a/cdn/music/click.mp3 b/cdn/music/click.mp3 deleted file mode 100644 index f41ae8c..0000000 Binary files a/cdn/music/click.mp3 and /dev/null differ diff --git a/cdn/music/levelup.mp3 b/cdn/music/levelup.mp3 deleted file mode 100644 index cf7f672..0000000 Binary files a/cdn/music/levelup.mp3 and /dev/null differ diff --git a/cdn/music/teleport.mp3 b/cdn/music/teleport.mp3 deleted file mode 100644 index f6baa1c..0000000 Binary files a/cdn/music/teleport.mp3 and /dev/null differ