diff --git a/assets/css/style.css b/assets/css/style.css index 3d019a6..347694d 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -573,6 +573,10 @@ div[class="cards sitemap shadow"] > h4 { scale: 1.04; } +.banan:active { + scale: 0.98; +} + .music-pop { text-align: left; position: fixed; diff --git a/assets/js/index.js b/assets/js/index.js index 09c86f0..1d96f24 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -66,7 +66,12 @@ function lan() { } if (gameActivity) { - activityNameElem.innerHTML = `Playing ${gameActivity.name}: ${gameActivity.details}, ${gameActivity.state}`; + + const parts = []; + if (gameActivity.name) parts.push(`Playing ${gameActivity.name}`); + if (gameActivity.details) parts.push(gameActivity.details); + if (gameActivity.state) parts.push(gameActivity.state); + activityNameElem.innerHTML = parts.join(': '); if (gameActivity.assets && gameActivity.assets.large_image) { const imgId = gameActivity.assets.large_image; @@ -137,6 +142,7 @@ function generateSkillCards(skillData) { skillData.skills.forEach(skill => { const skillItem = document.createElement('a'); skillItem.classList.add('skill-item', 'tooltip'); + skillItem.id = skill.id; skillItem.href = skill.url; skillItem.target = '_blank'; diff --git a/assets/js/lang.js b/assets/js/lang.js new file mode 100644 index 0000000..ee3d40e --- /dev/null +++ b/assets/js/lang.js @@ -0,0 +1,61 @@ +setTimeout(() => { + let translations = { + en: null, + de: null, + fr: null, + sk: null, + cz: null + }; + + async function fetchLang(lang) { + if (translations[lang] !== null) { + return; + } + + try { + const res = await fetch(`/assets/js/lang/${lang}.json`); + if (!res.ok) { + throw new Error(`Failed to fetch ${lang} translations`); + } + const texts = await res.json(); + translations[lang] = texts; + applyTranslations(lang); + } catch (error) { + console.error(error); + } + } + + function applyTranslations(lang) { + if (!translations[lang]) return; + + document.title = translations[lang].title; + + const elements = [ + "hobbies", "status", "languages", "skills", "coding_stats", "stats_since", + "contact", "software", "tooltip_py", "tooltip_js", "tooltip_djs", "tooltip_c", + "tooltip_cpp", "tooltip_cs", "tooltip_java", "tooltip_kt", "tooltip_mn", "tooltip_en", + "tooltip_de", "tooltip_fr", "tooltip_sk", "tooltip_cz" + ]; + + elements.forEach((selector) => { + const element = document.getElementById(selector); + if (element) { + const key = selector.replace('#', ''); + element.textContent = translations[lang][key] || element.textContent; + } else { + console.warn(`Element with ID '${selector}' not found`); + } + }); + } + + async function switchLanguage(lang) { + await fetchLang(lang); + } + + document.querySelector("div#en.language-name.tooltip").addEventListener('click', () => switchLanguage('en')); + document.querySelector("div#de.language-name.tooltip").addEventListener('click', () => switchLanguage('de')); + document.querySelector("div#fr.language-name.tooltip").addEventListener('click', () => switchLanguage('fr')); + document.querySelector("div#sk.language-name.tooltip").addEventListener('click', () => switchLanguage('sk')); + document.querySelector("div#cz.language-name.tooltip").addEventListener('click', () => switchLanguage('cz')); + +}, 1000); diff --git a/assets/js/lang/cz.json b/assets/js/lang/cz.json new file mode 100644 index 0000000..f70fdda --- /dev/null +++ b/assets/js/lang/cz.json @@ -0,0 +1,27 @@ +{ + "title": "Portfolio zyqa", + "hobbies": "Programování, poslouchání hudby, reverzní inženýrství, hraní Counter-Strike", + "status": "Stav", + "languages_header": "Jazyky", + "skills_header": "Dovednosti", + "stats_header": "Statistiky programování", + "stats_since": "Od 5. ledna 2025", + "contact_header": "Kontakt", + "software_header": "Software, který používám", + "software_equicord_tooltip": "Pomohl jsem vytvořit 2 pluginy", + "tooltip_py": "Druhý programovací jazyk, který jsem se naučil", + "tooltip_html": "Nenávidím tě, CSS", + "tooltip_js": "Zábavný jazyk s nejčistší syntaxí po C", + "tooltip_djs": "Použito v mém selfbotovi", + "tooltip_c": "Vytvořil jsem malé programy a malware", + "tooltip_cpp": "Vytvořil jsem GDI malware pro Windows", + "tooltip_cs": "Vytvořil jsem hodně malwaru", + "tooltip_java": "Vytvořil jsem Minecraft mod a Android aplikaci", + "tooltip_kt": "Vytvořil jsem Android aplikace", + "tooltip_mn": "Profesionální mongolský házeč kamenů", + "tooltip_en": "Začal jsem se učit v 1. třídě", + "tooltip_de": "Začal jsem se učit ve 2. třídě", + "tooltip_fr": "Začal jsem se učit v 7. třídě", + "tooltip_sk": "Můj první jazyk, narozený na Slovensku", + "tooltip_cz": "DLC zdarma, když se narodíš na Slovensku, češtině rozumíš plynule" +} diff --git a/assets/js/lang/de.json b/assets/js/lang/de.json new file mode 100644 index 0000000..a4fe2b9 --- /dev/null +++ b/assets/js/lang/de.json @@ -0,0 +1,27 @@ +{ + "title": "zyq's Portfolio", + "hobbies": "Programmieren, Musikhören, Reverse Engineering, Counter-Strike Spielen", + "status": "Status", + "languages_header": "Sprachen", + "skills_header": "Fähigkeiten", + "stats_header": "Programmierungsstatistiken", + "stats_since": "Seit 5. Januar 2025", + "contact_header": "Kontakt", + "software_header": "Software", + "software_equicord_tooltip": "Bei der Herstellung von 2 Plugins beigetragen", + "tooltip_py": "Die zweite Programmiersprache die ich je gelernt have", + "tooltip_html": "Ich hasse dich, CSS", + "tooltip_js": "Lustige Sprache mit der saubersten Syntax nach C", + "tooltip_djs": "In meinem Selfbot verwendet", + "tooltip_c": "Kleine Software und Malware", + "tooltip_cpp": "GDI-Malware für Windows gemacht", + "tooltip_cs": "Sehr viel Malware gemacht", + "tooltip_java": "Machte einen Minecraft Mod und eine Android App", + "tooltip_kt": "Android Apps gemacht", + "tooltip_mn": "Professioneller Mongolischer Steinewerfer", + "tooltip_en": "In der 1. Klasse angefangen zu lernen", + "tooltip_de": "In der 2. Klasse angefangen zu lernen", + "tooltip_fr": "In der 7. Klasse angefangen zu lernen", + "tooltip_sk": "Muttersprache - wurde in der Slowakei geboren", + "tooltip_cz": "Freie DLC wenn man in der Slowakei geboren ist, man versteht Tschechisch fließend" +} diff --git a/assets/js/lang/en.json b/assets/js/lang/en.json new file mode 100644 index 0000000..e4131e7 --- /dev/null +++ b/assets/js/lang/en.json @@ -0,0 +1,27 @@ +{ + "title": "zyq's Portfolio", + "hobbies": "Coding, Listening to Music, Reverse Engineering, Playing Counter-Strike", + "status": "Status", + "languages_header": "Languages", + "skills_header": "Skills", + "stats_header": "Coding Stats", + "stats_since": "Since January 5th, 2025", + "contact_header": "Contact", + "software_header": "Software I Use", + "software_equicord_tooltip": "I have contributed in making 2 plugins", + "tooltip_py": "The second programming language I've learned", + "tooltip_html": "I hate you, CSS", + "tooltip_js": "Fun language with the cleanest syntax after C", + "tooltip_djs": "Used in my selfbot", + "tooltip_c": "Made little software and malware", + "tooltip_cpp": "Made GDI Malware for Windows", + "tooltip_cs": "Made a lot of malware", + "tooltip_java": "Made a Minecraft mod and an Android app", + "tooltip_kt": "Made Android apps", + "tooltip_mn": "Professional Mongolian Stone Thrower", + "tooltip_en": "Started learning in 1st grade", + "tooltip_de": "Started learning in 2nd grade", + "tooltip_fr": "Started learning in 7th grade", + "tooltip_sk": "First language, born in Slovakia", + "tooltip_cz": "Free DLC when you're born in Slovakia, you understand Czech fluently" +} diff --git a/assets/js/lang/fr.json b/assets/js/lang/fr.json new file mode 100644 index 0000000..7c2ef3b --- /dev/null +++ b/assets/js/lang/fr.json @@ -0,0 +1,27 @@ +{ + "title": "Portfolio de zyq", + "hobbies": "Coder, écouter de la musique, faire de l'ingénierie inverse, jouer à Counter-Strike", + "status": "Statut", + "languages_header": "Langues", + "skills_header": "Compétences", + "stats_header": "Statistiques de codage", + "stats_since": "Depuis le 5 janvier 2025", + "contact_header": "Contact", + "software_header": "Logiciels que j'utilise", + "software_equicord_tooltip": "J'ai contribué à créer 2 plugins", + "tooltip_py": "Le deuxième langage de programmation que j'ai appris", + "tooltip_html": "Je te déteste, CSS", + "tooltip_js": "Langage amusant avec la syntaxe la plus propre après C", + "tooltip_djs": "Utilisé dans mon selfbot", + "tooltip_c": "Créé des petits logiciels et des malwares", + "tooltip_cpp": "Créé un malware GDI pour Windows", + "tooltip_cs": "Créé beaucoup de malwares", + "tooltip_java": "Créé un mod Minecraft et une appli Android", + "tooltip_kt": "Créé des applis Android", + "tooltip_mn": "Lanceur de pierres mongol professionnel", + "tooltip_en": "Commencé à apprendre en CP", + "tooltip_de": "Commencé à apprendre en CE1", + "tooltip_fr": "Commencé à apprendre en 5e", + "tooltip_sk": "Langue maternelle, né en Slovaquie", + "tooltip_cz": "DLC gratuit quand on naît en Slovaquie, on comprend le tchèque couramment" +} diff --git a/assets/js/lang/sk.json b/assets/js/lang/sk.json new file mode 100644 index 0000000..7dc5910 --- /dev/null +++ b/assets/js/lang/sk.json @@ -0,0 +1,27 @@ +{ + "title": "Portfólio zyqa", + "hobbies": "Programovanie, počúvanie hudby, reverzné inžinierstvo, hranie Counter-Strike", + "status": "Stav", + "languages_header": "Jazyky", + "skills_header": "Zručnosti", + "stats_header": "Štatistiky programovania", + "stats_since": "Od 5. januára 2025", + "contact_header": "Kontakt", + "software_header": "Softvér, ktorý používam", + "software_equicord_tooltip": "Pomohol som vytvoriť 2 pluginy", + "tooltip_py": "Druhý programovací jazyk, ktorý som sa naučil", + "tooltip_html": "Nenávidím ťa, CSS", + "tooltip_js": "Zábavný jazyk s najčistejšou syntaxou po C", + "tooltip_djs": "Použité v mojom selfbote", + "tooltip_c": "Vytvoril som malé programy a malvér", + "tooltip_cpp": "Vytvoril som GDI malvér pre Windows", + "tooltip_cs": "Vytvoril som veľa malvéru", + "tooltip_java": "Vytvoril som Minecraft mod a Android aplikáciu", + "tooltip_kt": "Vytvoril som Android aplikácie", + "tooltip_mn": "Profesionálny mongolský hádzač kameňov", + "tooltip_en": "Začal som sa učiť v 1. ročníku", + "tooltip_de": "Začal som sa učiť v 2. ročníku", + "tooltip_fr": "Začal som sa učiť v 7. ročníku", + "tooltip_sk": "Môj prvý jazyk, narodený na Slovensku", + "tooltip_cz": "DLC zadarmo keď sa narodíš na Slovensku, češtine rozumieš plynulo" +} diff --git a/assets/js/skills.json b/assets/js/skills.json index 2d0dc97..059d094 100644 --- a/assets/js/skills.json +++ b/assets/js/skills.json @@ -4,60 +4,70 @@ "name": "Python", "url": "https://www.python.org", "tooltip": "The second programming language I've learned", + "id": "tooltip_py", "img": "https://search.im-in.space/image_proxy?url=https%3A%2F%2F1.bp.blogspot.com%2F-wAuQ3GCX8r4%2FWgIvLOr23tI%2FAAAAAAAACdA%2Fppii2ACqTR8VqkYW-MeYJqXr1myTdR01ACLcBGAs%2Fs1600%2Flogo-python-programacion.png&h=59be89f2146eb4db14955882451f2a4631f92e88832a7e7627804d7968a63755" }, { "name": "JavaScript", "url": "https://www.javascript.com/", - "tooltip": "Fun language the cleanest syntax after C", + "tooltip": "Fun language with the cleanest syntax after C", + "id": "tooltip_js", "img": "https://search.im-in.space/image_proxy?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F6%2F6a%2FJavaScript-logo.png%2F640px-JavaScript-logo.png&h=bc8b69a465219df76ce937bf1c6e32deda0d982f1fa0bf41d13f51b58ccef960" }, { "name": "HTML/CSS", "url": "https://www.w3schools.com/html/default.asp", "tooltip": "I hate you, CSS", + "id": "tooltip_html", "img": "https://search.im-in.space/image_proxy?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F6%2F61%2FHTML5_logo_and_wordmark.svg%2F640px-HTML5_logo_and_wordmark.svg.png&h=60a773175af1c2795e1afb8ba22e19e3089744ca988c667999c756319c6c09e3" }, { "name": "Discord.JS", "url": "https://discord.js.org/", "tooltip": "Used in my selfbot", + "id": "tooltip_djs", "img": "https://avatars.githubusercontent.com/u/26492485?s=200&v=4" }, { "name": "C", "url": "https://wikiless.funami.tech/wiki/C_(programming_language)", "tooltip": "Made little software", + "id": "tooltip_c", "img": "https://upload.wikimedia.org/wikipedia/commons/1/18/C_Programming_Language.svg" }, { "name": "C++", "url": "https://wikiless.funami.tech/wiki/C%252B%252B", "tooltip": "Made GDI Malware for Windows", + "id": "tooltip_cpp", "img": "https://wikiless.funami.tech/media/wikipedia/commons/1/18/ISO_C%2B%2B_Logo.svg" }, { "name": "C#", "url": "https://wikiless.funami.tech/wiki/C_Sharp_(programming_language)", "tooltip": "Made a lot of malware", + "id": "tooltip_cs", "img": "https://wikiless.funami.tech/media/wikipedia/commons/b/bd/Logo_C_sharp.svg" }, { "name": "Java", "url": "https://wikiless.funami.tech/wiki/Java_(programming_language)", "tooltip": "Made a Minecraft mod and an Android app", + "id": "tooltip_java", "img": "https://wikiless.funami.tech/media/wikipedia/en/3/30/Java_programming_language_logo.svg" }, { "name": "Kotlin", "url": "https://wikiless.funami.tech/wiki/Kotlin_(programming_language)", "tooltip": "Made Android apps", + "id": "tooltip_kt", "img": "https://upload.wikimedia.org/wikipedia/commons/3/37/Kotlin_Icon_2021.svg" }, { "name": "Mongolian Stone Throwing", "url": "https://wikiless.funami.tech/wiki/Mongolia", "tooltip": "Professional Mongolian Stone Thrower", + "id": "tooltip_mn", "img": "https://wikiless.funami.tech/media/wikipedia/commons/4/4c/Flag_of_Mongolia.svg" } ] diff --git a/index.html b/index.html index dbf8ce1..06b9193 100644 --- a/index.html +++ b/index.html @@ -18,7 +18,7 @@
Since January 5th, 2025
+Since January 5th, 2025