diff --git a/src/routes/downloads.tsx b/src/routes/downloads.tsx index 46a3fa5..3458650 100644 --- a/src/routes/downloads.tsx +++ b/src/routes/downloads.tsx @@ -1,8 +1,11 @@ import { Title, Meta } from "@solidjs/meta"; import { A } from "@solidjs/router"; +import { createSignal, onMount, onCleanup } from "solid-js"; import DownloadOnAppStore from "~/components/icons/DownloadOnAppStore"; export default function DownloadsPage() { + const [glitchText, setGlitchText] = createSignal("$ downloads"); + const download = (assetName: string) => { fetch(`/api/downloads/public/${assetName}`) .then((response) => response.json()) @@ -13,6 +16,34 @@ export default function DownloadsPage() { .catch((error) => console.error(error)); }; + onMount(() => { + const originalText = "$ downloads"; + const glitchChars = "!@#$%^&*()_+-=[]{}|;':\",./<>?~`"; + + const glitchInterval = setInterval(() => { + if (Math.random() > 0.9) { + let glitched = ""; + for (let i = 0; i < originalText.length; i++) { + if (Math.random() > 0.8) { + glitched += + glitchChars[Math.floor(Math.random() * glitchChars.length)]; + } else { + glitched += originalText[i]; + } + } + setGlitchText(glitched); + + setTimeout(() => { + setGlitchText(originalText); + }, 80); + } + }, 300); + + onCleanup(() => { + clearInterval(glitchInterval); + }); + }); + return ( <> Downloads | Michael Freno @@ -21,90 +52,116 @@ export default function DownloadsPage() { content="Download Life and Lineage, Shapes with Abigail, and Cork for macOS. Available on iOS, Android, and macOS." /> -
-
- Downloads +
+ {/* Subtle scanline effect */} +
+
-
-
- Life and Lineage -
+
+
+ freno@downloads + : + ~ + {glitchText()}
-
-
-
Android
- -
- Note the android version is not well tested, and has performance - issues. +
+ {/* Life and Lineage */} +
+

+ {">"} Life and Lineage +

+ +
+
+ + platform: android + + + + # android build not optimized + +
+ +
+ + platform: ios + + + + +
-
-
iOS
- - - -
-
-
+ {/* Shapes with Abigail */} +
+

+ {">"} Shapes with Abigail! +

-
-
- Shapes with Abigail! -
- (apk and iOS) -
+
+
+ + platform: android + + +
-
-
-
Android
- +
+ + platform: ios + + + + +
+
-
-
iOS
- - - -
-
+ {/* Cork */} +
+

+ {">"} Cork +

-
-
- Cork -
- (macOS 13 Ventura or later) -
- -
- -
-
- Just unzip and drag into 'Applications' folder +
+ + platform: macOS (13+) + + + + # unzip → drag to /Applications + +