From f8d8ff781dc78a09c0f455313bf1782eb4fba962 Mon Sep 17 00:00:00 2001
From: realtradam <github@tradam.dev>
Date: Thu, 27 Jun 2024 17:03:05 -0400
Subject: add react router

---
 react-frontend/src/pages/Home.tsx | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 react-frontend/src/pages/Home.tsx

(limited to 'react-frontend/src/pages/Home.tsx')

diff --git a/react-frontend/src/pages/Home.tsx b/react-frontend/src/pages/Home.tsx
new file mode 100644
index 0000000..631adda
--- /dev/null
+++ b/react-frontend/src/pages/Home.tsx
@@ -0,0 +1,8 @@
+
+export default function Home() {
+	return(
+		<>
+			<h1>Welcome to Game Holster</h1>
+		</>
+	);
+}
-- 
cgit v1.2.3


From 2cb4da3b12c896b588716c50991a06c9bbb2cdeb Mon Sep 17 00:00:00 2001
From: realtradam <github@tradam.dev>
Date: Thu, 27 Jun 2024 17:36:33 -0400
Subject: add rsuite

---
 react-frontend/package-lock.json  | 293 +++++++++++++++++++++++++++++++++++++-
 react-frontend/package.json       |   3 +-
 react-frontend/src/index.css      |  68 ---------
 react-frontend/src/main.tsx       |   1 +
 react-frontend/src/pages/Home.tsx |   2 +
 5 files changed, 292 insertions(+), 75 deletions(-)

(limited to 'react-frontend/src/pages/Home.tsx')

diff --git a/react-frontend/package-lock.json b/react-frontend/package-lock.json
index 5b0e2fb..1545f96 100644
--- a/react-frontend/package-lock.json
+++ b/react-frontend/package-lock.json
@@ -5,12 +5,13 @@
   "requires": true,
   "packages": {
     "": {
-      "name": "react-frontend",
+      "name": "game-holster",
       "version": "0.0.0",
       "dependencies": {
         "react": "^18.3.1",
         "react-dom": "^18.3.1",
-        "react-router-dom": "^6.24.0"
+        "react-router-dom": "^6.24.0",
+        "rsuite": "^5.64.2"
       },
       "devDependencies": {
         "@types/react": "^18.3.3",
@@ -41,6 +42,18 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/@babel/runtime": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
+      "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
+      "license": "MIT",
+      "dependencies": {
+        "regenerator-runtime": "^0.14.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
     "node_modules/@esbuild/aix-ppc64": {
       "version": "0.21.5",
       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
@@ -678,6 +691,12 @@
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
+    "node_modules/@juggle/resize-observer": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
+      "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
+      "license": "Apache-2.0"
+    },
     "node_modules/@nodelib/fs.scandir": {
       "version": "2.1.5",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -959,6 +978,29 @@
         "win32"
       ]
     },
+    "node_modules/@rsuite/icon-font": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@rsuite/icon-font/-/icon-font-4.0.0.tgz",
+      "integrity": "sha512-rZTgpTH3H3HLczCA2rnkWfoMKm0ZXoRzsrkVujfP/FfslnKUMvO6w56pa8pCvhWGpNEPUsLS2ULnFGpTEcup/Q==",
+      "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)"
+    },
+    "node_modules/@rsuite/icons": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@rsuite/icons/-/icons-1.0.3.tgz",
+      "integrity": "sha512-qkjYFn1v5YV9eH57Q4AJ8CwsQYfILun2wdoxhQg5+xYxkIu6UyF8vTMmpOzLvcybTE7D8STm4dH7vhpyhPOC7g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.12.1",
+        "@rsuite/icon-font": "^4.0.0",
+        "classnames": "^2.2.5",
+        "insert-css": "^2.0.0",
+        "lodash": "^4.17.20"
+      },
+      "peerDependencies": {
+        "react": ">=16.8.0",
+        "react-dom": ">=16.8.0"
+      }
+    },
     "node_modules/@swc/core": {
       "version": "1.6.5",
       "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.5.tgz",
@@ -1185,6 +1227,12 @@
         "@swc/counter": "^0.1.3"
       }
     },
+    "node_modules/@types/chai": {
+      "version": "4.3.16",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz",
+      "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==",
+      "license": "MIT"
+    },
     "node_modules/@types/estree": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
