@@ -1,14 +1,3 @@{ "presets": ["next/babel"], "plugins": [ [ "styled-components", { "ssr": true, "minify": true, "transpileTemplateLiterals": true, "pure": true } ] ] "presets": ["next/babel"]}
modified
components/constellations.js
@@ -1,5 +1,5 @@import React, { useEffect, useRef } from "react";import styles from "./canvas.module.css";import styles from "@styles/components/canvas.module.css";import PropTypes from "prop-types";const Constellations = ({ options }) => {
modified
components/grid.js
@@ -1,5 +1,5 @@import React from "react";import styles from "./grid.module.css";import styles from "@styles/components/grid.module.css";import PropTypes from "prop-types";const Grid = (props) => {
modified
components/loader.js
@@ -1,5 +1,5 @@import React from "react";import styles from "./loader.module.css";import styles from "@styles/components/loader.module.css";const Loader = () => { return (
modified
components/menu.js
@@ -3,7 +3,7 @@ import React, { useState } from "react";import { CSSTransition } from "react-transition-group";import Image from "next/image";import Link from "next/link";import styles from "./menu.module.css";import styles from "@styles/components/menu.module.css";const Menu = () => { const [open, setOpen] = useState(false);
modified
components/mouse.js
@@ -1,5 +1,5 @@import React, { useEffect, useRef } from "react";import styles from "./mouse.module.css";import styles from "@styles/components/mouse.module.css";const Mouse = () => { const cursorRef = useRef(null);
modified
components/page.js
@@ -1,7 +1,7 @@import React from "react";import Head from "next/head";import PropTypes from "prop-types";import styles from "./page.module.css";import styles from "@styles/components/page.module.css";import { strings } from "../site.config";
modified
components/particleflow.js
@@ -1,5 +1,5 @@import React, { useEffect, useRef } from "react";import styles from "./canvas.module.css";import styles from "@styles/components/canvas.module.css";import PropTypes from "prop-types";const ParticleFlow = ({ options }) => {
modified
components/retrostars.js
@@ -1,5 +1,5 @@import React, { useEffect, useRef, useState } from "react";import styles from "./canvas.module.css";import styles from "@styles/components/canvas.module.css";import PropTypes from "prop-types";const RetroStars = ({ options }) => {
modified
components/sidebar.js
@@ -1,6 +1,6 @@import React, { useState, useEffect } from "react";import PropTypes from "prop-types";import styles from "./sidebar.module.css";import styles from "@styles/components/sidebar.module.css";import Link from "next/link";import { withRouter } from "next/router";
modified
components/synthwave.js
@@ -1,5 +1,5 @@import React, { useEffect, useRef } from "react";import styles from "./canvas.module.css";import styles from "@styles/components/canvas.module.css";const Synthwave = () => { const canvas = useRef(null);
@@ -0,0 +1,8 @@{ "compilerOptions": { "baseUrl": ".", "paths": { "@styles/*": ["styles/*"] } }}
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from "react";import { TransitionGroup, CSSTransition } from "react-transition-group";import Page from "../components/page";import styles from "./about.module.css";import styles from "@styles/pages/about.module.css";const About = () => { const [words, setWords] = useState([
@@ -1,5 +1,5 @@import React, { useState } from "react";import styles from "./art.module.css";import styles from "@styles/pages/art.module.css";import Image from "next/image";import Page from "../components/page";
@@ -1,6 +1,6 @@import React from "react";import PropTypes from "prop-types";import styles from "./code.module.css";import styles from "@styles/pages/code.module.css";import Page from "../components/page";
modified
pages/contact.js
@@ -1,6 +1,6 @@import React from "react";import { TransitionGroup, CSSTransition } from "react-transition-group";import styles from "./contact.module.css";import styles from "@styles/pages/contact.module.css";import Image from "next/image";import Page from "../components/page";
@@ -3,7 +3,7 @@ import { TransitionGroup, CSSTransition } from "react-transition-group";import Image from "next/image";import Page from "../components/page";import styles from "./index.module.css";import styles from "@styles/pages/index.module.css";const Index = () => { const words = ["Developer", "SysAdmin", "DevOps", "Consultant"];
renamed
components/canvas.module.css → styles/components/canvas.module.css
renamed
components/grid.module.css → styles/components/grid.module.css
renamed
components/loader.module.css → styles/components/loader.module.css
renamed
components/menu.module.css → styles/components/menu.module.css
renamed
components/mouse.module.css → styles/components/mouse.module.css
renamed
components/page.module.css → styles/components/page.module.css
@@ -1,5 +1,4 @@.main { /* dynamic grid-area added inline via style prop */ display: flex; flex-direction: column; align-items: flex-start;
renamed
components/sidebar.module.css → styles/components/sidebar.module.css
modified
styles/globals.css
@@ -1,5 +1,4 @@:root { /* Design tokens (used by CSS Modules as var(--token)) */ --color-primary: #20232e; --color-blue: #0e3ff4; --color-purple: #842bff;
@@ -8,7 +7,6 @@ --animation-1500: 1500ms;}/* Base global styles (migrated from styled-components GlobalStyle) */body { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
@@ -30,7 +28,6 @@ button { cursor: none;}/* React Transition Group classes (global) */.transition { position: absolute; top: 0;
renamed
pages/about.module.css → styles/pages/about.module.css
@@ -1,5 +1,3 @@/* About page styles migrated from styled-components */@keyframes slideLeft { 0% { left: -100%;
renamed
pages/art.module.css → styles/pages/art.module.css
@@ -1,5 +1,3 @@/* Art page styles migrated from styled-components */@keyframes transformRight { from { transform: scaleX(0);
renamed
pages/code.module.css → styles/pages/code.module.css
@@ -1,5 +1,3 @@/* Code page styles migrated from styled-components */@keyframes transformRight { from { transform: scaleX(0);
renamed
pages/contact.module.css → styles/pages/contact.module.css
@@ -1,5 +1,3 @@/* Contact page styles migrated from styled-components */@keyframes transformRight { from { transform: scaleX(0);
renamed
pages/index.module.css → styles/pages/index.module.css
@@ -1,5 +1,3 @@/* Landing page styles migrated from styled-components */@keyframes fadeStart { from { opacity: 0;
@@ -56,13 +56,6 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2""@babel/helper-annotate-as-pure@^7.22.5": version "7.27.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== dependencies: "@babel/types" "^7.27.3""@babel/helper-compilation-targets@^7.27.2": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
@@ -74,7 +67,7 @@ lru-cache "^5.1.1" semver "^6.3.1""@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.27.1":"@babel/helper-module-imports@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
@@ -91,11 +84,6 @@ "@babel/helper-validator-identifier" "^7.27.1" "@babel/traverse" "^7.27.3""@babel/helper-plugin-utils@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
@@ -126,13 +114,6 @@ dependencies: "@babel/types" "^7.27.3""@babel/plugin-syntax-jsx@^7.22.5": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: "@babel/helper-plugin-utils" "^7.27.1""@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.27.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.4.tgz#a91ec580e6c00c67118127777c316dfd5a5a6abf"
@@ -147,7 +128,7 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1""@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4", "@babel/traverse@^7.4.5":"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": version "7.27.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea" integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==
@@ -168,28 +149,6 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1""@emotion/is-prop-valid@^1.1.0": version "1.3.1" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240" integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw== dependencies: "@emotion/memoize" "^0.9.0""@emotion/memoize@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="@emotion/stylis@^0.8.4": version "0.8.5" resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="@emotion/unitless@^0.7.4": version "0.7.5" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="@eslint-community/eslint-utils@^4.2.0": version "4.7.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a"
@@ -806,17 +765,6 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0""babel-plugin-styled-components@>= 1.12.0": version "2.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz#9a1f37c7f32ef927b4b008b529feb4a2c82b1092" integrity sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.5" "@babel/plugin-syntax-jsx" "^7.22.5" lodash "^4.17.21" picomatch "^2.3.1"balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -929,11 +877,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==camelize@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001718: version "1.0.30001720" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd"
@@ -1034,20 +977,6 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1"css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==css-to-react-native@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== dependencies: camelize "^1.0.0" css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2"csstype@^3.0.2: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
@@ -1756,11 +1685,6 @@ has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
@@ -1804,13 +1728,6 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2"hoist-non-react-statics@^3.0.0: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0"http-cache-semantics@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5"
@@ -2674,21 +2591,11 @@ picocolors@^1.0.0, picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==possible-typed-array-names@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==postcss-value-parser@^4.0.2: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==postcss@8.4.14: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
@@ -2798,7 +2705,7 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.2"react-is@^16.13.1, react-is@^16.7.0:react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -3043,11 +2950,6 @@ set-proto@^1.0.0: es-errors "^1.3.0" es-object-atoms "^1.0.0"shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==sharp@^0.30.7: version "0.30.7" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.30.7.tgz#7862bda98804fdd1f0d5659c85e3324b90d94c7c"
@@ -3313,34 +3215,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==styled-components@^5.2.3: version "5.3.11" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8" integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/traverse" "^7.4.5" "@emotion/is-prop-valid" "^1.1.0" "@emotion/stylis" "^0.8.4" "@emotion/unitless" "^0.7.4" babel-plugin-styled-components ">= 1.12.0" css-to-react-native "^3.0.0" hoist-non-react-statics "^3.0.0" shallowequal "^1.1.0" supports-color "^5.5.0"styled-jsx@5.0.7: version "5.0.7" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.7.tgz#be44afc53771b983769ac654d355ca8d019dff48" integrity sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0"supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"