summaryrefslogtreecommitdiffstats
path: root/themes
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-17 11:47:04 +0200
committerDanilo M. <danix@danix.xyz>2026-04-17 11:47:04 +0200
commitc353452c544a3184ec66e05fa1743a592543a4d0 (patch)
tree833fd7865f89a452a2c48e425712862827a7eb7f /themes
parent4ea2790206ca925bcf810c3b10d8c18e44015c61 (diff)
downloaddanixxyz-c353452c544a3184ec66e05fa1743a592543a4d0.tar.gz
danixxyz-c353452c544a3184ec66e05fa1743a592543a4d0.zip
fix: use client-side language detection for 404 navigation links
Added window.currentLang detection based on request URL path to correctly route 404 page navigation links for Italian and English versions. Created notFoundNav() Alpine component to dynamically compute language-aware links based on detected language. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'themes')
-rw-r--r--themes/danix-xyz-hacker/assets/css/main.min.css4
-rw-r--r--themes/danix-xyz-hacker/assets/js/not-found-page.js12
-rw-r--r--themes/danix-xyz-hacker/layouts/404.html21
3 files changed, 21 insertions, 16 deletions
diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css
index 677ea1e..e92eb90 100644
--- a/themes/danix-xyz-hacker/assets/css/main.min.css
+++ b/themes/danix-xyz-hacker/assets/css/main.min.css
@@ -2278,10 +2278,6 @@ article.border.border-border\/30.rounded-lg.card.group.bg-bg {
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
-.filter {
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
-}
-
.backdrop-blur {
--tw-backdrop-blur: blur(8px);
-webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
diff --git a/themes/danix-xyz-hacker/assets/js/not-found-page.js b/themes/danix-xyz-hacker/assets/js/not-found-page.js
index 6ec8895..78e3591 100644
--- a/themes/danix-xyz-hacker/assets/js/not-found-page.js
+++ b/themes/danix-xyz-hacker/assets/js/not-found-page.js
@@ -31,5 +31,17 @@ document.addEventListener('alpine:init', () => {
}
}));
+ Alpine.data('notFoundNav', () => ({
+ get homeLink() {
+ return window.currentLang === 'it' ? '/it/' : '/';
+ },
+ get articlesLink() {
+ return window.currentLang === 'it' ? '/it/articles/' : '/articles/';
+ },
+ get contactLink() {
+ return window.currentLang === 'it' ? '/it/is/here/' : '/is/here/';
+ }
+ }));
+
console.log('notFoundPage Alpine component registered');
});
diff --git a/themes/danix-xyz-hacker/layouts/404.html b/themes/danix-xyz-hacker/layouts/404.html
index efae232..0fb6c9a 100644
--- a/themes/danix-xyz-hacker/layouts/404.html
+++ b/themes/danix-xyz-hacker/layouts/404.html
@@ -1,5 +1,10 @@
{{ define "main" }}
+<!-- Detect language from current URL -->
+<script>
+window.currentLang = window.location.pathname.startsWith('/it/') ? 'it' : 'en';
+</script>
+
<!-- Pass articles data to JavaScript for Alpine.js -->
<script>
window.articlesData = [
@@ -76,22 +81,14 @@ window.articlesData = [
</div>
<!-- Navigation Links -->
- <div class="space-y-4 flex flex-col items-center mb-12">
- {{ $lang := "en" }}
- {{ if in .Permalink "/it/" }}
- {{ $lang = "it" }}
- {{ end }}
- {{ $prefix := "" }}
- {{ if eq $lang "it" }}
- {{ $prefix = "/it" }}
- {{ end }}
- <a href="{{ $prefix }}/" class="btn btn-primary">
+ <div class="space-y-4 flex flex-col items-center mb-12" x-data="notFoundNav()">
+ <a :href="homeLink" class="btn btn-primary">
{{ i18n "goHome" }}
</a>
- <a href="{{ $prefix }}/articles/" class="btn btn-secondary">
+ <a :href="articlesLink" class="btn btn-secondary">
{{ i18n "browseArticles" }}
</a>
- <a href="{{ $prefix }}/is/here/" class="btn btn-outline">
+ <a :href="contactLink" class="btn btn-outline">
{{ i18n "contactSupport" }}
</a>
</div>