From 1f5e33f975487fca1ebfe32b1363ae39667946dc Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:29:41 +0200 Subject: [PATCH 1/8] feat: enhance Open Graph and Twitter Card metadata; improve tab display logic and animations --- docs/index.html | 33 ++++++++++++++++++++++++++++++++- docs/main.css | 21 +++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index 53b4b93..f0aedf9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,6 +8,21 @@ SoftwareManager - Main + + + + + + + + + + + + + + + @@ -195,7 +210,12 @@ tablinks[i].className = tablinks[i].className.replace(" active", ""); } - document.getElementById(tabName).style.display = "block"; + var target = document.getElementById(tabName); + target.style.display = "block"; + // restart animation + target.classList.remove('tab-animate'); + void target.offsetWidth; + target.classList.add('tab-animate'); let activeButton = document.querySelector(`.tablinks[onclick*="${tabName}"]`); if (activeButton) { @@ -219,6 +239,17 @@ } }); + // Determine the correct tab immediately (before full load) to prevent flash + (function() { + let currentPath = window.location.pathname; + let tabName = 'start'; + if (currentPath === '/api') tabName = 'api'; + else if (currentPath === '/docs') tabName = 'docs'; + else if (currentPath !== '/') tabName = 'notfound'; + // Show only the correct tab right away + document.getElementById(tabName).style.display = 'block'; + })(); + window.onload = function() { let currentPath = window.location.pathname; diff --git a/docs/main.css b/docs/main.css index f2b88a7..f9760b2 100644 --- a/docs/main.css +++ b/docs/main.css @@ -65,6 +65,27 @@ main { padding: 3rem; } +/* Hide all tabs by default to prevent flash on page load */ +.tabcontent { + display: none; +} + +/* Tab switch animation */ +@keyframes tabFadeIn { + from { + opacity: 0; + transform: translateY(8px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.tabcontent.tab-animate { + animation: tabFadeIn 0.3s ease-out forwards; +} + main h1.hometitle { font-size: 4.0rem; line-height: 4rem; From 7c456d4aefbaa88c5c80ad453cb699bdcaca2afc Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:30:56 +0200 Subject: [PATCH 2/8] fix: set background color for HTML document --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index f0aedf9..facbd39 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ - + From 5bd3c94e870c289ceddf3d30bb0fe027f35e47bb Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:32:38 +0200 Subject: [PATCH 3/8] fix: set body opacity to 1 in main.css and adjust index.html for initial visibility --- docs/index.html | 2 +- docs/main.css | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index facbd39..e426d0f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -27,7 +27,7 @@ - +

KeksPirates

diff --git a/docs/main.css b/docs/main.css index f9760b2..45559e7 100644 --- a/docs/main.css +++ b/docs/main.css @@ -12,6 +12,7 @@ body { flex-direction: column; min-height: 100vh; background: #0f1011; + opacity: 1 !important; } header { From a954609958cb1d65ff5e411f57a48a8149664087 Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:38:20 +0200 Subject: [PATCH 4/8] Refactor code structure for improved readability and maintainability --- docs/assets/kekspirates-logo.png | Bin 0 -> 29164 bytes docs/index.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/assets/kekspirates-logo.png diff --git a/docs/assets/kekspirates-logo.png b/docs/assets/kekspirates-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d439be343a414f308939e3190f36eb182f62d01 GIT binary patch literal 29164 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