summaryrefslogtreecommitdiffstats
path: root/themes/danix-xyz-hacker/layouts
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-17 11:27:22 +0200
committerDanilo M. <danix@danix.xyz>2026-04-17 11:27:22 +0200
commit779e59187f9142cddbf115da070fe07922bdcd55 (patch)
treefb32c233f604c3ddc2b370049e8ee0c42df4f271 /themes/danix-xyz-hacker/layouts
parentd97d614328021a6c35dc69ef419d7b8f29db585a (diff)
downloaddanixxyz-779e59187f9142cddbf115da070fe07922bdcd55.tar.gz
danixxyz-779e59187f9142cddbf115da070fe07922bdcd55.zip
fix: move notFoundPage() function definition before x-data initialization to fix easter egg button
Diffstat (limited to 'themes/danix-xyz-hacker/layouts')
-rw-r--r--themes/danix-xyz-hacker/layouts/404.html83
1 files changed, 43 insertions, 40 deletions
diff --git a/themes/danix-xyz-hacker/layouts/404.html b/themes/danix-xyz-hacker/layouts/404.html
index e39784e..3e6ef01 100644
--- a/themes/danix-xyz-hacker/layouts/404.html
+++ b/themes/danix-xyz-hacker/layouts/404.html
@@ -1,4 +1,46 @@
{{ define "main" }}
+
+<!-- Define Alpine.js component function first (before x-data references it) -->
+<script>
+function notFoundPage() {
+ return {
+ showEasterEgg: false,
+ searchQuery: '',
+ filteredArticles: [],
+ allArticles: [
+ {{ range (where .Site.RegularPages "Section" "articles") }}
+ {
+ title: '{{ .Title | safeJS }}',
+ url: '{{ .Permalink }}',
+ date: '{{ .Date.Format "Jan 02, 2006" }}',
+ content: '{{ (.Summary | plainify | safeJS) }}'
+ },
+ {{ end }}
+ ],
+ filterArticles(query) {
+ this.searchQuery = query.toLowerCase();
+ if (!this.searchQuery) {
+ this.filteredArticles = [];
+ return;
+ }
+ this.filteredArticles = this.allArticles.filter(article =>
+ article.title.toLowerCase().includes(this.searchQuery) ||
+ article.content.toLowerCase().includes(this.searchQuery)
+ ).slice(0, 5);
+ },
+ toggleEasterEgg() {
+ this.showEasterEgg = !this.showEasterEgg;
+ },
+ goToRandomArticle() {
+ if (this.allArticles.length > 0) {
+ const randomArticle = this.allArticles[Math.floor(Math.random() * this.allArticles.length)];
+ window.location.href = randomArticle.url;
+ }
+ }
+ };
+}
+</script>
+
<main class="min-h-screen px-4 py-12">
<div class="mx-auto px-4 py-12 max-w-4xl border border-border glow-accent rounded-lg bg-bg p-8" x-data="notFoundPage()">
<div class="text-center">
@@ -68,7 +110,7 @@
<a href="{{ .Site.BaseURL }}{{ .Site.Language.Lang }}/articles/" class="btn btn-secondary">
{{ i18n "browseArticles" }}
</a>
- <a href="{{ .Site.BaseURL }}{{ .Site.Language.Lang }}/here/" class="btn btn-outline">
+ <a href="{{ .Site.BaseURL }}{{ .Site.Language.Lang }}/is/here/" class="btn btn-outline">
{{ i18n "contactSupport" }}
</a>
</div>
@@ -129,43 +171,4 @@
</div>
</main>
-<script>
-function notFoundPage() {
- return {
- showEasterEgg: false,
- searchQuery: '',
- filteredArticles: [],
- allArticles: [
- {{ range (where .Site.RegularPages "Section" "articles") }}
- {
- title: '{{ .Title | safeJS }}',
- url: '{{ .Permalink }}',
- date: '{{ .Date.Format "Jan 02, 2006" }}',
- content: '{{ (.Summary | plainify | safeJS) }}'
- },
- {{ end }}
- ],
- filterArticles(query) {
- this.searchQuery = query.toLowerCase();
- if (!this.searchQuery) {
- this.filteredArticles = [];
- return;
- }
- this.filteredArticles = this.allArticles.filter(article =>
- article.title.toLowerCase().includes(this.searchQuery) ||
- article.content.toLowerCase().includes(this.searchQuery)
- ).slice(0, 5);
- },
- toggleEasterEgg() {
- this.showEasterEgg = !this.showEasterEgg;
- },
- goToRandomArticle() {
- if (this.allArticles.length > 0) {
- const randomArticle = this.allArticles[Math.floor(Math.random() * this.allArticles.length)];
- window.location.href = randomArticle.url;
- }
- }
- };
-}
-</script>
{{ end }}