@@ -1192,18 +1240,22 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@types/lodash": {
+      "version": "4.17.6",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.6.tgz",
+      "integrity": "sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==",
+      "license": "MIT"
+    },
     "node_modules/@types/prop-types": {
       "version": "15.7.12",
       "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
       "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/@types/react": {
       "version": "18.3.3",
       "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz",
       "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/prop-types": "*",
@@ -1220,6 +1272,15 @@
         "@types/react": "*"
       }
     },
+    "node_modules/@types/react-window": {
+      "version": "1.8.8",
+      "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.8.tgz",
+      "integrity": "sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/react": "*"
+      }
+    },
     "node_modules/@typescript-eslint/eslint-plugin": {
       "version": "7.14.1",
       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz",
@@ -1754,6 +1815,12 @@
         "node": ">= 6"
       }
     },
+    "node_modules/classnames": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
+      "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
+      "license": "MIT"
+    },
     "node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -1823,9 +1890,24 @@
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
-      "dev": true,
       "license": "MIT"
     },
+    "node_modules/date-fns": {
+      "version": "2.30.0",
+      "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+      "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.21.0"
+      },
+      "engines": {
+        "node": ">=0.11"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/date-fns"
+      }
+    },
     "node_modules/debug": {
       "version": "4.3.5",
       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
@@ -1891,6 +1973,15 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/dom-lib": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/dom-lib/-/dom-lib-3.3.1.tgz",
+      "integrity": "sha512-N2mpo8qQmB9wIMZJVjER+BSh4GJiZZ7S6EjnMtyETcXo90hpITUDXpUhqOcfXZ2ZefytuYYKTZMp3CGR2X+tDA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.20.0"
+      }
+    },
     "node_modules/eastasianwidth": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -2360,6 +2451,18 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/get-value": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/get-value/-/get-value-3.0.1.tgz",
+      "integrity": "sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==",
+      "license": "MIT",
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
     "node_modules/glob": {
       "version": "7.2.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -2542,6 +2645,12 @@
       "dev": true,
       "license": "ISC"
     },
+    "node_modules/insert-css": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz",
+      "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==",
+      "license": "MIT"
+    },
     "node_modules/is-binary-path": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -2624,6 +2733,27 @@
         "node": ">=8"
       }
     },
+    "node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "license": "MIT",
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-primitive": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz",
+      "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/isexe": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2631,6 +2761,15 @@
       "dev": true,
       "license": "ISC"
     },
+    "node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/jackspeak": {
       "version": "3.4.0",
       "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
@@ -2757,6 +2896,12 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "license": "MIT"
+    },
     "node_modules/lodash.merge": {
       "version": "4.6.2",
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -2786,6 +2931,12 @@
         "node": "14 || >=16.14"
       }
     },
+    "node_modules/memoize-one": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
+      "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==",
+      "license": "MIT"
+    },
     "node_modules/merge2": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -2912,7 +3063,6 @@
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
@@ -3279,6 +3429,17 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/prop-types": {
+      "version": "15.8.1",
+      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+      "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+      "license": "MIT",
+      "dependencies": {
+        "loose-envify": "^1.4.0",
+        "object-assign": "^4.1.1",
+        "react-is": "^16.13.1"
+      }
+    },
     "node_modules/punycode": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -3335,6 +3496,12 @@
         "react": "^18.3.1"
       }
     },
+    "node_modules/react-is": {
+      "version": "16.13.1",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+      "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+      "license": "MIT"
+    },
     "node_modules/react-router": {
       "version": "6.24.0",
       "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz",
@@ -3365,6 +3532,32 @@
         "react-dom": ">=16.8"
       }
     },
+    "node_modules/react-use-set": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/react-use-set/-/react-use-set-1.0.0.tgz",
+      "integrity": "sha512-6BBbOcWc/tOKuwd9gDtdunvOr/g40S0SkCBYvrSJvpI0upzNlHmLoeDvylnoP8PrjQXItClAFxseVGGhEkk7kw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": ">=16.8.0"
+      }
+    },
+    "node_modules/react-window": {
+      "version": "1.8.10",
+      "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz",
+      "integrity": "sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.0.0",
+        "memoize-one": ">=3.1.1 <6"
+      },
+      "engines": {
+        "node": ">8.0.0"
+      },
+      "peerDependencies": {
+        "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
+        "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
+      }
+    },
     "node_modules/read-cache": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -3388,6 +3581,12 @@
         "node": ">=8.10.0"
       }
     },
