diff --git a/app.vue b/app.vue index 8c8523b3..dbbbf9d0 100644 --- a/app.vue +++ b/app.vue @@ -1,9 +1,11 @@ diff --git a/bun.lockb b/bun.lockb index df5077ee..fa1cbed1 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/components/Backdrop.vue b/components/Backdrop.vue index a89d2925..3fdee7bd 100644 --- a/components/Backdrop.vue +++ b/components/Backdrop.vue @@ -20,7 +20,7 @@ class Char { draw() { const distToCursor = Math.hypot( this.x - cursor.value.x, - this.y - cursor.value.y, + this.y - cursor.value.y ); const highlight = Math.max(0, 0.5 - distToCursor / 250); @@ -66,7 +66,7 @@ const init = () => { const minColumns = 15; // Ensure at least this many columns on mobile const columns = Math.max( minColumns, - Math.floor(window.innerWidth / columnSpacing), + Math.floor(window.innerWidth / columnSpacing) ); // Adjust rows based on screen height @@ -75,7 +75,7 @@ const init = () => { const maxRows = 25; // Cap for performance on large screens const rows = Math.min( maxRows, - Math.max(minRows, Math.floor(window.innerHeight / rowSpacing)), + Math.max(minRows, Math.floor(window.innerHeight / rowSpacing)) ); chars = []; @@ -84,7 +84,7 @@ const init = () => { const x = i * (window.innerWidth / columns); // Evenly distribute columns const y = j * rowSpacing - Math.random() * window.innerHeight; const char = String.fromCharCode( - 0x2729 + Math.floor(Math.random() * 706), + 0x2729 + Math.floor(Math.random() * 706) ); chars.push(new Char(x, y, char)); } @@ -130,6 +130,31 @@ const handleResize = () => { onMounted(() => { init(); animate(); + // if im holding down shift how can i make it go faster? code it + window.addEventListener("keydown", (e) => { + if (e.key === "Shift") { + chars.forEach((char) => { + char.speed *= 10; // Double the speed when Shift is pressed + }); + } + if (e.ctrlKey) { + chars.forEach((char) => { + char.speed *= 1.1; // Halve the speed when Ctrl is pressed + }); + } + if (e.altKey) { + chars.forEach((char) => { + char.speed *= 0.9; // Halve the speed when Alt is pressed + }); + } + }); + window.addEventListener("keyup", (e) => { + if (e.key === "Shift") { + chars.forEach((char) => { + char.speed /= 10; // Reset the speed when Shift is released + }); + } + }); window.addEventListener("mousemove", handleMouseMove); window.addEventListener("resize", handleResize); }); diff --git a/components/Footer.vue b/components/Footer.vue new file mode 100644 index 00000000..0654b8ef --- /dev/null +++ b/components/Footer.vue @@ -0,0 +1,44 @@ + diff --git a/package.json b/package.json index 47031f56..0d8b09ea 100644 --- a/package.json +++ b/package.json @@ -23,5 +23,8 @@ "tailwindcss": "^4.1.10", "vue": "^3.5.16", "vue-router": "^4.5.1" + }, + "devDependencies": { + "@iconify-json/catppuccin": "^1.2.11" } } diff --git a/pages/index.vue b/pages/index.vue index 22e1da47..c7b6ed2c 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,15 +1 @@ - +