summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hugo.toml10
-rw-r--r--themes/danix-xyz-hacker/assets/js/not-found-page.js34
-rw-r--r--themes/danix-xyz-hacker/layouts/404.html6
3 files changed, 36 insertions, 14 deletions
diff --git a/hugo.toml b/hugo.toml
index f5019c0..4913f63 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -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>