+    "node_modules/regenerator-runtime": {
+      "version": "0.14.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+      "license": "MIT"
+    },
     "node_modules/resolve": {
       "version": "1.22.8",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -3480,6 +3679,60 @@
         "fsevents": "~2.3.2"
       }
     },
+    "node_modules/rsuite": {
+      "version": "5.64.2",
+      "resolved": "https://registry.npmjs.org/rsuite/-/rsuite-5.64.2.tgz",
+      "integrity": "sha512-ztFiwVD5r1aDHPrlsR4FPfo0lfIFk/G72Y4Iy2dokp9G1Le9VQ6xLlP4EBK+h/Cgk7u8FqBGU8Zybr81ftitiQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.20.1",
+        "@juggle/resize-observer": "^3.4.0",
+        "@rsuite/icons": "^1.0.2",
+        "@types/chai": "^4.3.3",
+        "@types/lodash": "^4.14.184",
+        "@types/prop-types": "^15.7.5",
+        "@types/react-window": "^1.8.5",
+        "classnames": "^2.3.1",
+        "date-fns": "^2.29.3",
+        "dom-lib": "^3.3.1",
+        "lodash": "^4.17.11",
+        "prop-types": "^15.8.1",
+        "react-use-set": "^1.0.0",
+        "react-window": "^1.8.8",
+        "rsuite-table": "^5.18.3",
+        "schema-typed": "^2.2.2"
+      },
+      "peerDependencies": {
+        "react": ">=16.8.0",
+        "react-dom": ">=16.8.0"
+      }
+    },
+    "node_modules/rsuite-table": {
+      "version": "5.18.3",
+      "resolved": "https://registry.npmjs.org/rsuite-table/-/rsuite-table-5.18.3.tgz",
+      "integrity": "sha512-Rua79XndYY+UdCUpBuH1Ew5qa54y6zLZ0RNRnudKgamksrV1j+rUhcCsA03a5ZY+b8DXTwct4V/Q6K9q/cJT5w==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.12.5",
+        "@juggle/resize-observer": "^3.3.1",
+        "@rsuite/icons": "^1.0.0",
+        "classnames": "^2.3.1",
+        "dom-lib": "^3.1.3",
+        "lodash": "^4.17.21",
+        "react-is": "^17.0.2"
+      },
+      "peerDependencies": {
+        "prop-types": "^15.7.2",
+        "react": ">=16.8.0",
+        "react-dom": ">=16.8.0"
+      }
+    },
+    "node_modules/rsuite-table/node_modules/react-is": {
+      "version": "17.0.2",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+      "license": "MIT"
+    },
     "node_modules/run-parallel": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -3513,6 +3766,16 @@
         "loose-envify": "^1.1.0"
       }
     },
+    "node_modules/schema-typed": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/schema-typed/-/schema-typed-2.2.2.tgz",
+      "integrity": "sha512-hRmqKr5V6UyhmZ0FixRVetgxvudRPjDynVZZRNq6t4EZHii7U33vmqd9uap3s4aqBcDg1JtubMNvCEmsZTpm3Q==",
+      "license": "MIT",
+      "dependencies": {
+        "get-value": "^3.0.1",
+        "set-value": "^4.1.0"
+      }
+    },
     "node_modules/semver": {
       "version": "7.6.2",
       "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
@@ -3526,6 +3789,24 @@
         "node": ">=10"
       }
     },
+    "node_modules/set-value": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz",
+      "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==",
+      "funding": [
+        "https://github.com/sponsors/jonschlinkert",
+        "https://paypal.me/jonathanschlinkert",
+        "https://jonschlinkert.dev/sponsor"
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "is-plain-object": "^2.0.4",
+        "is-primitive": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=11.0"
+      }
+    },
     "node_modules/shebang-command": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
