From a9bd0d45809ea8c1e07fc16537b92aca0488c192 Mon Sep 17 00:00:00 2001 From: Juzlus Date: Wed, 3 Apr 2024 20:34:06 +0200 Subject: [PATCH] v2.8 --- data/lang/english.json | 6 +- data/lang/polish.json | 6 +- data/lang/portuguese.json | 8 +- data/serverData.json | 1046 +------------------------------------ js/YTcasesData.js | 620 ---------------------- js/caseInfo.js | 57 +- js/caseInfoGames.js | 2 +- js/caseOdds.js | 65 +-- js/disclosurePanels.js | 49 ++ js/freeOpen.js | 2 +- js/freeOpenGames.js | 2 +- js/giveawaysList.js | 4 +- js/giveawaysUsers.js | 167 ------ js/joinGiveaway.js | 2 +- js/main.js | 14 +- js/paymentPromocode.js | 4 +- js/skinChanger.js | 114 ++-- js/statistics.js | 10 + js/statisticsButton.js | 1 + js/ticketInfo.js | 15 + manifest.json | 13 +- 21 files changed, 230 insertions(+), 1977 deletions(-) delete mode 100644 js/YTcasesData.js create mode 100644 js/disclosurePanels.js delete mode 100644 js/giveawaysUsers.js create mode 100644 js/ticketInfo.js diff --git a/data/lang/english.json b/data/lang/english.json index f4a1648..05593ec 100644 --- a/data/lang/english.json +++ b/data/lang/english.json @@ -19,7 +19,7 @@ "autogiveaway_settings_p1": "Win Notifications", "autogiveaway_settings_a1": "You must allow notifications from the site", "autogiveaway_settings_p2": "Join Count", - "autogiveaway_settings_a2": "You can only join up to 10 giveaways per day", + "autogiveaway_settings_a2": "You can only join up to 20 giveaways per day", "autogiveaway_settings_p5": "Minimum Amount", "autogiveaway_settings_a5": "Minimum amount of the giveaway", "autogiveaway_settings_p3": "Won Giveaways", @@ -169,6 +169,7 @@ "skinChanger_priceText": "Price", "skinChanger_priceDiff": "Price Difference", "skinChanger_priceDiffButtonText": "Search for skins with the largest price difference", + "skinChanger_inventoryNull": "No skins to display!", "accessDenied_title": "COPY VERIFICATION ISSUE", "accessDenied_desc": "THIS EXTENSION COPY IS NOT INTEGRATED WITH THIS STEAM ACCOUNT", @@ -181,5 +182,8 @@ "dailyCase_dailyCase": "Daily Case", "dailyCase_skinsValue": "Value of skins", + "disclosurePanels_lastDeposit": "Last deposit", + "disclosurePanels_never": "never", + "correct_link_update": "New version available. Download" } \ No newline at end of file diff --git a/data/lang/polish.json b/data/lang/polish.json index 9f2740e..165c44e 100644 --- a/data/lang/polish.json +++ b/data/lang/polish.json @@ -19,7 +19,7 @@ "autogiveaway_settings_p1": "Powiadomienia o wygranej", "autogiveaway_settings_a1": "Musisz zezwolić na powiadomienia ze strony", "autogiveaway_settings_p2": "Ilość dołączeń", - "autogiveaway_settings_a2": "Codziennie można dołączyć tylko do 10 konkursów", + "autogiveaway_settings_a2": "Codziennie można dołączyć tylko do 20 konkursów", "autogiveaway_settings_p5": "Minimalna kwota", "autogiveaway_settings_a5": "Minimalna kwota konkursu", "autogiveaway_settings_p3": "Wygrane konkursy", @@ -169,6 +169,7 @@ "skinChanger_priceText": "Cena", "skinChanger_priceDiff": "Różnica Cen", "skinChanger_priceDiffButtonText": "Wyszukaj skiny z największą róznicą cen", + "skinChanger_inventoryNull": "Brak skinów do wyświetlenia!", "accessDenied_title": "PROBLEM Z WERYFIKACJĄ KOPII", "accessDenied_desc": "TA KOPIA ROZSZERZENIA NIE JEST ZINTEGROWANA Z TYM KONTEM STEAM", @@ -181,5 +182,8 @@ "dailyCase_dailyCase": "Codzienna Skrzynia", "dailyCase_skinsValue": "Wartość skinów", + "disclosurePanels_lastDeposit": "Ostatnia wpłata", + "disclosurePanels_never": "nigdy", + "correct_link_update": "New version available. Download" } \ No newline at end of file diff --git a/data/lang/portuguese.json b/data/lang/portuguese.json index 6dc6a4a..467e7d5 100644 --- a/data/lang/portuguese.json +++ b/data/lang/portuguese.json @@ -19,7 +19,7 @@ "autogiveaway_settings_p1": "Notificação de vitórias", "autogiveaway_settings_a1": "Você deve permitir notificações do site", "autogiveaway_settings_p2": "Contagem de adesão", - "autogiveaway_settings_a2": "Você só pode participar de até 10 sorteios por dia", + "autogiveaway_settings_a2": "Você só pode participar de até 20 sorteios por dia", "autogiveaway_settings_p5": "Quantidade mínima", "autogiveaway_settings_a5": "Quantidade mínima do sorteio", "autogiveaway_settings_p3": "Sorteios Ganhos", @@ -169,6 +169,7 @@ "skinChanger_priceText": "Preço", "skinChanger_priceDiff": "Diferença de Preço", "skinChanger_priceDiffButtonText": "Busque skins com maior diferença de preço", + "skinChanger_inventoryNull": "Não há skins para exibir!", "accessDenied_title": "PROBLEMA DE VERIFICAÇÃO DE CÓPIA", "accessDenied_desc": "ESTA CÓPIA DE EXTENSÃO NÃO ESTÁ INTEGRADA COM ESTA CONTA STEAM", @@ -179,5 +180,8 @@ "dailyCase_waitTime": "EM", "dailyCase_readyTime": "PRONTO!", "dailyCase_dailyCase": "Caixa diária", - "dailyCase_skinsValue": "Valor das skins" + "dailyCase_skinsValue": "Valor das skins", + + "disclosurePanels_lastDeposit": "Último depósito", + "disclosurePanels_never": "nunca" } \ No newline at end of file diff --git a/data/serverData.json b/data/serverData.json index 056fa81..aeaa0c7 100644 --- a/data/serverData.json +++ b/data/serverData.json @@ -6,7 +6,7 @@ "iconsPath": "/icons/", "soundsPath": "/sounds/", - "updateLink": "https://www.github.com/Juzlus/KeydropPlus/releases/latest/download/Keydrop+.v2.zip", + "updateLink": "https://www.github.com/Juzlus/KeydropPlus/releases/latest/download/Keydrop+.v2.8.zip", "globalAlertVersion": [0], "globalAlertType": "error", @@ -48,1049 +48,5 @@ {"name": "ADVANCE", "cover": "ADVANCE.png"}, {"name": "STACK", "cover": "STACK.png"}, {"name": "KICK", "cover": "KICK.png"} - ], - - "allCases": [ - { - "name": "HEIST", - "url": "https://key-drop.com/pl/category/heist", - "odds": 15 - }, - { - "name": "OTAKU", - "url": "https://key-drop.com/pl/category/otaku", - "odds": 17 - }, - { - "name": "HAVOC", - "url": "https://key-drop.com/pl/category/havoc", - "odds": 22 - }, - { - "name": "SPEED DEMON", - "url": "https://key-drop.com/pl/category/speed-demon", - "odds": 20 - }, - { - "name": "DEVILISH DUO", - "url": "https://key-drop.com/pl/category/devilish-duo", - "odds": 15 - }, - { - "name": "RING", - "url": "https://key-drop.com/pl/category/ring", - "odds": 1 - }, - { - "name": "BOSS", - "url": "https://key-drop.com/pl/category/boss", - "odds": 3 - }, - { - "name": "LIGHT", - "url": "https://key-drop.com/pl/category/light", - "odds": 2 - }, - { - "name": "GOD", - "url": "https://key-drop.com/pl/category/god", - "odds": 6 - }, - { - "name": "REBEL", - "url": "https://key-drop.com/pl/category/rebel", - "odds": 3 - }, - { - "name": "PUNK", - "url": "https://key-drop.com/pl/category/punk", - "odds": 36 - }, - { - "name": "FORCE", - "url": "https://key-drop.com/pl/category/force", - "odds": 32 - }, - { - "name": "KING", - "url": "https://key-drop.com/pl/category/king", - "odds": 41 - }, - { - "name": "NEON", - "url": "https://key-drop.com/pl/category/neon", - "odds": 38 - }, - { - "name": "DETECT", - "url": "https://key-drop.com/pl/category/detect", - "odds": 31 - }, - { - "name": "HERO", - "url": "https://key-drop.com/pl/category/hero", - "odds": 33 - }, - { - "name": "STAR", - "url": "https://key-drop.com/pl/category/star", - "odds": 37 - }, - { - "name": "CHAMPION", - "url": "https://key-drop.com/pl/category/champion", - "odds": 37 - }, - { - "name": "WING", - "url": "https://key-drop.com/pl/category/wing", - "odds": 20 - }, - { - "name": "RIVAL", - "url": "https://key-drop.com/pl/category/rival", - "odds": 29 - }, - { - "img": "/uploads/skins/ZONY.png", - "lang": "PL", - "name": "ZONY", - "odds": 18, - "price_USD": 9.00, - "url": "https://key-drop.com/pl/skins/category/zony" - }, - { - "img": "/uploads/skins/FOREVER.png", - "lang": "PL", - "name": "FOREVER", - "odds": 13, - "price_USD": 9.00, - "url": "https://key-drop.com/pl/skins/category/forever" - }, - { - "img": "/uploads/skins/NEXE.png", - "lang": "PL", - "name": "NEXE", - "odds": 15, - "price_USD": 6.66, - "url": "https://key-drop.com/pl/skins/category/nexe" - }, - { - "img": "/uploads/skins/DMG.png", - "lang": "PL", - "name": "DMG", - "odds": 17, - "price_USD": 37.00, - "url": "https://key-drop.com/pl/skins/category/dmg" - }, - { - "img": "/uploads/skins/INNOCENT.png", - "lang": "PL", - "name": "INNOCENT", - "odds": 16, - "price_USD": 5.53, - "url": "https://key-drop.com/pl/skins/category/innocent" - }, - { - "img": "/uploads/skins/MEDUSA.png", - "lang": "PL", - "name": "MEDUSA", - "odds": 15, - "price_USD": 6.70, - "url": "https://key-drop.com/pl/skins/category/medusa" - }, - { - "img": "/uploads/skins/ISAMU.png", - "lang": "PL", - "name": "ISAMU", - "odds": 10, - "price_USD": 15.00, - "url": "https://key-drop.com/pl/skins/category/isamu" - }, - { - "img": "/uploads/skins/MATEO.png", - "lang": "PL", - "name": "MATEO", - "odds": 11, - "price_USD": 3.94, - "url": "https://key-drop.com/pl/skins/category/mateo" - }, - { - "img": "/uploads/skins/KACPER_RIETZ.png", - "lang": "PL", - "name": "KACPER RIETZ", - "odds": 23, - "price_USD": 3.94, - "url": "https://key-drop.com/pl/skins/category/kacper-rietz" - }, - { - "img": "/uploads/skins/MOPO.png", - "lang": "NL", - "name": "MOPO", - "odds": 15, - "price_USD": 10.80, - "url": "https://key-drop.com/pl/skins/category/mopo" - }, - { - "img": "/uploads/skins/XM1NN.png", - "lang": "TR", - "name": "XM1NN", - "odds": 15, - "price_USD": 7.10, - "url": "https://key-drop.com/pl/skins/category/xm1nn" - }, - { - "img": "/uploads/skins/rennow.png", - "lang": "TR", - "name": "RENNOW", - "odds": 18, - "price_USD": 5.13, - "url": "https://key-drop.com/pl/skins/category/rennow" - }, - { - "img": "/uploads/skins/ENERQIA.png", - "lang": "TR", - "name": "ENERQIA", - "odds": 16, - "price_USD": 4.95, - "url": "https://key-drop.com/pl/skins/category/enerqia" - }, - - - - - - - - - - - - - - - { - "name": "KEYLOVE", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/keylove" - }, - { - "name": "CUPID SHOT", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/cupid-shot" - }, - { - "name": "DEAGLOVERO", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/deaglovero" - }, - { - "name": "1 IN A MILLION", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/1-in-a-million" - }, - { - "name": "SILENT FLOW", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/silent-flow" - }, - { - "name": "CLOCKSHOT", - "odds": 18, - "url": "https://key-drop.com/pl/skins/category/clockshot" - }, - { - "name": "FACTION", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/faction" - }, - { - "name": "TWILIGHT", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/twilight" - }, - { - "name": "GLEAM", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/gleam" - }, - { - "name": "JAINA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/jaina" - }, - { - "name": "ANDERS", - "odds": 20, - "url": "https://key-drop.com/pl/skins/category/anders" - }, - { - "name": "STRANGE", - "odds": 20, - "url": "https://key-drop.com/pl/skins/category/strange" - }, - { - "name": "MANTIS", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/mantis" - }, - { - "name": "KATANA", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/katana" - }, - { - "name": "DOMINATOR", - "odds": 34, - "url": "https://key-drop.com/pl/skins/category/dominator" - }, - { - "name": "LUXOR", - "odds": 12, - "url": "https://key-drop.com/pl/skins/category/luxor" - }, - { - "name": "ALPHA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/alpha" - }, - { - "name": "HEXAR", - "odds": 10, - "url": "https://key-drop.com/pl/skins/category/hexar" - }, - { - "name": "LAGOON", - "odds": 5, - "url": "https://key-drop.com/pl/skins/category/lagoon" - }, - { - "name": "TEMPTATION", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/temptation" - }, - { - "name": "TRACES", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/traces" - }, - { - "name": "RAGNAR", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/ragnar" - }, - { - "name": "INSPECTOR", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/inspector" - }, - { - "name": "TORETTO", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/toretto" - }, - { - "name": "JOCASTA", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/jocasta" - }, - { - "name": "FREYA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/freya" - }, - { - "name": "CERES", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/ceres" - }, - { - "name": "SINDEL", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/sindel" - }, - { - "name": "HERA", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/hera" - }, - { - "name": "VEST", - "odds": 22, - "url": "https://key-drop.com/pl/skins/category/vest" - }, - { - "name": "SERPENT", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/serpent" - }, - { - "name": "ARROW", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/arrow" - }, - { - "name": "LORE", - "odds": 25, - "url": "https://key-drop.com/pl/skins/category/lore" - }, - { - "name": "VICE", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/vice" - }, - { - "name": "BLOODSHOT", - "odds": 18, - "url": "https://key-drop.com/pl/skins/category/bloodshot" - }, - { - "img": "/uploads/skins/SNUGTOES.png", - "lang": "DE", - "name": "SNUGTOES", - "odds": 8, - "price_USD": 27, - "url": "https://key-drop.com/pl/skins/category/snugtoes" - }, - { - "img": "/uploads/skins/Black-CSGO1.png", - "lang": "ES", - "name": "BLACK", - "odds": 45, - "price_USD": 52.45, - "url": "https://key-drop.com/pl/skins/category/black" - }, - { - "img": "/uploads/skins/CSR.png", - "lang": "BR", - "name": "CSR", - "odds": 14, - "price_USD": 3.94, - "url": "https://key-drop.com/pl/skins/category/csr" - }, - { - "img": "/uploads/skins/POKER.png", - "lang": "ES", - "name": "POKER", - "odds": 10, - "price_USD": 40, - "url": "https://key-drop.com/pl/skins/category/poker" - }, - { - "img": "/uploads/skins/ANON.png", - "lang": "EN", - "name": "ANON", - "odds": 15, - "price_USD": 27, - "url": "https://key-drop.com/pl/skins/category/anon" - }, - { - "name": "SPARK", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/spark" - }, - { - "name": "DAGGERS", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/daggers" - }, - { - "name": "PERFECT", - "odds": 10, - "url": "https://key-drop.com/pl/skins/category/perfect" - }, - { - "name": "ENERGY", - "odds": 3, - "url": "https://key-drop.com/pl/skins/category/energy-2" - }, - { - "name": "SHARP", - "odds": 10, - "url": "https://key-drop.com/pl/skins/category/sharp-2" - }, - { - "name": "SWAP", - "odds": 2, - "url": "https://key-drop.com/pl/skins/category/swap" - }, - { - "name": "SIGNAL", - "odds": 5, - "url": "https://key-drop.com/pl/skins/category/signal" - }, - { - "name": "SMART", - "odds": 9, - "url": "https://key-drop.com/pl/skins/category/smart-2" - }, - { - "name": "CAPITAL", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/capital" - }, - { - "name": "TECH", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/tech" - }, - { - "name": "1% PROFIT", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/1-profit" - }, - { - "name": "LORD", - "odds": 7, - "url": "https://key-drop.com/pl/skins/category/lord" - }, - { - "name": "TOKEN", - "odds": 8, - "url": "https://key-drop.com/pl/skins/category/token" - }, - { - "name": "ROCKET", - "odds": 2, - "url": "https://key-drop.com/pl/skins/category/rocket" - }, - { - "name": "1% KNIFE", - "odds": 1, - "url": "https://key-drop.com/pl/skins/category/1-knife" - }, - { - "name": "THUNDER", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/thunder" - }, - { - "name": "ROYAL", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/royal" - }, - { - "name": "COBRA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/cobra" - }, - { - "name": "FANG", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/fang" - }, - { - "name": "FOCUS", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/focus" - }, - { - "name": "SPACE", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/space" - }, - { - "name": "TOOTH", - "odds": 11, - "url": "https://key-drop.com/pl/skins/category/tooth" - }, - { - "name": "BUBBLE", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/bubble" - }, - { - "name": "HIVE", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/hive" - }, - { - "name": "STRIKE", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/strike" - }, - { - "name": "SPLINTER", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/splinter" - }, - { - "name": "VISION", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/vision" - }, - { - "name": "TOXIC", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/toxic" - }, - { - "name": "OMEGA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/omega" - }, - { - "name": "DREAM", - "odds": 13, - "url": "https://key-drop.com/pl/skins/category/dream" - }, - { - "name": "DIABLO", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/diablo" - }, - { - "name": "SHADOW", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/shadow" - }, - { - "name": "ICE BLAST", - "odds": 21, - "url": "https://key-drop.com/pl/skins/category/ice-blast" - }, - { - "name": "TERRORIST", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/terrorist" - }, - { - "name": "NICE SHOT", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/nice-shot" - }, - { - "name": "VIPER", - "odds": 12, - "url": "https://key-drop.com/pl/skins/category/viper" - }, - { - "name": "MASTER", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/master" - }, - { - "name": "MARKER", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/marker" - }, - { - "name": "CRIMSON EMERALD", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/crimson-emerald" - }, - { - "name": "DRAGON", - "odds": 18, - "url": "https://key-drop.com/pl/skins/category/dragon" - }, - { - "name": "PIKA PIKA", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/pika-pika" - }, - { - "name": "AVALANCHE", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/avalanche" - }, - { - "name": "SPIDER", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/spider" - }, - { - "name": "TEETH", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/teeth" - }, - { - "name": "MAFIA", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/mafia" - }, - { - "name": "GRADIENT", - "odds": 13, - "url": "https://key-drop.com/pl/skins/category/gradient" - }, - { - "name": "BEAST", - "odds": 10, - "url": "https://key-drop.com/pl/skins/category/beast" - }, - { - "name": "BUMBLEBEE", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/bumblebee" - }, - { - "name": "LAZURE", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/lazure" - }, - { - "name": "JOKER", - "odds": 13, - "url": "https://key-drop.com/pl/skins/category/joker" - }, - { - "name": "BULLET", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/bullet" - }, - { - "name": "BANANA", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/banana" - }, - { - "name": "RAZOR", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/razor" - }, - { - "name": "AK-47", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/ak-47" - }, - { - "name": "AWP", - "odds": 12, - "url": "https://key-drop.com/pl/skins/category/awp" - }, - { - "name": "KNIVES", - "odds": 12, - "url": "https://key-drop.com/pl/skins/category/knives" - }, - { - "name": "GLOVES", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/gloves" - }, - { - "name": "AGENT", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/agent" - }, - { - "name": "GLOCK-18", - "odds": 14, - "url": "https://key-drop.com/pl/skins/category/glock-18" - }, - { - "name": "M4", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/m4" - }, - { - "name": "USP-S", - "odds": 15, - "url": "https://key-drop.com/pl/skins/category/usp-s" - }, - { - "name": "NEW KNIVES", - "odds": 16, - "url": "https://key-drop.com/pl/skins/category/new-knives" - }, - { - "name": "MILSPEC", - "odds": 25, - "url": "https://key-drop.com/pl/skins/category/milspec" - }, - { - "name": "RESTRICTED", - "odds": 17, - "url": "https://key-drop.com/pl/skins/category/restricted" - }, - { - "name": "COVERT", - "odds": 18, - "url": "https://key-drop.com/pl/skins/category/covert" - }, - { - "img": "/uploads/skins/Jamie_Drake.png", - "lang": "PT", - "name": "JAMIEDRAKEHD", - "odds": 18, - "price_USD": 6.32, - "url": "https://key-drop.com/pl/skins/category/jamiedrakehd" - }, - { - "img": "/uploads/skins/TIAGOVSKI.png", - "lang": "PT", - "name": "TIAGOVSKI", - "odds": 15, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/tiagovski" - }, - { - "img": "/uploads/skins/LUGIN.png", - "lang": "BR", - "name": "LUGIN", - "odds": 16, - "price_USD": 7.1, - "url": "https://key-drop.com/pl/skins/category/lugin" - }, - { - "img": "/uploads/skins/CHENTRIC.png", - "lang": "PT", - "name": "CHENTRIC", - "odds": 16, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/chentric" - }, - { - "img": "/uploads/skins/Dadosch.png", - "lang": "DE", - "name": "DADOSCH", - "odds": 15, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/dadosch" - }, - { - "img": "/uploads/skins/Jorgo.png", - "lang": "DE", - "name": "JORGO", - "odds": 15, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/jorgo" - }, - { - "img": "/uploads/skins/KROWNY.png", - "lang": "DE", - "name": "KROWNY", - "odds": 16, - "price_USD": 6.32, - "url": "https://key-drop.com/pl/skins/category/krowny" - }, - { - "img": "/uploads/skins/BYTARIFA.png", - "lang": "ES", - "name": "TARIFA", - "odds": 10, - "price_USD": 80, - "url": "https://key-drop.com/pl/skins/category/tarifa-3" - }, - { - "img": "/uploads/skins/Staxx.png", - "lang": "ES", - "name": "STAXX", - "odds": 6, - "price_USD": 10, - "url": "https://key-drop.com/pl/skins/category/staxx" - }, - { - "img": "/uploads/skins/saju1.png", - "lang": "ES", - "name": "SAJUCSGO", - "odds": 26, - "price_USD": 6.99, - "url": "https://key-drop.com/pl/skins/category/sajucsgo" - }, - { - "img": "/uploads/skins/ELPIBECS1.png", - "lang": "AR", - "name": "ELPIBECS1", - "odds": 18, - "price_USD": 6.32, - "url": "https://key-drop.com/pl/skins/category/elpibecs1" - }, - { - "img": "/uploads/skins/VALEK1.png", - "lang": "PT", - "name": "VALEK", - "odds": 14, - "price_USD": 7.5, - "url": "https://key-drop.com/pl/skins/category/valek" - }, - { - "img": "/uploads/skins/ZOLIK22.png", - "lang": "SK", - "name": "ZOLIK22", - "odds": 16, - "price_USD": 6.32, - "url": "https://key-drop.com/pl/skins/category/zolik22" - }, - { - "img": "/uploads/skins/PIETRAK.png", - "lang": "HU", - "name": "PIETRAK", - "odds": 17, - "price_USD": 5.13, - "url": "https://key-drop.com/pl/skins/category/pietrak" - }, - { - "img": "/uploads/skins/JASONPLAY.png", - "lang": "HU", - "name": "JASONPLAY", - "odds": 16, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/jasonplay" - }, - { - "img": "/uploads/skins/NARAN.png", - "lang": "HU", - "name": "NARANCS", - "odds": 16, - "price_USD": 7.1, - "url": "https://key-drop.com/pl/skins/category/narancs" - }, - { - "img": "/uploads/skins/SHAVO.png", - "lang": "RO", - "name": "SHAVO", - "odds": 16, - "price_USD": 6.32, - "url": "https://key-drop.com/pl/skins/category/shavo" - }, - { - "img": "/uploads/skins/Okta.png", - "lang": "RO", - "name": "OKTA", - "odds": 14, - "price_USD": 9, - "url": "https://key-drop.com/pl/skins/category/okta" - }, - { - "img": "/uploads/skins/IRAPHAHELL.png", - "lang": "RO", - "name": "IRAPHAHELL", - "odds": 16, - "price_USD": 7.89, - "url": "https://key-drop.com/pl/skins/category/iraphahell" - }, - { - "img": "/uploads/skins/GENERALU.png", - "lang": "RO", - "name": "GENERALU", - "odds": 16, - "price_USD": 7.1, - "url": "https://key-drop.com/pl/skins/category/generalu" - }, - { - "img": "/uploads/skins/CALYX1.png", - "lang": "TR", - "name": "CALYX", - "odds": 14, - "price_USD": 3.59, - "url": "https://key-drop.com/pl/skins/category/calyx" - }, - { - "img": "/uploads/skins/XFLOUD.png", - "lang": "TR", - "name": "XFL0UD", - "odds": 19, - "price_USD": 45, - "url": "https://key-drop.com/pl/skins/category/xfl0ud" - }, - { - "img": "/uploads/skins/XANTARES1.png", - "lang": "TR", - "name": "XANTARES", - "odds": 15, - "price_USD": 170, - "url": "https://key-drop.com/pl/skins/category/xantares" - }, - { - "img": "/uploads/skins/MAJ3R1.png", - "lang": "TR", - "name": "MAJ3R", - "odds": 19, - "price_USD": 3.46, - "url": "https://key-drop.com/pl/skins/category/maj3r" - }, - { - "img": "/uploads/skins/IMORR1.png", - "lang": "TR", - "name": "IMORR", - "odds": 16, - "price_USD": 8.69, - "url": "https://key-drop.com/pl/skins/category/imorr" - } - ], - - "goldArea" : [ - { - "name": "BONY", - "profit": 914812.49 - }, - { - "name": "TOPAZ", - "profit": 1829624.98 - }, - { - "name": "MAGENT", - "profit": 4082359.08 - }, - { - "name": "ASSAULT", - "profit": 10061591.92 - }, - { - "name": "RECON", - "profit": 15422192.35 - }, - { - "name": "FOSTER", - "profit": 120466895.9 - }, - { - "name": "ATUM", - "profit": 244984901.3 - }, - { - "name": "EMERALD CUT", - "profit": 249120857 - }, - { - "name": "RUBY", - "profit": 250116836 - }, - { - "name": "OPTIMAL", - "profit": 256311524.3 - }, - { - "name": "SHARK", - "profit": 261341620.8 - }, - { - "name": "WRAP", - "profit": 273408102.9 - }, - { - "name": "SOLAR", - "profit": 290925694 - }, - { - "name": "GOLD DIGGER", - "profit": 307481379 - }, - { - "name": "PREDATOR", - "profit": 316791568.5 - }, - { - "name": "WIND", - "profit": 341111013.4 - }, - { - "name": "SAMURAI", - "profit": 363825199.8 - }, - { - "name": "DIAMOND SKY", - "profit": 391426212.7 - }, - { - "name": "RUBIN RAIN", - "profit": 466641603.3 - }, - { - "name": "AMETHYST LIGHT", - "profit": 492152521.7 - } ] } diff --git a/js/YTcasesData.js b/js/YTcasesData.js deleted file mode 100644 index 9336605..0000000 --- a/js/YTcasesData.js +++ /dev/null @@ -1,620 +0,0 @@ -const cooldown = 3 * 1000; - -$( document ).ready(async() => { - const cases = []; - const hrefLang = [ - "PL", // Poland - "BR", // Brazil", - "DE", // Germany", - "ES", // Spain", - "AR", // Argentina - "NL", // Netherlands - "PT", // Portugal - "SK", // Slovakia - "CZ", // Czechia", - "HU", // Hungary", - "RO", // Romania - "TR", // Turkey - "FR", // France", -/* - "AD", // Andorra - "AE", // United Arab Emirates - "AF", // Afghanistan - "AI", // Anguilla - "AL", // Albania - "AM", // Armenia - "AO", // Angola - "AT", // Austria - "AU", // "Australia - "AW", // Aruba - "AX", // \u00c5land Islands - "AZ", // Azerbaijan - "BA", // Bosnia & Herzegovina - "BB", // Barbados - "BD", // Bangladesh - "BE", // "Belgium", - "BG", // Bulgaria", - "BH", // Bahrain", - "BM", // Bermuda", - "BN", // Brunei", - "BO", // Bolivia", - "BS", // Bahamas", - "BT", // Bhutan", - "BY", // Belarus", - "BZ", // Belize", - "CA", // Canada", - "CD", // Congo - Kinshasa", - "CH", // Switzerland", - "CI", // C\u00f4te d\u2019Ivoire", - "CK", // Cook Islands", - "CL", // Chile", - "CN", // China", - "CO", // Colombia", - "CR", // Costa Rica", - "CU", // Cuba", - "CV", // Cape Verde", - "CW", // Cura\u00e7ao", - "CY", // Cyprus", - "DK", // Denmark", - "DM", // Dominica", - "DO", // Dominican Republic", - "DZ", // Algeria", - "EC", // Ecuador", - "EE", // Estonia", - "EG", // Egypt", - "ET", // Ethiopia", - "FI", // Finland", - "FO", // Faroe Islands", - "GA", // Gabon", - "GB", // United Kingdom", - "GE", // Georgia", - "GG", // Guernsey", - "GH", // Ghana", - "GI", // Gibraltar", - "GL", // Greenland", - "GP", // Guadeloupe", - "GR", // Greece", - "GT", // Guatemala", - "GU", // Guam", - "GY", // Guyana", - "HK", // Hong Kong SAR China", - "HN", // Honduras", - "HR", // Croatia", - "ID", // Indonesia", - "IE", // Ireland", - "IL", // Israel", - "IM", // Isle of Man", - "IN", // India", - "IQ", // Iraq", - "IR", // Iran", - "IS", // Iceland", - "IT", // Italy", - "JE", // Jersey", - "JM", // Jamaica", - "JO", // Jordan", - "JP", // Japan", - "KE", // Kenya", - "KG", // Kyrgyzstan", - "KH", // Cambodia", - "KR", // South Korea - "KW", // Kuwait - "KY", // Cayman Islands - "KZ", // Kazakhstan - "LA", // Laos - "LB", // Lebanon - "LC", // St. Lucia - "LI", // Liechtenstein - "LK", // Sri Lanka - "LT", // Lithuania - "LU", // Luxembourg - "LV", // Latvia - "LY", // Libya - "MA", // Morocco - "MC", // Monaco - "MD", // Moldova - "ME", // Montenegro - "MF", // St. Martin - "MG", // Madagascar - "MK", // Macedonia - "ML", // Mali - "MM", // Myanmar Burma - "MN", // Mongolia - "MO", // Macau SAR China - "MP", // Northern Mariana Isl - "MQ", // Martinique - "MR", // Mauritania - "MT", // Malta - "MU", // Mauritius - "MV", // Maldives - "MW", // Malawi - "MX", // Mexico - "MY", // Malaysia - "MZ", // Mozambique - "NA", // Namibia - "NC", // New Caledonia - "NG", // Nigeria - "NI", // Nicaragua - "NO", // Norway - "NP", // Nepal - "NZ", // New Zealand - "OM", // Oman - "PA", // Panama - "PE", // Peru - "PF", // French Polynesia - "PH", // Philippines - "PK", // Pakistan - "PM", // St. Pierre & Miquelo - "PR", // Puerto Rico - "PS", // Palestinian Territor - "PW", // Palau - "PY", // Paraguay - "QA", // Qatar - "RE", // R\u00e9union - "RS", // Serbia - "RU", // Russia - "RW", // Rwanda - "SA", // Saudi Arabia - "SC", // Seychelles - "SD", // Sudan - "SE", // Sweden - "SG", // Singapore - "SI", // Slovenia - "SL", // Sierra Leone - "SM", // San Marino - "SN", // Senegal - "SR", // Suriname - "ST", // S\u00e3o Tom\u00e9 & Pr\u00edncipe - "SV", // El Salvador - "SX", // Sint Maarten - "SY", // Syria - "SZ", // Swaziland - "TG", // Togo - "TH", // Thailand - "TJ", // Tajikistan - "TM", // Turkmenistan - "TN", // Tunisia - "TT", // Trinidad & Tobago - "TW", // Taiwan - "TZ", // Tanzania - "UA", // Ukraine - "US", // United States - "UY", // Uruguay - "UZ", // Uzbekistan - "VC", // St. Vincent & Grenad - "VE", // Venezuela - "VI", // U.S. Virgin Islands - "VN", // Vietnam - "YT", // Mayotte - "ZA", // South Africa - "ZM", // Zambia - "ZW", // Zimbabwe - "XK", // Kosovo" - */ - ]; - - const hrefText = window?.location?.href?.slice(44); - const langNumber = parseInt(hrefText); - const cookieLang = hrefLang[langNumber + 1]; - const fetchLang = hrefLang[langNumber]; - - console.log(`Loading cases... ${langNumber || -1} / ${hrefLang?.length}`) - - if(hrefText == "start") { - await Cookies.set("userCountryCode", `${hrefLang[0]}`); - await Cookies.set("currency", "USD"); - try { chrome.storage.local.set({ allCases: null }); } catch(e) {}; - return window?.location?.replace('https://key-drop.com/pl/apiData/Cases?index=0'); - } - - if((!cookieLang && !fetchLang) || hrefText == "done") { - let allCases = await getStorageData('local', 'allCases'); - let mainSite = await fetchUrl('GET', `https://key-drop.com/pl/`); - if(!mainSite) return; - - while(mainSite.search('" class="case__link"') !== -1) { - const positionUrlEnd = mainSite.search('" class="case__link"'); - const urlEnd = mainSite.slice(0, positionUrlEnd); - const url = urlEnd.slice(urlEnd.lastIndexOf('data-href="') + 11); - allCases.push({ - name: url.slice(url.lastIndexOf('/') + 1)?.replace(/-/g, ' ')?.toUpperCase(), - url: url, - odds: 0, - }); - mainSite = mainSite.slice(positionUrlEnd + 21); - } - - allCases = allCases.filter((value, index, self) => - index === self.findIndex(t => t.name === value.name) - ); - - const getCaseOdds = async(allCases, i) => { - console.log(`Loading case ods... ${i} / ${allCases?.length}`) - setTimeout(async() => { - if(!allCases[i]?.url) { - alert('DONE'); - console.log(allCases); - const link = document.createElement("a"); - const file = new Blob([JSON.stringify(allCases, null, 4)], { type: 'text/plain' }); - link.href = URL.createObjectURL(file); - link.download = "allCasesOdds.txt"; - link.click(); - URL.revokeObjectURL(link.href); - return; - } - let caseSite = await fetchUrl('GET', allCases[i].url); - if(!caseSite) { - console.log(allCases[i]); - return getCaseOdds(allCases, i + 1); - } - - caseSite = JSON?.stringify(caseSite); - let _caseInfo = caseSite?.split("var __case = ")[1] - ?.replace(/'/g, '"') - ?.replace(/isLoggedIn:/g, '"isLoggedIn":') - ?.replace(/requireCaptcha:/g, '"requireCaptcha":') - ?.replace(/type:/g, '"type":') - ?.replace(/endpoints:/g, '"endpoints":') - ?.replace(/createdInCooperation:/g, '"createdInCooperation":') - ?.replace(/addFundsButton:/g, '"addFundsButton":') - ?.replace(/balance:/g, '"balance":') - ?.replace(/open:/g, '"open":') - ?.replace(/sell:/g, '"sell":') - ?.replace(/sellAll:/g, '"sellAll":') - ?.replace(/layoutVariant:/g, '"layoutVariant":') - ?.replace(/loginUrl:/g, '"loginUrl":') - ?.replace(/depositUrl:/g, '"depositUrl":') - ?.replace(/eventCoin:/g, '"eventCoin":') - ?.replace(/maxRollsLength:/g, '"maxRollsLength":') - ?.replace(/id:/g, '"id":') - ?.replace(/title:/g, '"title":') - ?.replace(/coverImg:/g, '"coverImg":') - ?.replace(/price:/g, '"price":') - ?.replace(/priceFrom:/g, '"priceFrom":') - ?.replace(/iconSize:/g, '"iconSize":') - ?.replace(/iconFilter:/g, '"iconFilter":') - ?.replace(/topDrops:/g, '"topDrops":') - ?.replace(/pfUpdatedAt:/g, '"pfUpdatedAt":') - ?.replace(/items:/g, '"items":') - ?.replace(/item:/g, '"item":') - ?.replace(/rarity:/g, '"rarity":') - ?.replace(/price:/g, '"price":') - ?.replace(/intervalFrom:/g, '"intervalFrom":') - ?.replace(/intervalTo:/g, '"intervalTo":') - ?.replace(/odds:/g, '"odds":') - ?.replace(/lang:/g, '"lang":') - ?.replace(/error:/g, '"error":') - ?.replace(/defaultTitle:/g, '"defaultTitle":') - ?.replace(/defaultMessage:/g, '"defaultMessage":') - ?.replace(/header:/g, '"header":') - ?.replace(/actions:/g, '"actions":') - ?.replace(/goBack:/g, '"goBack":') - ?.replace(/short:/g, '"short":') - ?.replace(/full:/g, '"full":') - ?.replace(/toggleSound:/g, '"toggleSound":') - ?.replace(/togglefastMode:/g, '"togglefastMode":') - ?.replace(/loser:/g, '"loser":') - ?.replace(/loginToOpenFor:/g, '"loginToOpenFor":') - ?.replace(/checkingBalance:/g, '"checkingBalance":') - ?.replace(/goBack:/g, '"goBack":') - ?.replace(/openFor:/g, '"openFor":') - ?.replace(/openAgain:/g, '"openAgain":') - ?.replace(/sellFor:/g, '"sellFor":') - ?.replace(/sellOne:/g, '"sellOne":') - ?.replace(/selling:/g, '"selling":') - ?.replace(/sold:/g, '"sold":') - ?.replace(/upgradeAll:/g, '"upgradeAll":') - ?.replace(/tip:/g, '"tip":') - ?.replace(/upgrade:/g, '"upgrade":') - ?.replace(/topDrops:/g, '"topDrops":') - ?.replace(/title:/g, '"title":') - ?.replace(/openForFree:/g, '"openForFree":') - ?.replace(/addFundsWithPromocode:/g, '"addFundsWithPromocode":') - ?.replace(/getBonus:/g, '"getBonus":') - ?.replace(/addFundsToOpenFor:/g, '"addFundsToOpenFor":') - ?.replace(/content:/g, '"content":') - ?.replace(/updated:/g, '"updated":') - ?.replace(/checkOddsRange:/g, '"checkOddsRange":') - ?.replace(/chance:/g, '"chance":') - ?.replace(/range:/g, '"range":') - ?.replace(/shortcuts:/g, '"shortcuts":') - ?.replace(/opening:/g, '"opening":') - ?.replace(/values:/g, '"values":') - ?.replace(/coverage:/g, '"coverage":') - ?.replace(/drawingOrder:/g, '"drawingOrder":') - ?.replace(/acceleration:/g, '"acceleration":') - ?.replace(/muteSound:/g, '"muteSound":') - ?.replace(/workShopDrop:/g, '"workShopDrop":') - ?.replace(/workShopCarChoosen:/g, '"workShopCarChoosen":') - ?.replace(/on:/g, '"on":') - ?.replace(/off:/g, '"off":') - ?.replace(/coverage": ./g, 'coverage": 0.') - ?.replace(/"s /g, "'s ") - ?.replace(/\\'s /g, "'s ") - ?.replace(/\\n/g, "") - ?.replace(/\\r/g, "") - ?.replace(/\\/g, "") - ?.replace(/ /g, '') - ?.replace(/ /g, '') - ?.replace(/, },/g, ' },') - ?.replace(/,},/g, '},') - ?.replace(/,},],/g, '}],') - ?.replace(/],},],"lang":/g, '],}],"lang":') - ?.replace(/}],},{"id":/g, '}]},{"id":') - ?.replace(/},]},{"id": /g, '}]},{"id": ') - ?.replace(/},]},],"lang":/g, '}]}],"lang":') - ?.replace(/,},{"rarity":/g, '},{"rarity":') - ?.replace(/,},"header":/g, '},"header":') - ?.replace(/,},"toggleSound":/g, '},"toggleSound":') - ?.replace(/,},"togglefastMode":/g, '},"togglefastMode":') - ?.replace(/,}}},"loser":/g, '}}},"loser":') - ?.replace(/,},"topDrops":/g, '},"topDrops":') - ?.replace(/,},"content"/g, '},"content"') - ?.replace(/,},"item":/g, '},"item":') - ?.replace(/,}},"shortcuts":/g, '}},"shortcuts":') - ?.replace(/,},},}/g, '}}}') - ?.replace(/},]},{"id"/, '}]},{"id"') - ?.replace(/}],}],"lang": {"error": {"defaultTitle":/g, '}]}],"lang": {"error": {"defaultTitle":') - ?.replace(/Ramese"s/g, "Ramese's") - ?.replace(/Chantico"s/g, "Chantico's") - ?.replace(/Man-o"-war/g, "Man-o'-war") - ?.replace(/Sobek"s/g, "Sobek's") - ?.replace(/Apep"s/g, "Apep's") - ?.replace(/Ol"/g, "Ol'") - ?.replace(/Death"s/g, "Death's") - ?.replace(/Mummy"s/g, "Mummy's") - ?.replace(/Minotaur"s/g, "Minotaur's") - ?.replace(/"Blueberries"/g, "'Blueberries'") - ?.replace(/"Medium Rare"/g, "'Medium Rare'") - ?.replace(/"The Doctor"/g, "'The Doctor'") - ?.replace(/"Two Times"/g, "'Two Times'") - ?.replace(/d"Escadron/g, "d'Escadron") - ?.replace(/"Goggles"/g, "'Goggles'") - ?.replace(/"Wet Sox"/g, "'Wet Sox'") - ?.replace(/"Dead Cold"/g, "'Dead Cold'") - ?.replace(/"Van Healen"/g, "'Van Healen'") - ?.replace(/"Tree Hugger"/g, "'Tree Hugger'") - ?.replace(/Pandora"s/g, "Pandora's") - ?.replace(/'/g, '"') - ?.replace(/Ramese"s/g, "Ramese's") - ?.replace(/Chantico"s/g, "Chantico's") - ?.replace(/Man-o"-war/g, "Man-o'-war") - ?.replace(/Sobek"s/g, "Sobek's") - ?.replace(/Apep"s/g, "Apep's") - ?.replace(/Ol"/g, "Ol'") - ?.replace(/Death"s/g, "Death's") - ?.replace(/Mummy"s/g, "Mummy's") - ?.replace(/Minotaur"s/g, "Minotaur's") - ?.replace(/"Blueberries"/g, "'Blueberries'") - ?.replace(/"Medium Rare"/g, "'Medium Rare'") - ?.replace(/"The Doctor"/g, "'The Doctor'") - ?.replace(/"Two Times"/g, "'Two Times'") - ?.replace(/d"Escadron/g, "d'Escadron") - ?.replace(/"Goggles"/g, "'Goggles'") - ?.replace(/"Wet Sox"/g, "'Wet Sox'") - ?.replace(/"Dead Cold"/g, "'Dead Cold'") - ?.replace(/"Van Healen"/g, "'Van Healen'") - ?.replace(/"Tree Hugger"/g, "'Tree Hugger'") - ?.replace(/Pandora"s/g, "Pandora's") - ?.replace(/isLoggedIn:/g, '"isLoggedIn":') - ?.replace(/requireCaptcha:/g, '"requireCaptcha":') - ?.replace(/type:/g, '"type":') - ?.replace(/endpoints:/g, '"endpoints":') - ?.replace(/createdInCooperation:/g, '"createdInCooperation":') - ?.replace(/addFundsButton:/g, '"addFundsButton":') - ?.replace(/balance:/g, '"balance":') - ?.replace(/open:/g, '"open":') - ?.replace(/sell:/g, '"sell":') - ?.replace(/sellAll:/g, '"sellAll":') - ?.replace(/layoutVariant:/g, '"layoutVariant":') - ?.replace(/loginUrl:/g, '"loginUrl":') - ?.replace(/depositUrl:/g, '"depositUrl":') - ?.replace(/eventCoin:/g, '"eventCoin":') - ?.replace(/maxRollsLength:/g, '"maxRollsLength":') - ?.replace(/id:/g, '"id":') - ?.replace(/title:/g, '"title":') - ?.replace(/coverImg:/g, '"coverImg":') - ?.replace(/price:/g, '"price":') - ?.replace(/priceFrom:/g, '"priceFrom":') - ?.replace(/iconSize:/g, '"iconSize":') - ?.replace(/iconFilter:/g, '"iconFilter":') - ?.replace(/topDrops:/g, '"topDrops":') - ?.replace(/pfUpdatedAt:/g, '"pfUpdatedAt":') - ?.replace(/items:/g, '"items":') - ?.replace(/item:/g, '"item":') - ?.replace(/rarity:/g, '"rarity":') - ?.replace(/price:/g, '"price":') - ?.replace(/intervalFrom:/g, '"intervalFrom":') - ?.replace(/intervalTo:/g, '"intervalTo":') - ?.replace(/odds:/g, '"odds":') - ?.replace(/lang:/g, '"lang":') - ?.replace(/error:/g, '"error":') - ?.replace(/defaultTitle:/g, '"defaultTitle":') - ?.replace(/defaultMessage:/g, '"defaultMessage":') - ?.replace(/header:/g, '"header":') - ?.replace(/actions:/g, '"actions":') - ?.replace(/goBack:/g, '"goBack":') - ?.replace(/short:/g, '"short":') - ?.replace(/full:/g, '"full":') - ?.replace(/toggleSound:/g, '"toggleSound":') - ?.replace(/togglefastMode:/g, '"togglefastMode":') - ?.replace(/loser:/g, '"loser":') - ?.replace(/loginToOpenFor:/g, '"loginToOpenFor":') - ?.replace(/checkingBalance:/g, '"checkingBalance":') - ?.replace(/goBack:/g, '"goBack":') - ?.replace(/openFor:/g, '"openFor":') - ?.replace(/openAgain:/g, '"openAgain":') - ?.replace(/sellFor:/g, '"sellFor":') - ?.replace(/sellOne:/g, '"sellOne":') - ?.replace(/selling:/g, '"selling":') - ?.replace(/sold:/g, '"sold":') - ?.replace(/state:/g, '"state":') - ?.replace(/skins:/g, '"skins":') - ?.replace(/upgradeAll:/g, '"upgradeAll":') - ?.replace(/caseOpeningAnimationState:/g, '"caseOpeningAnimationState":') - ?.replace(/tip:/g, '"tip":') - ?.replace(/upgrade:/g, '"upgrade":') - ?.replace(/topDrops:/g, '"topDrops":') - ?.replace(/title:/g, '"title":') - ?.replace(/origin:/g, '"origin":') - ?.replace(/openForFree:/g, '"openForFree":') - ?.replace(/addFundsWithPromocode:/g, '"addFundsWithPromocode":') - ?.replace(/getBonus:/g, '"getBonus":') - ?.replace(/addFundsToOpenFor:/g, '"addFundsToOpenFor":') - ?.replace(/content:/g, '"content":') - ?.replace(/updated:/g, '"updated":') - ?.replace(/checkOddsRange:/g, '"checkOddsRange":') - ?.replace(/chance:/g, '"chance":') - ?.replace(/range:/g, '"range":') - ?.replace(/shortcuts:/g, '"shortcuts":') - ?.replace(/opening:/g, '"opening":') - ?.replace(/values:/g, '"values":') - ?.replace(/coverage:/g, '"coverage":') - ?.replace(/drawingOrder:/g, '"drawingOrder":') - ?.replace(/acceleration:/g, '"acceleration":') - ?.replace(/muteSound:/g, '"muteSound":') - ?.replace(/workShopDrop:/g, '"workShopDrop":') - ?.replace(/workShopCarChoosen:/g, '"workShopCarChoosen":') - ?.replace(/on:/g, '"on":') - ?.replace(/off:/g, '"off":') - ?.replace(/coverage": ./g, 'coverage": 0.') - ?.replace(/ /g, '') - ?.replace(/ /g, '') - ?.replace(/, },/g, ' },') - ?.replace(/,},/g, '},') - ?.replace(/,\n},\n],/g, '\n}\n],') - ?.replace(/],\n},\n],\n"lang":/g, '],\n}\n],\n"lang":') - ?.replace(/}\n],\n},\n{\n"id":/g, '}\n]\n},\n{\n"id":') - ?.replace(/,\n},\n{\n"rarity":/g, '\n},\n{\n"rarity":') - ?.replace(/,\n},\n"header":/g, '\n},\n"header":') - ?.replace(/,\n},\n"toggleSound":/g, '\n},\n"toggleSound":') - ?.replace(/,\n},\n"togglefastMode":/g, '\n},\n"togglefastMode":') - ?.replace(/,\n}\n}\n},\n"loser":/g, '\n}\n}\n},\n"loser":') - ?.replace(/,\n},\n"topDrops":/g, '\n},\n"topDrops":') - ?.replace(/,\n},\n"content"/g, '\n},\n"content"') - ?.replace(/,\n},\n"item":/g, '\n},\n"item":') - ?.replace(/,\n}\n},\n"shortcuts":/g, '\n}\n},\n"shortcuts":') - ?.replace(/,\n},\n},\n}/g, '\n}\n}\n}') - ?.replace(/}\n],\n}\n],\n"lang": {\n"error": {\n"defaultTitle":/g, '}\n]\n}\n],\n"lang": {\n"error": {\n"defaultTitle":') - ?.replace(/\n}\n],\n},\n {\n"id":/g, '\n}\n]\n},\n {\n"id":') - ?.replace(/,\n },\n "layoutVariant":/g, '\n},\n"layoutVariant":') - ?.replace(/,\n},\n {\n"rarity"/g, '\n},\n {\n"rarity"') - ?.replace(/"s /g, "'s ") - ?.replace(/\\'s /g, "'s ") - ?.replace(/tttttt/g, '') - ?.replace(/ttt/g, '') - ?.replace(/tttstate:/g, '"state":') - ?.replace(/tttskins:/g, '"skins":') - ?.replace(/sellMany:/g, '"sellMany":') - ?.replace(/,},"layoutVariant":/g, '},"layoutVariant":') - ?.replace(/},]}, {"id": "/g, '}]}, {"id": "') - ?.replace(/"coverage": 0..2/g, '"coverage": 0.2') - ?.replace(/"coverage": 0../g, '"coverage": 0.0') - - _caseInfo = `${_caseInfo?.slice(0, _caseInfo?.search('"lang": {'))}"lang": {}}`; - try { - let caseJSON = JSON?.parse(_caseInfo); - - let betterSkinsOdds = 0; - caseJSON?.items?.forEach(el => { - if(el?.pf?.length) { - el?.pf?.forEach(el2 => { - if(el2?.price > caseJSON?.price) - betterSkinsOdds += el2?.odds; - }); - } - }); - - allCases[i].odds = Math?.round(betterSkinsOdds); - getCaseOdds(allCases, i + 1); - } catch(e) - { - console.log(_caseInfo); - getCaseOdds(allCases, i + 1); - } - }, cooldown); - }; - - return getCaseOdds(allCases, 0); - } - - if(fetchLang) { - const fetch = await fetchUrl('GET', `https://key-drop.com/pl/apiData/Cases`); - if(!fetch) return; - - if(fetchLang == "PL") { - for(i = 0; i < fetch?.sections?.length; i++) { - if(!["KINGS GAME", "Games", "GOLD AREA"]?.includes(fetch?.sections[i]?.name)) { - for(j = 0; j < fetch?.sections[i]?.cases?.length; j++) { - const data = { - name: fetch?.sections[i]?.cases[j]?.name, - url: fetch?.sections[i]?.cases[j]?.url, - odds: 0, - }; - if(fetch?.sections[i]?.name == "YOUTUBERS CASES") { - if(["kacper rietz", "mateo", "isamu", "medusa", "innocent", "dmg", "nexe", "forever", "zony"]?.includes(data?.name?.toLowerCase())) data.lang = 'PL'; - else if(["mopo"]?.includes(data?.name?.toLowerCase())) data.lang = 'NL'; - else if(["enerqia", "vural", "rennow", "xm1nn"]?.includes(data?.name?.toLowerCase())) data.lang = 'TR'; - else if(["elpibecs1"]?.includes(data?.name?.toLowerCase())) data.lang = 'AR'; - else if(["jamiedrakehd", "tiagovski", "chentric", "VALEK"]?.includes(data?.name?.toLowerCase())) data.lang = 'PT'; - else if(["tynka"]?.includes(data?.name?.toLowerCase())) data.lang = 'CZ'; - else if(["shavo", "okta", "iraphahell", "generalu"]?.includes(data?.name?.toLowerCase())) data.lang = 'RO'; - else if(["juanflatroo"]?.includes(data?.name?.toLowerCase())) data.lang = 'AL'; - else if(["zolik22"]?.includes(data?.name?.toLowerCase())) data.lang = 'SK'; - else if(["dadosch", "jorgo", "krowny", "snugtoes"]?.includes(data?.name?.toLowerCase())) data.lang = 'DE'; - else if(["bytarifa", "sajucsgo", "black", "poker"]?.includes(data?.name?.toLowerCase())) data.lang = 'ES'; - else if(["pietrak", "jasonplay", "narancs"]?.includes(data?.name?.toLowerCase())) data.lang = 'HU'; - else if(["lugin", "csr"]?.includes(data?.name?.toLowerCase())) data.lang = 'BR'; - else if(["anon"]?.includes(data?.name?.toLowerCase())) data.lang = 'EN'; - else data.lang = fetchLang; - data.img = fetch?.sections[i]?.cases[j]?.coverImgUrl; - data.price_USD = fetch?.sections[i]?.cases[j]?.price; - } - cases?.push(data); - } - } - }; - } else { - const findYT = fetch?.sections?.filter(e => e?.name == "YOUTUBERS CASES"); - if(!findYT) return; - for(i = 0; i < findYT[0]?.cases?.length; i++) { - const data = { - name: findYT[0]?.cases[i]?.name, - url: findYT[0]?.cases[i]?.url, - lang: fetchLang, - img: findYT[0]?.cases[i]?.coverImgUrl, - price_USD: findYT[0]?.cases[i]?.price, - odds: 0, - }; - if(["kacper rietz", "mateo", "isamu", "medusa", "innocent", "dmg", "nexe", "forever", "zony"]?.includes(data?.name?.toLowerCase())) data.lang = 'PL'; - else if(["mopo"]?.includes(data?.name?.toLowerCase())) data.lang = 'NL'; - else if(["enerqia", "vural", "rennow", "xm1nn"]?.includes(data?.name?.toLowerCase())) data.lang = 'TR'; - else if(["elpibecs1"]?.includes(data?.name?.toLowerCase())) data.lang = 'AR'; - else if(["jamiedrakehd", "tiagovski", "chentric", "VALEK"]?.includes(data?.name?.toLowerCase())) data.lang = 'PT'; - else if(["tynka"]?.includes(data?.name?.toLowerCase())) data.lang = 'CZ'; - else if(["shavo", "okta", "iraphahell", "generalu"]?.includes(data?.name?.toLowerCase())) data.lang = 'RO'; - else if(["juanflatroo"]?.includes(data?.name?.toLowerCase())) data.lang = 'AL'; - else if(["zolik22"]?.includes(data?.name?.toLowerCase())) data.lang = 'SK'; - else if(["dadosch", "jorgo", "krowny", "snugtoes"]?.includes(data?.name?.toLowerCase())) data.lang = 'DE'; - else if(["bytarifa", "sajucsgo", "black", "poker"]?.includes(data?.name?.toLowerCase())) data.lang = 'ES'; - else if(["pietrak", "jasonplay", "narancs"]?.includes(data?.name?.toLowerCase())) data.lang = 'HU'; - else if(["lugin", "csr"]?.includes(data?.name?.toLowerCase())) data.lang = 'BR'; - else if(["anon"]?.includes(data?.name?.toLowerCase())) data.lang = 'EN'; - cases?.push(data); - } - } - - const allCases = await getStorageData('local', 'allCases'); - if(!allCases?.length) { - try { chrome.storage.local.set({ allCases: cases }); } catch(e) {}; - } else { - try { chrome.storage.local.set({ allCases: [...allCases, ...cases] }); } catch(e) {}; - } - } - - if(cookieLang) - await Cookies.set("userCountryCode", `${cookieLang}`); - - setTimeout(async() => { - window?.location?.replace(`https://key-drop.com/pl/apiData/Cases?index=${langNumber + 1}`); - }, cooldown); -}); \ No newline at end of file diff --git a/js/caseInfo.js b/js/caseInfo.js index 8227d9d..d47f262 100644 --- a/js/caseInfo.js +++ b/js/caseInfo.js @@ -167,7 +167,7 @@ function getCaseData(languageText, server) { if(target && newValue) _caseInfo = _caseInfo?.replace(new RegExp(target, 'g'), newValue); }); - + _caseInfo = `${_caseInfo?.slice(0, _caseInfo?.search('.\n"lang": {'))}}`; caseJSON = JSON?.parse(_caseInfo); } @@ -176,7 +176,7 @@ function getCaseData(languageText, server) { }; const caseDataCombine = async(caseJSON, languageText) => { - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); const casePrice = caseJSON?.price || 999999; const dropList = []; let betterSkinsOdds = 0; @@ -273,53 +273,46 @@ const caseDataCombine = async(caseJSON, languageText) => { let profitPercentText = `${Math?.round(betterSkinsOdds) || 0}%`; if(caseJSON?.priceFrom == "gold") { - if(false) { - let skinsPriceSum = 0; - let gold = 350000000000; - while(gold > casePrice) { - gold -= casePrice; - const roll = Math?.floor(Math?.random() * 100000) + 1; - const drop = dropList?.filter(item => { - return (roll >= item?.intervalFrom && roll <= item?.intervalTo) - }); - skinsPriceSum += parseFloat(drop[0]?.price); - } - console.log(`${caseJSON?.title} | ${skinsPriceSum?.toFixed(2)} ${currency}`); - } - const goldAreaData = []; - const server = await getServerData(); - if(!server?.goldArea) return; - server?.goldArea?.sort((a, b) => b.profit - a.profit); - for(i = 0; i < server?.goldArea?.length; i++) { + + const casesFetch = await fetchUrl('GET', `${githubUrl}/cases.json`) + if(!casesFetch) return; + const cases = JSON.parse(`{"cases": ${casesFetch}}`)?.cases; + if(!cases?.length) return; + + const goldenCases = cases?.filter(el => el?.goldProfit !== undefined); + if(!goldenCases || !goldenCases?.length) return; + + goldenCases?.sort((a, b) => b.goldProfit - a.goldProfit); + for(i = 0; i < goldenCases?.length; i++) { const data = { rank: i+1, lvl: 0 }; - const profit = server?.goldArea[i]?.profit; - if(profit <= 45454545) + const profit = goldenCases[i]?.goldProfit; + if(profit <= 11111111) data.lvl = 0; - else if(profit <= 90909091) + else if(profit <= 13209876) data.lvl = 0.5; - else if(profit <= 136363636) + else if(profit <= 15308641) data.lvl = 1; - else if(profit <= 181818182) + else if(profit <= 17407407) data.lvl = 1.5; - else if(profit <= 227272727) + else if(profit <= 19506172) data.lvl = 2; - else if(profit <= 272727273) + else if(profit <= 21604937) data.lvl = 2.5; - else if(profit <= 318181818) + else if(profit <= 23703703) data.lvl = 3; - else if(profit <= 363636364) + else if(profit <= 25802468) data.lvl = 3.5; - else if(profit <= 409090909) + else if(profit <= 27901233) data.lvl = 4; - else if(profit <= 454545455) + else if(profit <= 29999999) data.lvl = 4.5; else data.lvl = 5; - goldAreaData[server?.goldArea[i]?.name] = data; + goldAreaData[goldenCases[i]?.name] = data; }; languageText.profitTitle = languageText?.profitTitleGold, languageText.profitDesc = `#${goldAreaData[caseJSON?.title]?.rank} ${languageText?.profitDescGold}`, diff --git a/js/caseInfoGames.js b/js/caseInfoGames.js index e6bc36e..8230572 100644 --- a/js/caseInfoGames.js +++ b/js/caseInfoGames.js @@ -188,7 +188,7 @@ const getGamesCaseData = async(languageText, server) => { } }); - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString() || 'USD'; + const currency = getCookieValue('currency') || 'USD'; gamesCaseDataCombine(caseData, languageText, currency); }; diff --git a/js/caseOdds.js b/js/caseOdds.js index 2e4c28b..d88888c 100644 --- a/js/caseOdds.js +++ b/js/caseOdds.js @@ -1,13 +1,15 @@ $( document ).ready(async() => { const config = await getConfigData(); - const server = await getServerData(); - if(!server || !config) return; + const casesFetch = await fetchUrl('GET', `${githubUrl}/cases.json`) + if(!casesFetch || !config) return; + const cases = JSON.parse(`{"cases": ${casesFetch}}`)?.cases; + if(!cases?.length) return; waitForElm('section#gold-area').then(async() => { - refreshOdds(config, server); + refreshOdds(config, cases); }); - const observer = new MutationObserver(function () { refreshOdds(config, server) }); + const observer = new MutationObserver(function () { refreshOdds(config, cases) }); function addObserverIfDesiredNodeAvailable() { let panel = document.querySelectorAll(".slider-handles button"); if(!panel?.length) @@ -18,17 +20,17 @@ $( document ).ready(async() => { addObserverIfDesiredNodeAvailable(); }); -const refreshOdds = async(config, server) => { - $('section#youtubers-cases div.relative.grid.transform.grid-cols-1')?.attr('case-orginal', 'true'); +const refreshOdds = async(config, cases) => { + $('section#youtubers-cases div.group.relative')?.attr('case-orginal', 'true'); - await createYTcases(server); + await createYTcases(cases); $('div.relative.grid.transform.grid-cols-1')?.each(function() { - createCaseOdds(server, this, false); + createCaseOdds(cases, this, false); }); $('div[data-testid="case-card-container"]')?.each(function() { - createCaseOdds(server, this, true); + createCaseOdds(cases, this, true); }); if(!config?.showAllYoutuberCases) @@ -46,41 +48,39 @@ const refreshOdds = async(config, server) => { waitForElm('section#favorite').then(() => { $('section#favorite div.relative.grid.transform.grid-cols-1')?.each(function() { - createCaseOdds(server, this, false); + createCaseOdds(cases, this, false); }); }); } -const createCaseOdds = async(server, thisElement, eventCase) => { +const createCaseOdds = async(cases, thisElement, eventCase) => { const caseName = $(thisElement)?.find('div[data-testid=case-card-badge-btn] p')?.text(); if(!caseName) return; let odds; - const thisCase = server?.allCases?.filter(el => el?.name == caseName); - if(!thisCase || !thisCase?.length) { - const thisGoldCase = server?.goldArea?.filter(el => el?.name == caseName); - if(!thisGoldCase || !thisGoldCase?.length) return; - - const profit = thisGoldCase[0]?.profit; - if(profit <= 45454545) + const thisCase = cases?.filter(el => el?.name == caseName); + if(!thisCase || !thisCase?.length) return; + if (thisCase[0]?.goldProfit !== undefined) { + const profit = thisCase[0]?.goldProfit; + if(profit <= 11111111) odds = `0/5`; - else if(profit <= 90909091) + else if(profit <= 13209876) odds = `0.5/5`; - else if(profit <= 136363636) + else if(profit <= 15308641) odds = `1/5`; - else if(profit <= 181818182) + else if(profit <= 17407407) odds = `1.5/5`; - else if(profit <= 227272727) + else if(profit <= 19506172) odds = `2/5`; - else if(profit <= 272727273) + else if(profit <= 21604937) odds = `2.5/5`; - else if(profit <= 318181818) + else if(profit <= 23703703) odds = `3/5`; - else if(profit <= 363636364) + else if(profit <= 25802468) odds = `3.5/5`; - else if(profit <= 409090909) + else if(profit <= 27901233) odds = `4/5`; - else if(profit <= 454545455) + else if(profit <= 29999999) odds = `4.5/5`; else odds = `5/5`; @@ -100,19 +100,20 @@ const createCaseOdds = async(server, thisElement, eventCase) => { ?.html(`

${odds}

${caseName}

`) }; -const createYTcases = async(server) => { - const YTcases = server?.allCases?.filter(el => el?.lang?.length ); +const createYTcases = async(cases) => { + const YTcases = cases?.filter(el => el?.youtuber ); + if(!YTcases || !YTcases?.length) return; const index = await getIndexData(); const currencyRates = index?.currencyRates; - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString() || 'USD'; + const currency = getCookieValue('currency') || 'USD'; const currentRate = currencyRates?.filter(el => el?.id == currency)[0]?.rate || 1; YTcases?.forEach(el => { const priceText = `${(el?.price_USD * currentRate)?.toFixed(2)} ${currency}`.replace('.',','); $('section#youtubers-cases div.grid.gap-6')?.eq(0)?.append($(document.createElement('div')) - ?.addClass("keydrop-plus-ytcases relative grid transform grid-cols-1 grid-rows-1 transition-all duration-200 will-change-transform hover:-translate-y-0.5 rounded-lg aspect-[1/1.12] css-1g6zit4") - ?.html(`
${priceText}
${el.odds}%

${el.odds}%

${el.name}

`) + ?.addClass("keydrop-plus-ytcases group relative aspect-[1/1.5] transition-all duration-200 will-change-transform hover:-translate-y-0.5") + ?.html(`
${priceText}
${el.odds}%

${el.odds}%

${el.name}

`) ); }); }; \ No newline at end of file diff --git a/js/disclosurePanels.js b/js/disclosurePanels.js new file mode 100644 index 0000000..f7471f9 --- /dev/null +++ b/js/disclosurePanels.js @@ -0,0 +1,49 @@ +$( document ).ready(async() => { + const config = await getConfigData(); + if(!config || !config?.active) return; + const language = await getLanguageData(config?.lang); + + const paymentFetch = await fetchUrl('GET', 'https://key-drop.com/en/apiData/PaymentModal?option=payment'); + const paymentModalFetch = await fetchUrl('GET', `https://key-drop.com/lang/paymentModal/${(await getCookieValue('key-lang'))?.toLowerCase()}.json`); + const depositFetch = await fetchUrl('GET', `https://key-drop.com/en/apiData/AccountHistory/deposit?perPage=1&page=0`); + if (!paymentFetch || !paymentModalFetch || !depositFetch) return; + + paymentModal = JSON.parse(JSON.stringify(paymentModalFetch)); + payment = JSON.parse(JSON.stringify(paymentFetch)); + deposit = JSON.parse(JSON.stringify(depositFetch)); + if(!payment || !paymentModal || !deposit) return; + + const languageText = { + lastDeposit: language?.disclosurePanels_lastDeposit, + never: language?.disclosurePanels_never, + }; + + waitForElm('button.button.group.relative.h-full.overflow-hidden').then(async()=>{ + $('button.button.group.relative.h-full.overflow-hidden').eq(0).on('click', async() => { + waitForElm('.group.relative.flex.h-full.cursor-pointer.items-center.overflow-hidden.rounded-bl-lg.border.border-gold-850').then(async()=>{ + if($('.keydrop-plus-usecode-info').length) return; + + const panel = $('div.absolute.flex.rounded-b-2xl.border-t'); + const useCode = panel.find('span.whitespace-nowrap.font-bold.uppercase').eq(2).text(); + + panel.find('button div.flex.items-center').css('margin-top', '-10px') + .after($(document.createElement('div')) + .addClass('whitespace-nowrap text-2xs font-bold uppercase lg:text-[4px]') + .css({ color: 'rgb(146 255 177)', position: 'absolute', bottom: 0, background: '#0000003d', width: '100%', 'text-align': 'center', height: '20px', 'padding-top': '4px' }) + .text(`${paymentModal?.currentCode}: ${payment?.init?.promoCode || '-'}`) + ); + + const depositText = `${languageText?.lastDeposit}: ${deposit?.data[0]?.date || languageText?.never}`; + panel.find('button') + .after($(document.createElement('button')) + .addClass('group relative w-full cursor-pointer overflow-hidden rounded-b-lg border keydrop-plus-usecode-info') + .css({ background: '#ffff0026', 'border-color': 'rgb(255 248 146)' }) + .html(`
${useCode}
${depositText}
`) + .click(function (e) { + $('button.flex.items-center.justify-center.p-3.px-6.absolute.bottom-5.right-5').eq(2).click(); + }) + ); + }); + }); + }); +}); \ No newline at end of file diff --git a/js/freeOpen.js b/js/freeOpen.js index 2cfe374..3e3f679 100644 --- a/js/freeOpen.js +++ b/js/freeOpen.js @@ -90,7 +90,7 @@ const getCaseDrop = async(dropList, casePrice, profitEnable, languageText) => { itemDrops.push(drop[0]); } - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); $('#caseDropCaseCount')?.text(maxNonce+1); $('#caseDropCaseSum')?.text(`${(casePrice * (maxNonce+1))?.toFixed(profitEnable ? 2 : 0)} ${profitEnable ? currency : 'Gold'}`); $('#caseDropSkinsSum')?.text(`${skinsSum?.toFixed(2)} ${currency}`); diff --git a/js/freeOpenGames.js b/js/freeOpenGames.js index bf0b59a..5bf2de6 100644 --- a/js/freeOpenGames.js +++ b/js/freeOpenGames.js @@ -89,7 +89,7 @@ const getGamesCaseDrop = async(dropList, casePrice, languageText) => { itemDrops.push(drop[0]); } - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); $('#caseDropCaseCount')?.text(gamesMaxNonce+1); $('#caseDropCaseSum')?.text(`${(casePrice * (gamesMaxNonce+1))?.toFixed(2)} ${currency}`); $('#caseDropSkinsSum')?.text(`${(skinsSum)?.toFixed(2)} ${currency}`); diff --git a/js/giveawaysList.js b/js/giveawaysList.js index e5fda93..6486e4f 100644 --- a/js/giveawaysList.js +++ b/js/giveawaysList.js @@ -104,7 +104,7 @@ const refreshGiveawaysPanel = async(panelText) => { let sumPrice = 0; await giveawayWinnersTab.forEach(el => sumPrice += el?.price); - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); $('#giveawayMinPriceCurrency').text(` ${currency}`); const giveawayWinnersPrice = `${sumPrice?.toFixed(2)} ${currency || ''}`; const giveawayWinnersCount = giveawayWinnersTab?.length || 0; @@ -120,7 +120,7 @@ const refreshGiveawaysPanel = async(panelText) => { try { chrome.storage.local.set({ giveawaysHistory: giveawaysHistory }); } catch(e) {}; } - let joinsCount = 10; + let joinsCount = 20; let lastResetTime; const myDate = new Date(); const resetDate = new Date(); diff --git a/js/giveawaysUsers.js b/js/giveawaysUsers.js deleted file mode 100644 index 8181f22..0000000 --- a/js/giveawaysUsers.js +++ /dev/null @@ -1,167 +0,0 @@ -const createUsersGiveawayList = async() => { - const config = await getConfigData(); - if(!config?.active || !config?.token) return; - - const language = await getLanguageData(config?.lang); - const serverData = await getServerData(); - if(serverData?.userGiveaways?.length <= 0) return; - - const panelText = { - days: language?.userGiveaways_days, - hours: language?.userGiveaways_hours, - minutes: language?.userGiveaways_minutes, - seconds: language?.userGiveaways_seconds, - join: language?.userGiveaways_join, - prizesPrice: language?.userGiveaways_prizesPrice, - prizes: language?.userGiveaways_prizes, - promocode: language?.userGiveaways_promocode, - joined: language?.userGiveaways_joined, - waitingPlayers: language?.userGiveaways_waitingPlayers, - userGiveaway: language?.userGiveaways_userGiveaway, - info_1: language?.userGiveaways_info_1, - info_2: language?.userGiveaways_info_2, - info_3: language?.userGiveaways_info_3, - info_4: language?.userGiveaways_info_4 - }; - - $('div.giveaway-keydropPlus-info').eq(0) - .after($(document.createElement('div')) - .addClass('container usersgiveaway-keydropPlus-list') - .html(`
${panelText?.userGiveaway}
`) - ) - - const panel = document?.getElementsByClassName('-mb-px hidden border-b border-navy-100 pt-3 pb-4 pr-10 text-navy-100 lg:block')[0]; - const observer = new MutationObserver(function () { - $('.usersgiveaway-keydropPlus-list').css('display', 'none'); - }); - observer.observe(panel, { characterData: true, attributes: false, childList: false, subtree: true }); - refreshUsersGiveawaysPanel(panelText, true); - }; - - const refreshUsersGiveawaysPanel = async(panelText, isFirst) => { - const config = await getConfigData(); - if(!config?.active) return; - - const serverData = await getServerData(); - if(serverData?.userGiveaways?.length <= 0) return; - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); - - let htmlContent = ''; - for(i = 0; i < serverData?.userGiveaways?.length; i++) { - const el = serverData?.userGiveaways[i]; - const fetch = await fetchUrl('GET', `https://wss-2071.key-drop.com/v1/giveaway-user//giveaway/${el}`); - if(!fetch?.data || fetch?.data?.status == "ended") { - if(i == serverData?.userGiveaways?.length - 1) - lastElement(htmlContent, isFirst, panelText, i, serverData); - continue; - } - - const userGiveaway = { - seconds: fetch?.data?.deadlineTimestamp ? (fetch?.data?.deadlineTimestamp - (new Date())?.getTime())?.toString()?.slice(0, -3) : null, - haveIJoined: fetch?.data?.haveIJoined, - maxUsers: fetch?.data?.maxUsers, - minUsers: fetch?.data?.minUsers, - promocode: fetch?.data?.organizer?.promocode, - avatar: fetch?.data?.organizer?.steamAvatar, - username: fetch?.data?.organizer?.username, - members: fetch?.data?.participantCount, - - itemSize: fetch?.data?.prizes?.length, - itemColor: fetch?.data?.prizes[0]?.color, - itemCondition: fetch?.data?.prizes[0]?.condition, - itemCurrency: currency, - itemImg: fetch?.data?.prizes[0]?.itemImg, - itemPrice: fetch?.data?.prizes[0]?.price, - itemSubtitle: fetch?.data?.prizes[0]?.subtitle, - itemTitle: fetch?.data?.prizes[0]?.title, - }; - - const index = await getIndexData(); - const currencyRates = index?.currencyRates; - const currentRate = currencyRates?.filter(el => el?.id == currency)[0]?.rate || 1; - userGiveaway.itemPrice = (currentRate * userGiveaway?.itemPrice).toFixed(2) || 'N/A'; - - let skinConditionFixed = ''; - switch(userGiveaway?.itemCondition) { - case "FN": - skinConditionFixed = "FACTORY NEW"; - break; - case "MN": - skinConditionFixed = "MINIMAL WEAR"; - break; - case "FT": - skinConditionFixed = "FIELD TESTED"; - break; - case "WW": - skinConditionFixed = "WELL-WORN"; - break; - case "BS": - skinConditionFixed = "BATTLE-SCARRED"; - break; - default: - skinConditionFixed = ""; - break; - } - const button = userGiveaway?.haveIJoined ? `
${panelText?.joined}
` : `
${panelText?.join}
`; - const timerPanel = userGiveaway?.seconds ? - `
00
${panelText?.days}
:
00
${panelText?.hours}
:
00
${panelText?.minutes}
:
00
${panelText?.seconds}
` - : `
${panelText?.waitingPlayers?.replace('{MINUSERS}', userGiveaway?.minUsers)}
`; - htmlContent += `

${panelText?.promocode}

${userGiveaway?.promocode}

${panelText?.prizes}
${userGiveaway?.itemSize}
${userGiveaway?.members} / ${userGiveaway?.maxUsers}
${userGiveaway?.itemSubtitle}${userGiveaway?.itemTitle}${skinConditionFixed}
${panelText?.prizesPrice}
${userGiveaway?.itemPrice} ${userGiveaway?.itemCurrency}
${timerPanel}${button}
`; - - if(i == serverData?.userGiveaways?.length - 1) - lastElement(htmlContent, isFirst, panelText, i, serverData); - }; - - setTimeout(async() => { - return refreshUsersGiveawaysPanel(panelText, false); - }, 60 * 1000); -}; - -const lastElement = async(htmlContent, isFirst, panelText, i, serverData) => { - const formUrl = `https://forms.gle/vHGFv7ddQsucAKpX6`; - if(i < 4) - htmlContent += `

${panelText?.info_1}

${panelText?.info_2}

${panelText?.info_3}

${panelText?.info_4}
`; - - $('div.usersgiveaway-keydropPlus-list div.giveawaysList').html(htmlContent); - if(isFirst) giveawayTimer(); -} - -const giveawayTimer = async () => { - $('.userGiveawayTimer')?.each(function(i) { - let seconds = $(this)?.attr('seconds'); - if(!seconds || seconds < 0) return; - $(this)?.attr('seconds', seconds - 1) - - let days = Math.floor(seconds / (24 * 60 * 60)); - seconds -= days * 24 * 60 * 60; - - let hours = Math.floor(seconds / (60 * 60)); - seconds -= hours * 3600; - - let minutes = Math.floor(seconds / 60); - seconds -= minutes * 60; - - days = (days > 9) ? days : `0${days}`; - hours = (hours > 9) ? hours : `0${hours}`; - minutes = (minutes > 9) ? minutes : `0${minutes}`; - seconds = (seconds > 9) ? seconds : `0${seconds}`; - - $(this).find('.days-value').text(days); - $(this).find('.hours-value').text(hours); - $(this).find('.minutes-value').text(minutes); - $(this).find('.seconds-value').text(seconds); - - if(i == $(this)?.length - 1) - setTimeout(async() => { - giveawayTimer(); - }, 1000 ); - }); -} - -waitForElm('div.container.giveaway-keydropPlus-info').then(() => { - createUsersGiveawayList(); -}); - -waitForElm('#main-view span.break-all').then(() => { - $('.usersgiveaway-keydropPlus-list').css('display', 'none'); -}); \ No newline at end of file diff --git a/js/joinGiveaway.js b/js/joinGiveaway.js index 354dde9..2445c5a 100644 --- a/js/joinGiveaway.js +++ b/js/joinGiveaway.js @@ -13,7 +13,7 @@ const giveawayStart = async(isFirst) => { if(isFirst) createToast('info', 'autogiveaway_active'); const index = await getIndexData(); const currencyRates = index?.currencyRates; - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); const currentRate = currencyRates?.filter(el => el?.id == currency)[0]?.rate || 1; runAutoGiveaway(language, port, currentRate, isFirst); }; diff --git a/js/main.js b/js/main.js index da30734..c3b0bed 100644 --- a/js/main.js +++ b/js/main.js @@ -1,5 +1,5 @@ const active = true; -const version = "F2.7"; +const version = "F2.8"; const toastCooldown = 4 * 1000 const tokenExpiresTime = 90 * 1000; const extensionName = "Keydrop+"; @@ -131,6 +131,16 @@ const getLanguageData = async(lang) => { return json; }; +const getCookieValue = (cookieName) => { + const cookies = document.cookie.split(';'); + for (let i = 0; i < cookies.length; i++) { + const cookie = cookies[i].trim(); + if (cookie.startsWith(cookieName + '=')) + return cookie.substring(cookieName.length + 1); + } + return null; +} + const getAutoGiveawayConfigData = async() => { const storageData = await getStorageData(1, 'autoGiveawayConfig'); if(storageData) return storageData; @@ -290,7 +300,7 @@ const showNav = async() => { ) .end(); - $('div.mr-2.flex.flex-col.items-start span.text-2xs.lg\\:text-\\[11px\\]')?.eq(0)?.html('GIVEAWAYS') + $('div.mr-2.flex.flex-col.items-start span.text-2xs.font-semibold.lg\\:text-xs')?.eq(0)?.html('GIVEAWAYS') $(".open-keydrop-plus-modal").on('click', async() => { $('#keydrop-plus-modal') diff --git a/js/paymentPromocode.js b/js/paymentPromocode.js index d31e81d..651d991 100644 --- a/js/paymentPromocode.js +++ b/js/paymentPromocode.js @@ -4,8 +4,8 @@ $( document ).ready(async() => { const language = await getLanguageData(config?.lang); setTimeout(async() => { - $(`button[data-testid="refill-deposit-button"]`)?.on('click', async() => { - waitForElm('div.mt-5 button.button.button-light-green.h-13.text-lightgreen-100.ml-auto').then(()=>{ + $('[data-testid="refill-deposit-btn"]')?.on('click', async() => { + waitForElm('[data-testid="deposit-modal-submit-promocode"]').then(()=>{ createPromocodeButton(language?.paymentPromocode_useCode, true); }); }); diff --git a/js/skinChanger.js b/js/skinChanger.js index 33ae1e7..28aaaa8 100644 --- a/js/skinChanger.js +++ b/js/skinChanger.js @@ -5,13 +5,15 @@ $( document ).ready(async() => { if(!config?.active || !config?.token) return; const language = await getLanguageData(config?.lang); - waitForElm('div.my-4.flex.items-center.justify-between').then(async() => { + waitForElm('[data-testid="items-browser-item-card"]').then(async() => { await createMenu(language); - const panel1 = document?.getElementsByClassName('lg:w-2/5 px-8 mt-8 transition-opacity duration-300')[0]; - const panel2 = document?.getElementsByClassName('grid gap-3')[0]; + const panel1 = document?.querySelectorAll('.grid.gap-3')[0]; + const panel2 = document?.querySelectorAll('.grid.gap-3')[2]; const observer = new MutationObserver(refreshPrices); - observer.observe(panel1, { attributes: true }); - observer.observe(panel2, { childList: true, attributes: false }); + if (panel1 instanceof Node && panel2 instanceof Node) { + observer.observe(panel1, { attributes: true, childList: true }); + observer.observe(panel2, { attributes: true, childList: true }); + } const skinChangerPanel = $('#skinChanger-best-skins-panel'); $(document).on('click', async(e) => { @@ -29,56 +31,54 @@ const refreshPrices = async() => { const steamMarket = await getStorageData('local', 'steamMarketJSON'); const skinportMarket = await getStorageData('local', 'skinportMarketJSON'); - $('div.w-full') - ?.find('div.grid.gap-3') - ?.find('div.group.relative.flex.w-full.select-none.flex-col.items-center.justify-between.rounded-lg.border.border-solid.border-navy-500.bg-navy-600.bg-cover.bg-center.cursor-pointer') - ?.each(function() { - const keydrop_price_text = $(this)?.find('.ml-auto.min-w-0.whitespace-nowrap.rounded-md.bg-navy-900.font-bold.leading-none.text-gold div')?.eq(0)?.text(); - const typeText = $(this)?.find('.ml-2.font-bold.uppercase.leading-none.text-white')?.text(); - let skinEx = null; - - if(typeText?.includes('FN')) - skinEx = "Factory New"; - else if(typeText?.includes('MW')) - skinEx = 'Minimal Wear'; - else if(typeText?.includes('FT')) - skinEx = 'Field-Tested'; - else if(typeText?.includes('WW')) - skinEx = 'Well-Worn'; - else if(typeText?.includes('BS')) - skinEx = 'Battle-Scarred'; - - skinCurrencyAndPrice = getCurrencyAndPrice(keydrop_price_text); - const skinData = { - type: skinEx || null, - stattrak: typeText?.includes('ST') ? true : false, - price_keydrop: skinCurrencyAndPrice[1], - currency_keydrop: skinCurrencyAndPrice[0], - price_steam: 0, - price_skinport: 0, - name: $(this)?.find('p.w-full.flex-shrink-0.truncate.px-1.text-center.font-bold.uppercase.leading-tight.text-white')?.text() || null, - name_second: $(this)?.find('p.mb-2.w-full.flex-shrink-0.truncate.text-center.uppercase.leading-tight.text-navy-300')?.text()?.trim() || null - }; - - if(config?.skinportPrice) - $('.customPrice.skinport')?.prop('checked', true); - - if(config?.steamPrice) - $('.customPrice.steam')?.prop('checked', true); - - if(!$(this)?.find('.keydrop-price')?.length) - $(this)?.find('div.text-gold')?.eq(0)?.addClass('keydrop-price flex')?.prepend($(document.createElement('img'))?.addClass('keydrop-price-icon')); - - if(skinportMarket?.skins?.length) - refreshPriceText(this, skinData, skinportMarket, language, 'skinport', !config?.skinportPrice); - - if(steamMarket?.skins?.length) - refreshPriceText(this, skinData, steamMarket, language, 'steam', !config?.steamPrice); - })?.end(); + $('div[data-testid="items-browser-item-card"]') + ?.each(function() { + const keydrop_price_text = $(this)?.find('div[data-testid="items-browser-item-price"] div')?.eq(0)?.text().trim(); + const typeText = $(this)?.find('[data-testid="items-browser-item-condition"]')?.text().trim(); + let skinEx = null; + + if(typeText?.includes('FN')) + skinEx = "Factory New"; + else if(typeText?.includes('MW')) + skinEx = 'Minimal Wear'; + else if(typeText?.includes('FT')) + skinEx = 'Field-Tested'; + else if(typeText?.includes('WW')) + skinEx = 'Well-Worn'; + else if(typeText?.includes('BS')) + skinEx = 'Battle-Scarred'; + + skinCurrencyAndPrice = getCurrencyAndPrice(keydrop_price_text); + const skinData = { + type: skinEx || null, + stattrak: typeText?.includes('ST') ? true : false, + price_keydrop: skinCurrencyAndPrice[1], + currency_keydrop: skinCurrencyAndPrice[0], + price_steam: 0, + price_skinport: 0, + name: $(this)?.find('[data-testid="items-browser-item-name"]')?.text()?.trim() || null, + name_second: $(this)?.find('[data-testid="items-browser-item-category"]')?.text()?.trim() || null + }; + + if(config?.skinportPrice) + $('.customPrice.skinport')?.prop('checked', true); + + if(config?.steamPrice) + $('.customPrice.steam')?.prop('checked', true); + + if(!$(this)?.find('.keydrop-price')?.length) + $(this)?.find('div.text-gold')?.eq(0)?.addClass('keydrop-price flex')?.prepend($(document.createElement('img'))?.addClass('keydrop-price-icon')); + + if(skinportMarket?.skins?.length) + refreshPriceText(this, skinData, skinportMarket, language, 'skinport', !config?.skinportPrice); + + if(steamMarket?.skins?.length) + refreshPriceText(this, skinData, steamMarket, language, 'steam', !config?.steamPrice); + })?.end(); }; const getCurrencyAndPrice = (text) => { - text = text.trim(); + text = text.trim().replace(/ /g, ''); if(text.indexOf(',') != -1 && text.indexOf('.') != -1) text = text.replace(/\./g, ''); @@ -109,7 +109,7 @@ const convertPriceText = (currency, price) => { }; const refreshPriceText = async(tihsElement, skinData, market, language, cssName, hidden) => { - const skinHashName = `${skinData?.stattrak ? 'StatTrak™ ' : ''}${skinData?.name_second} | ${skinData?.name?.slice(0, -2)}${skinData?.type ? ` (${skinData?.type})` : ''}`; + const skinHashName = `${skinData?.stattrak ? 'StatTrak™ ' : ''}${skinData?.name_second} | ${skinData?.name}${skinData?.type ? ` (${skinData?.type})` : ''}`; const skinInfo = market?.skins?.filter(v => v.name === skinHashName); if (skinData?.currency_keydrop?.length != 3) @@ -198,7 +198,7 @@ const createMenu = (language) => { } catch(e) {}; }); - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); $('#refreshButtonSkinport')?.on('click', () => { if(currency == "UAH" || currency == "ARS") return createToast('warning', 'skinport_currencyError'); @@ -257,9 +257,9 @@ const findBestSkins = async(market, platform, language) => { skinChanger_base_url = content?.split("API_BASE_URL: '")[1]?.split("'")[0]; }); - const currency = $('button.hidden.items-center.justify-center.gap-2.whitespace-nowrap.text-xs.uppercase.leading-none.text-navy-100 span.font-bold').eq(0).text()?.toString(); + const currency = getCookieValue('currency'); const fetch = await fetchUrl('GET', `${skinChanger_base_url}/InventoryItem?itemsPerPage=4000¤cy=${currency?.toLowerCase()}&order=desc`); - + if(!fetch?.data?.elements?.length || !market?.skins?.length) return createToast('warning', 'skinChanger_inventoryError'); let newItemTab = []; fetch?.data?.elements?.forEach(el => { @@ -298,7 +298,7 @@ const findBestSkins = async(market, platform, language) => { }); if(!newItemTab?.length) - return createToast('warning', 'skinChanger_inventoryError'); + return createToast('warning', 'skinChanger_inventoryNull'); let tableTr, aboved100; newItemTab.sort((b,a) => a.diff - b.diff); if(newItemTab?.length > 100) { diff --git a/js/statistics.js b/js/statistics.js index eed6d60..ab739df 100644 --- a/js/statistics.js +++ b/js/statistics.js @@ -42,6 +42,16 @@ const createStatisticsPanel = async() => { exchanged: language?.statistics_exchanged, }; + $('div.flex.min-h-screen.flex-col.items-center.justify-center.text-center').remove(); + + $('a[data-testid="user-btn-tabs-my-account"]').on('click', () => window.location = "https://key-drop.com/pl/panel/profil/"); + $('a[data-testid="user-btn-tabs-add-funds"]').on('click', () => window.location = "deposit-money"); + $('a[data-testid="user-btn-tabs-contracts"]').on('click', () => window.location = "contracts"); + $('a[data-testid="user-btn-tabs-free-gold"]').on('click', () => window.location = "free-gold"); + $('a[data-testid="user-btn-tabs-affiliate-system"]').on('click', () => window.location = "affiliate-system"); + $('a[data-testid="user-btn-tabs-support"]').on('click', () => window.location = "support-chat"); + $('a[data-testid="user-btn-tabs-settings"]').on('click', () => window.location = "settings"); + $('div.sticky.top-0.z-40.mx-auto.max-w-screen-xxl.p-0') ?.after($(document.createElement('table')) ?.addClass('container statistics_container') diff --git a/js/statisticsButton.js b/js/statisticsButton.js index b021903..e8e07b8 100644 --- a/js/statisticsButton.js +++ b/js/statisticsButton.js @@ -24,5 +24,6 @@ const createStatisticsButton = async() => { }; waitForElm('div.sticky.top-0.z-40.mx-auto.max-w-screen-xxl.p-0').then(() => { + $('section div.mx-auto.max-w-screen-xxl.xl\\:px-5 div.mr-auto.w-1\\/2.p-4.sm\\:w-auto.md\\:px-3.xl\\:w-auto').css('margin-left', '60px'); createStatisticsButton(); }); \ No newline at end of file diff --git a/js/ticketInfo.js b/js/ticketInfo.js new file mode 100644 index 0000000..504b25f --- /dev/null +++ b/js/ticketInfo.js @@ -0,0 +1,15 @@ +$( document ).ready(async() => { + const config = await getConfigData(); + if(!config || !config?.active) return; + + waitForElm('div.flex.items-center.gap-2 a[href="/#gold-area"]').then(async()=>{ + const tickets = await fetchUrl('GET', 'https://key-drop.com/pl/balance?battleTickets=1'); + + $('div.flex.items-center.gap-2 a[href="/#gold-area"]').after($(document.createElement('a')) + .addClass('cursor-pointe') + .attr('href', '/#case-battle/list') + .css({ height: '20px', 'margin-left': '-6px', 'margin-top': '-17px' }) + .html(`

x${tickets?.caseBattleTickets || 0}

`) + ); + }); +}); \ No newline at end of file diff --git a/manifest.json b/manifest.json index 65a967d..74aeddc 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Keydrop+ v2", - "version": "2.7", + "version": "2.8", "short_name": "kd+", "author": ["🇯🅤🇿🅛🇺🅢#0420"], "icons": { @@ -27,21 +27,14 @@ "js/dailyCaseTimer.js", "js/alertBanner.js", "js/paymentPromocode.js", + "js/ticketInfo.js", + "js/disclosurePanels.js", "js/settingsPanel.js" ], "css":[ "css/style.css" ] }, - { - "matches": [ - "https://key-drop.com/pl/apiData/Cases?index=*" - ], - "js": [ - "js/jquery/js-cookie.js", - "js/YTcasesData.js" - ] - }, { "matches": [ "*://key-drop.com/*/empty"