From e67c3785e441de696bb2ea4ac55a4218ec4633df Mon Sep 17 00:00:00 2001
From: lukeify <5379845+lukeify@users.noreply.github.com>
Date: Sat, 18 Oct 2025 07:42:30 +1300
Subject: [PATCH 01/32] chore: npm install @hotwired/stimulus
---
index.js | 8 ++++++++
package-lock.json | 20 ++++++++++++++++++++
package.json | 4 ++++
webpack.config.js | 3 +++
4 files changed, 35 insertions(+)
diff --git a/index.js b/index.js
index e69de29..3583e64 100644
--- a/index.js
+++ b/index.js
@@ -0,0 +1,8 @@
+import { Application } from "@hotwired/stimulus";
+import { definitionsFromContext } from "@hotwired/stimulus-webpack-helpers";
+
+// Auto-import all controllers as per stimulus documentation.
+// https://stimulus.hotwired.dev/handbook/installing#using-webpack-helpers
+window.Stimulus = Application.start();
+const context = require.context("./scripts/controllers", true, /\.js$/);
+Stimulus.load(definitionsFromContext(context));
diff --git a/package-lock.json b/package-lock.json
index 6695112..bd17a9b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,11 @@
"": {
"name": "website",
"version": "1.0.0",
+ "dependencies": {
+ "@hotwired/stimulus": "^3.2.2"
+ },
"devDependencies": {
+ "@hotwired/stimulus-webpack-helpers": "^1.0.1",
"html-webpack-plugin": "^5.6.4",
"webpack-cli": "^6.0.1",
"webpack-dev-server": "^5.2.2"
@@ -23,6 +27,22 @@
"node": ">=14.17.0"
}
},
+ "node_modules/@hotwired/stimulus": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz",
+ "integrity": "sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A==",
+ "license": "MIT"
+ },
+ "node_modules/@hotwired/stimulus-webpack-helpers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz",
+ "integrity": "sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@hotwired/stimulus": ">= 3.0"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
diff --git a/package.json b/package.json
index d09e8f0..fdf98cc 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,11 @@
"url": "https://github.com/lukeify/website.git"
},
"private": true,
+ "dependencies": {
+ "@hotwired/stimulus": "^3.2.2"
+ },
"devDependencies": {
+ "@hotwired/stimulus-webpack-helpers": "^1.0.1",
"html-webpack-plugin": "^5.6.4",
"webpack-cli": "^6.0.1",
"webpack-dev-server": "^5.2.2"
diff --git a/webpack.config.js b/webpack.config.js
index 4d48fe3..6d76254 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -5,6 +5,9 @@ module.exports = {
entry: {
main: './index.js'
},
+ output: {
+ filename: '[name].bundle.js',
+ },
devServer: {
server: 'https',
static: {
From bc1909029d083d1071adb56252d9144edbeefb71 Mon Sep 17 00:00:00 2001
From: lukeify <5379845+lukeify@users.noreply.github.com>
Date: Sat, 18 Oct 2025 15:27:30 +1300
Subject: [PATCH 02/32] feat: x axis navigation
---
index.html | 117 +++++++++++++++++++-------
scripts/controllers/xmb_controller.js | 82 ++++++++++++++++++
styles/global.css | 38 +++++----
styles/xmb.css | 25 ++++++
4 files changed, 217 insertions(+), 45 deletions(-)
create mode 100644 scripts/controllers/xmb_controller.js
create mode 100644 styles/xmb.css
diff --git a/index.html b/index.html
index 3a0e6fa..26b3c26 100644
--- a/index.html
+++ b/index.html
@@ -8,6 +8,7 @@
+