diff options
| -rw-r--r-- | hugo.toml | 10 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/assets/js/not-found-page.js | 34 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/404.html | 6 |
3 files changed, 36 insertions, 14 deletions
@@ -124,3 +124,13 @@ enableRobotsTXT = true label = "Tech" color_dark = "#a855f7" color_light = "#7c3aed" + +[[redirects]] + from = '/it/**' + to = '/it/404.html' + status = 404 + +[[redirects]] # Default language should be last. + from = '/**' + to = '/404.html' + status = 404
\ No newline at end of file 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 78e3591..cec60bd 100644 --- a/themes/danix-xyz-hacker/assets/js/not-found-page.js +++ b/themes/danix-xyz-hacker/assets/js/not-found-page.js @@ -31,17 +31,29 @@ 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/'; - } - })); + Alpine.data('notFoundNav', () => { + const isItalian = window.location.pathname.startsWith('/it/'); + return { + get homeLink() { + return isItalian ? '/it/' : '/'; + }, + get articlesLink() { + return isItalian ? '/it/articles/' : '/articles/'; + }, + get contactLink() { + return isItalian ? '/it/is/here/' : '/is/here/'; + }, + goHome() { + window.location.href = this.homeLink; + }, + goArticles() { + window.location.href = this.articlesLink; + }, + goContact() { + window.location.href = this.contactLink; + } + }; + }); 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 0fb6c9a..341f90b 100644 --- a/themes/danix-xyz-hacker/layouts/404.html +++ b/themes/danix-xyz-hacker/layouts/404.html @@ -82,13 +82,13 @@ window.articlesData = [ <!-- Navigation Links --> <div class="space-y-4 flex flex-col items-center mb-12" x-data="notFoundNav()"> - <a :href="homeLink" class="btn btn-primary"> + <a :href="homeLink" @click.prevent="goHome()" class="btn btn-primary"> {{ i18n "goHome" }} </a> - <a :href="articlesLink" class="btn btn-secondary"> + <a :href="articlesLink" @click.prevent="goArticles()" class="btn btn-secondary"> {{ i18n "browseArticles" }} </a> - <a :href="contactLink" class="btn btn-outline"> + <a :href="contactLink" @click.prevent="goContact()" class="btn btn-outline"> {{ i18n "contactSupport" }} </a> </div> |
