diff --git a/index.html b/index.html index e4b78ea..e377241 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,46 @@ - + - - Vite + React + TS + + + + + + + + + + + + DEG Mods - Liberating Game Mods
diff --git a/package-lock.json b/package-lock.json index 7ae6f7d..fab8113 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", + "ts-css-modules-vite-plugin": "1.0.20", "typescript": "^5.2.2", "vite": "^5.3.1" } @@ -387,6 +388,28 @@ "node": ">=6.9.0" } }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -1196,6 +1219,30 @@ "win32" ] }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1243,6 +1290,16 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/node": { + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", @@ -1499,6 +1556,18 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1536,6 +1605,25 @@ "node": ">=4" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1557,6 +1645,18 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -1619,6 +1719,15 @@ "node": ">=6" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001641", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", @@ -1653,6 +1762,42 @@ "node": ">=4" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1680,6 +1825,12 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1723,6 +1874,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2343,6 +2503,12 @@ "node": ">= 4" } }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2385,6 +2551,18 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2552,6 +2730,12 @@ "yallist": "^3.0.2" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2625,6 +2809,15 @@ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2775,6 +2968,25 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -2845,6 +3057,18 @@ "node": ">=0.10.0" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -2938,6 +3162,23 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/sass": { + "version": "1.77.7", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.7.tgz", + "integrity": "sha512-9ywH75cO+rLjbrZ6en3Gp8qAMwPGBapFtlsMJoDTkcMU/bSe5a6cjKVUn5Jr4Gzg5GbP3HE8cm+02pLCgcoMow==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -3072,6 +3313,60 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-css-modules-vite-plugin": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/ts-css-modules-vite-plugin/-/ts-css-modules-vite-plugin-1.0.20.tgz", + "integrity": "sha512-FlD2dyFAhmfOcmaxWR5WQ7Eu0ypvBwqjxgY54kYpEgpCEBqLAdO/w40h5XZn5zlUKUVjc7f69AIsfuhlGVjBSw==", + "dev": true, + "dependencies": { + "postcss-js": "^4.0.0", + "sass": "^1.57.1", + "ts-node": "^10.9.1" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3109,6 +3404,13 @@ "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, "node_modules/update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", @@ -3148,6 +3450,12 @@ "punycode": "^2.1.0" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/vite": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.3.tgz", @@ -3239,6 +3547,15 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index cdcafc2..7ee618e 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", + "ts-css-modules-vite-plugin": "1.0.20", "typescript": "^5.2.2", "vite": "^5.3.1" } diff --git a/public/assets/img/DEG Mods Backup Plan.png b/public/assets/img/DEG Mods Backup Plan.png new file mode 100644 index 0000000..892f049 Binary files /dev/null and b/public/assets/img/DEG Mods Backup Plan.png differ diff --git a/public/assets/img/DEG Mods Default PP.png b/public/assets/img/DEG Mods Default PP.png new file mode 100644 index 0000000..78752b7 Binary files /dev/null and b/public/assets/img/DEG Mods Default PP.png differ diff --git a/public/assets/img/DEG Mods Logo With Text.svg b/public/assets/img/DEG Mods Logo With Text.svg new file mode 100644 index 0000000..3363a17 --- /dev/null +++ b/public/assets/img/DEG Mods Logo With Text.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/img/DEG Mods Temp Mascot.png b/public/assets/img/DEG Mods Temp Mascot.png new file mode 100644 index 0000000..b3a3481 Binary files /dev/null and b/public/assets/img/DEG Mods Temp Mascot.png differ diff --git a/public/assets/img/DEGM Thumb.png b/public/assets/img/DEGM Thumb.png new file mode 100644 index 0000000..763a04b Binary files /dev/null and b/public/assets/img/DEGM Thumb.png differ diff --git a/public/assets/img/DEGMods Placeholder Img.png b/public/assets/img/DEGMods Placeholder Img.png new file mode 100644 index 0000000..32cf59f Binary files /dev/null and b/public/assets/img/DEGMods Placeholder Img.png differ diff --git a/public/assets/img/Logo with circle.png b/public/assets/img/Logo with circle.png new file mode 100644 index 0000000..472717d Binary files /dev/null and b/public/assets/img/Logo with circle.png differ diff --git a/public/assets/img/ProfileLinkQR.png b/public/assets/img/ProfileLinkQR.png new file mode 100644 index 0000000..d9e7cce Binary files /dev/null and b/public/assets/img/ProfileLinkQR.png differ diff --git a/public/assets/img/android-chrome-192x192.png b/public/assets/img/android-chrome-192x192.png new file mode 100644 index 0000000..95780ad Binary files /dev/null and b/public/assets/img/android-chrome-192x192.png differ diff --git a/public/assets/img/android-chrome-512x512.png b/public/assets/img/android-chrome-512x512.png new file mode 100644 index 0000000..9c44abc Binary files /dev/null and b/public/assets/img/android-chrome-512x512.png differ diff --git a/public/assets/img/favicon-16x16.png b/public/assets/img/favicon-16x16.png new file mode 100644 index 0000000..814b363 Binary files /dev/null and b/public/assets/img/favicon-16x16.png differ diff --git a/public/assets/img/favicon-32x32.png b/public/assets/img/favicon-32x32.png new file mode 100644 index 0000000..89f241c Binary files /dev/null and b/public/assets/img/favicon-32x32.png differ diff --git a/public/assets/img/logo ver1.svg b/public/assets/img/logo ver1.svg new file mode 100644 index 0000000..aa7dceb --- /dev/null +++ b/public/assets/img/logo ver1.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/img/logo ver2.svg b/public/assets/img/logo ver2.svg new file mode 100644 index 0000000..db1269a --- /dev/null +++ b/public/assets/img/logo ver2.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/img/media-cache (1).jpg b/public/assets/img/media-cache (1).jpg new file mode 100644 index 0000000..697e3f5 Binary files /dev/null and b/public/assets/img/media-cache (1).jpg differ diff --git a/public/assets/img/media-cache (4).png b/public/assets/img/media-cache (4).png new file mode 100644 index 0000000..51ce36c Binary files /dev/null and b/public/assets/img/media-cache (4).png differ diff --git a/public/assets/img/uBlog Logo.svg b/public/assets/img/uBlog Logo.svg new file mode 100644 index 0000000..307a1e9 --- /dev/null +++ b/public/assets/img/uBlog Logo.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/public/assets/img/vivian james.png b/public/assets/img/vivian james.png new file mode 100644 index 0000000..1ef0b51 Binary files /dev/null and b/public/assets/img/vivian james.png differ diff --git a/src/App.tsx b/src/App.tsx index a73ccda..8084f2c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,7 @@ +import { Layout } from './layout' + function App() { - return <>Hello Gamers + return } export default App diff --git a/src/components/Banner.tsx b/src/components/Banner.tsx new file mode 100644 index 0000000..15400f0 --- /dev/null +++ b/src/components/Banner.tsx @@ -0,0 +1,16 @@ +import navStyles from '../styles/nav.module.scss' + +export const Banner = () => { + return ( +
+ + DEG Mods is running a crowd funding campaign. Chip-in or share the link + to help bring the project to life (click me). + +
+ ) +} diff --git a/src/index.css b/src/index.css index 6119ad9..0a84a20 100644 --- a/src/index.css +++ b/src/index.css @@ -24,8 +24,6 @@ a:hover { body { margin: 0; - display: flex; - place-items: center; min-width: 320px; min-height: 100vh; } diff --git a/src/layout/header.tsx b/src/layout/header.tsx new file mode 100644 index 0000000..2efd5cb --- /dev/null +++ b/src/layout/header.tsx @@ -0,0 +1,112 @@ +import navStyles from '../styles/nav.module.scss' +import mainStyles from '../styles//main.module.scss' +import { Banner } from '../components/Banner' + +export const Header = () => { + return ( +
+ +
+
+ +
+
+
+
+ +
+
+
+ ) +} diff --git a/src/layout/index.tsx b/src/layout/index.tsx new file mode 100644 index 0000000..6e38861 --- /dev/null +++ b/src/layout/index.tsx @@ -0,0 +1,10 @@ +import { Header } from './header' +import mainStyles from '../styles/main.module.scss' + +export const Layout = () => { + return ( +
+
+
+ ) +} diff --git a/src/styles/main.module.scss b/src/styles/main.module.scss new file mode 100644 index 0000000..87685c7 --- /dev/null +++ b/src/styles/main.module.scss @@ -0,0 +1,25 @@ +.bodyMain { + background: unset; + display: flex; + flex-direction: column; + align-items: center; + flex-grow: 1; + min-height: 100vh; + position: relative; + letter-spacing: 1px; + font-size: 16px; + line-height: 25px; + word-break: break-word; + color: #ffffff; +} + +.ContainerMain { + max-width: 1400px; + width: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: end; + padding: 0 10px 0 10px; + position: relative; +} diff --git a/src/styles/nav.module.scss b/src/styles/nav.module.scss new file mode 100644 index 0000000..b6b6410 --- /dev/null +++ b/src/styles/nav.module.scss @@ -0,0 +1,269 @@ +.NavMain { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + grid-gap: 15px; + padding: 15px 0 0 0; + + .NavMainTop, + .NavMainBottom { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + .NavMainTopInside { + width: 100%; + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 10px; + + @media (max-width: 768px) { + grid-template-columns: 1fr; + } + + .NMTI_Sec { + display: flex; + flex-direction: row; + justify-content: start; + + @media (max-width: 768px) { + justify-content: center; + } + + .NMTI_Sec_HomeLink { + transition: ease 0.4s; + display: flex; + flex-direction: row; + justify-content: start; + align-items: center; + grid-gap: 25px; + text-decoration: unset; + color: rgb(255, 255, 255); + font-weight: bold; + padding: 0; + opacity: 0.5; + min-width: 75px; + + &:hover { + transition: ease 0.4s; + text-decoration: unset; + font-weight: bold; + opacity: 1; + color: unset; + } + } + + .NMTI_Sec_HomeLink_Logo { + width: 100%; + max-width: 100px; + + .NMTI_Sec_HomeLink_LogoImg { + width: 100%; + } + } + + .NMTI_Sec_HomeLink_Name { + width: 100%; + height: 75px; + width: 75px; + } + + .NMTI_SecInside { + width: 100%; + display: flex; + flex-direction: row; + justify-content: end; + align-items: center; + grid-gap: 15px; + padding: 5px 0; + + @media (max-width: 768px) { + grid-gap: 10px; + white-space: nowrap; + max-width: 93vw; + justify-content: start; + overflow-x: auto; + } + + .NMTI_SecInside_Link { + position: relative; + transition: ease 0.4s; + display: flex; + flex-direction: row; + grid-gap: 10px; + justify-content: start; + align-items: center; + height: auto; + width: auto; + padding: 10px 15px; + border-radius: 10px; + color: rgba(255, 255, 255, 0.25); + text-decoration: unset; + font-weight: bold; + transform: scale(1); + cursor: pointer; + white-space: nowrap; + line-height: 1; + max-width: 200px; + + &:hover { + transition: ease 0.4s; + color: rgba(255, 255, 255, 0.75); + box-shadow: 0 0 8px 0 rgb(0, 0, 0, 0.1); + text-decoration: unset; + + &::before { + transition: ease 0.4s; + opacity: 1; + } + } + + &:active { + transition: ease 0.1s; + transform: scale(0.98); + } + + &::before { + transition: ease 0.4s; + opacity: 0; + content: ''; + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + background: linear-gradient( + to top right, + #262626, + #292929, + #262626 + ); + z-index: -1; + border-radius: 10px; + } + + @media (max-width: 576px) { + flex-grow: 1; + padding: 10px 10px; + } + + &.NMTI_SI_LinkTip { + position: relative; + transition: ease 0.4s; + display: flex; + flex-direction: row; + grid-gap: 10px; + justify-content: center; + align-items: center; + height: auto; + width: auto; + border-radius: 10px; + color: rgba(255, 255, 255, 0.25); + text-decoration: unset; + font-weight: bold; + transform: scale(1); + cursor: pointer; + overflow: initial; + + &:hover { + transition: ease 0.4s; + color: #ffff5d; + } + } + + &.NMTI_SI_LinkRelay:hover { + transition: ease 0.4s; + color: #a549ff; + } + + &.NMTI_SecInside_LinkActive { + color: rgba(255, 255, 255, 0.75); + box-shadow: 0 0 8px 0 rgb(0, 0, 0, 0.1); + background: rgba(255, 255, 255, 0.05); + } + + .NMTI_SecInside_LinkImg { + width: 25px; + height: 25px; + border-radius: 5px; + } + } + } + } + } + } + + .NavMainBottom { + border-top: solid 1px rgba(255, 255, 255, 0.05); + border-bottom: solid 1px rgba(255, 255, 255, 0.05); + + .NavMainBottomInside { + width: 100%; + display: flex; + flex-direction: row; + grid-gap: 10px; + justify-content: center; + align-items: center; + padding: 10px; + white-space: nowrap; + overflow-x: auto; + + @media (max-width: 768px) { + justify-content: start; + } + + .NavMainBottomInsideLink { + transition: ease 0.4s; + text-decoration: unset; + color: rgba(255, 255, 255, 0.25); + font-weight: bold; + padding: 5px 15px; + + &:hover { + transition: ease 0.4s; + color: rgba(255, 255, 255, 0.75); + text-decoration: unset; + } + + &.NMBILActive { + color: rgba(255, 255, 255, 0.65); + } + } + } + } + + .FundingCampaign { + width: 100%; + background: rebeccapurple; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + margin: -15px 0 0 0; + + @media (max-width: 992px) { + flex-direction: column; + } + + .FundingCampaignLink { + color: rgba(255, 255, 255, 0.75); + font-weight: bold; + text-decoration: unset; + padding: 10px; + flex-grow: 1; + text-align: center; + + @media (max-width: 992px) { + width: 100%; + } + + &:hover { + color: rgb(255, 255, 255); + } + } + } +} diff --git a/tsconfig.app.json b/tsconfig.app.json index d739292..a3cb963 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -21,7 +21,9 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + + "plugins": [{ "name": "ts-css-modules-vite-plugin" }] }, "include": ["src"] }