diff --git a/react-frontend/package.json b/react-frontend/package.json
index aebb918..c031a51 100644
--- a/react-frontend/package.json
+++ b/react-frontend/package.json
@@ -12,7 +12,8 @@
   "dependencies": {
     "react": "^18.3.1",
     "react-dom": "^18.3.1",
-    "react-router-dom": "^6.24.0"
+    "react-router-dom": "^6.24.0",
+    "rsuite": "^5.64.2"
   },
   "devDependencies": {
     "@types/react": "^18.3.3",
diff --git a/react-frontend/src/index.css b/react-frontend/src/index.css
index e7d4bb2..a90f074 100644
--- a/react-frontend/src/index.css
+++ b/react-frontend/src/index.css
@@ -2,71 +2,3 @@
 @tailwind components;
 @tailwind utilities;
 
-:root {
-  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
-  line-height: 1.5;
-  font-weight: 400;
-
-  color-scheme: light dark;
-  color: rgba(255, 255, 255, 0.87);
-  background-color: #242424;
-
-  font-synthesis: none;
-  text-rendering: optimizeLegibility;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-a {
-  font-weight: 500;
-  color: #646cff;
-  text-decoration: inherit;
-}
-a:hover {
-  color: #535bf2;
-}
-
-body {
-  margin: 0;
-  display: flex;
-  place-items: center;
-  min-width: 320px;
-  min-height: 100vh;
-}
-
-h1 {
-  font-size: 3.2em;
-  line-height: 1.1;
-}
-
-button {
-  border-radius: 8px;
-  border: 1px solid transparent;
-  padding: 0.6em 1.2em;
-  font-size: 1em;
-  font-weight: 500;
-  font-family: inherit;
-  background-color: #1a1a1a;
-  cursor: pointer;
-  transition: border-color 0.25s;
-}
-button:hover {
-  border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
-  outline: 4px auto -webkit-focus-ring-color;
-}
-
-@media (prefers-color-scheme: light) {
-  :root {
-    color: #213547;
-    background-color: #ffffff;
-  }
-  a:hover {
-    color: #747bff;
-  }
-  button {
-    background-color: #f9f9f9;
-  }
-}
diff --git a/react-frontend/src/main.tsx b/react-frontend/src/main.tsx
index 3d7150d..4ec8a7d 100644
--- a/react-frontend/src/main.tsx
+++ b/react-frontend/src/main.tsx
@@ -1,6 +1,7 @@
 import React from 'react'
 import ReactDOM from 'react-dom/client'
 import App from './App.tsx'
+import 'rsuite/dist/rsuite-no-reset.min.css'; 
 import './index.css'
 
 ReactDOM.createRoot(document.getElementById('root')!).render(
diff --git a/react-frontend/src/pages/Home.tsx b/react-frontend/src/pages/Home.tsx
index 631adda..1fe2c83 100644
--- a/react-frontend/src/pages/Home.tsx
+++ b/react-frontend/src/pages/Home.tsx
@@ -1,8 +1,10 @@
+import { Button } from 'rsuite';
 
 export default function Home() {
 	return(
 		<>
 			<h1>Welcome to Game Holster</h1>
+			<Button>Its an rsuite button</Button>
 		</>
 	);
 }
-- 
cgit v1.2.3


From d45295ba1ccb9ceb4165cf0b81f60b135a147938 Mon Sep 17 00:00:00 2001
From: realtradam <github@tradam.dev>
Date: Fri, 28 Jun 2024 15:37:18 -0400
Subject: add sidebar

---
 react-frontend/index.html                | 17 +++++++++++++----
 react-frontend/package-lock.json         | 10 ++++++++++
 react-frontend/package.json              |  1 +
 react-frontend/src/components/Layout.tsx | 29 +++++++++++++++++++++++++++--
 react-frontend/src/index.css             |  4 ++++
 react-frontend/src/pages/Home.tsx        |  6 +++---
 6 files changed, 58 insertions(+), 9 deletions(-)

(limited to 'react-frontend/src/pages/Home.tsx')

diff --git a/react-frontend/index.html b/react-frontend/index.html
index e4b78ea..577b83e 100644
--- a/react-frontend/index.html
+++ b/react-frontend/index.html
@@ -1,13 +1,22 @@
 <!doctype html>
-<html lang="en">
+<html lang="en" style="border-style:none">
   <head>
     <meta charset="UTF-8" />
     <link rel="icon" type="image/svg+xml" href="/vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Vite + React + TS</title>
+    <title>Game Holster</title>
+
+	<link href="https://fonts.googleapis.com/css2?family=Paytone+One&display=swap" rel="stylesheet">
+	<style>
+		.font-title {
+			font-family: "Paytone One", sans-serif;
+			font-weight: 400;
+			font-style: normal;
+		}
+	</style>
   </head>
-  <body>
-    <div id="root"></div>
+  <body class="min-w-screen min-h-screen" style="border-style:none">
+    <div id="root" class="min-h-screen min-w-screen" style="border-style:none"></div>
     <script type="module" src="/src/main.tsx"></script>
   </body>
 </html>
diff --git a/react-frontend/package-lock.json b/react-frontend/package-lock.json
index 1545f96..920fd12 100644
--- a/react-frontend/package-lock.json
+++ b/react-frontend/package-lock.json
@@ -10,6 +10,7 @@
       "dependencies": {
         "react": "^18.3.1",
         "react-dom": "^18.3.1",
+        "react-icons": "^5.2.1",
         "react-router-dom": "^6.24.0",
         "rsuite": "^5.64.2"
       },
@@ -3496,6 +3497,15 @@
         "react": "^18.3.1"
       }
     },
+    "node_modules/react-icons": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz",
+      "integrity": "sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": "*"
+      }
+    },
     "node_modules/react-is": {
       "version": "16.13.1",
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
diff --git a/react-frontend/package.json b/react-frontend/package.json
index c031a51..b20bafa 100644
--- a/react-frontend/package.json
+++ b/react-frontend/package.json
@@ -12,6 +12,7 @@
   "dependencies": {
     "react": "^18.3.1",
     "react-dom": "^18.3.1",
+    "react-icons": "^5.2.1",
     "react-router-dom": "^6.24.0",
     "rsuite": "^5.64.2"
   },
diff --git a/react-frontend/src/components/Layout.tsx b/react-frontend/src/components/Layout.tsx
index 9221687..8b87634 100644
--- a/react-frontend/src/components/Layout.tsx
+++ b/react-frontend/src/components/Layout.tsx
@@ -1,11 +1,36 @@
 import { Outlet } from "react-router-dom";
+import { IconButton, Button, ButtonGroup } from 'rsuite';
+import { Icon } from '@rsuite/icons';
+import { FaUser } from "react-icons/fa6";
+import { FaGamepad } from "react-icons/fa";
+import { GiCowboyHolster } from "react-icons/gi";
+import { GrAdd } from "react-icons/gr";
 
 export default function Layout()
 {
 	return(
 		<>
-			<div>sidebar</div>
-			<Outlet/>
+			<div className="w-screen h-screen flex border-none">
+				<div className="flex flex-col h-screen overflow-y-auto overflow-x-hidden w-72 bg-stone-100">
+					<div className="flex flex-col bg-stone-800">
+					<div className="m-4 mb-0 flex flex-col flex-grow">
+						{/*<IconButton appearance="primary" color="green" icon={<Icon as={FaUser}/>}>Log In</IconButton>*/}
+						<ButtonGroup className="flex">
+							<Button appearance="ghost" style={{width:"100%"}}>Account</Button>
+							<Button appearance="subtle" style={{paddingLeft:"1.4em", paddingRight:"1.4em"}}>Log Out</Button>
+						</ButtonGroup>
+					</div>
+					</div>
+					<div className="border-green-500 p-2 mb-2 text-red-700 bg-stone-800 rounded-b-xl"><Icon as={GiCowboyHolster} style={{width:"100%", height:"100%"}}/></div>
+					<div className="flex flex-col px-4 gap-2">
+						<IconButton appearance="subtle" size="lg" icon={<Icon as={FaGamepad}/>}>Browse Games</IconButton>
+						<IconButton appearance="subtle" size="lg" icon={<Icon as={GrAdd}/>}>Upload Game</IconButton>
+					</div>
+				</div>
+				<div className="w-full">
+					<Outlet/>
+				</div>
+			</div>
 		</>
 	);
 }
diff --git a/react-frontend/src/index.css b/react-frontend/src/index.css
index a90f074..ac216f5 100644
--- a/react-frontend/src/index.css
+++ b/react-frontend/src/index.css
@@ -2,3 +2,7 @@
 @tailwind components;
 @tailwind utilities;
 
+* {
+	/*border: 1px solid red;*/
+}
+
diff --git a/react-frontend/src/pages/Home.tsx b/react-frontend/src/pages/Home.tsx
index 1fe2c83..2f15dd3 100644
--- a/react-frontend/src/pages/Home.tsx
+++ b/react-frontend/src/pages/Home.tsx
@@ -1,10 +1,10 @@
-import { Button } from 'rsuite';
 
 export default function Home() {
 	return(
 		<>
-			<h1>Welcome to Game Holster</h1>
-			<Button>Its an rsuite button</Button>
+			<div className="flex justify-center p-4">
+				<h1 className="font-title text-6xl">Welcome to Game Holster</h1>
+			</div>
 		</>
 	);
 }
-- 
cgit v1.2.3

