diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 10ee935..63e90a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,10 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
+ "ahooks": "^3.7.8",
"animate.css": "^4.1.1",
"axios": "^1.3.2",
+ "hamburger-react": "^2.5.0",
"nodemon": "^2.0.20",
"nth-check": "^2.1.1",
"react": "^18.2.0",
@@ -24,6 +26,7 @@
"react-spring": "^9.6.1",
"react-toastify": "^9.1.1",
"sass": "^1.58.0",
+ "unstated-next": "^1.1.0",
"uuid": "^9.0.0",
"web-vitals": "^2.1.4"
}
@@ -1970,16 +1973,21 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz",
- "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz",
+ "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==",
"dependencies": {
- "regenerator-runtime": "^0.13.11"
+ "regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ },
"node_modules/@babel/template": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
@@ -6371,6 +6379,11 @@
"node": ">=8"
}
},
+ "node_modules/@types/js-cookie": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz",
+ "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA=="
+ },
"node_modules/@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
@@ -7130,6 +7143,34 @@
"node": ">= 6.0.0"
}
},
+ "node_modules/ahooks": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/ahooks/-/ahooks-3.7.8.tgz",
+ "integrity": "sha512-e/NMlQWoCjaUtncNFIZk3FG1ImSkV/JhScQSkTqnftakRwdfZWSw6zzoWSG9OMYqPNs2MguDYBUFFC6THelWXA==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "@types/js-cookie": "^2.x.x",
+ "ahooks-v3-count": "^1.0.0",
+ "dayjs": "^1.9.1",
+ "intersection-observer": "^0.12.0",
+ "js-cookie": "^2.x.x",
+ "lodash": "^4.17.21",
+ "resize-observer-polyfill": "^1.5.1",
+ "screenfull": "^5.0.0",
+ "tslib": "^2.4.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/ahooks-v3-count": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz",
+ "integrity": "sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ=="
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -9418,8 +9459,7 @@
"node_modules/dayjs": {
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
- "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
- "peer": true
+ "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
},
"node_modules/debounce": {
"version": "1.2.1",
@@ -11970,6 +12010,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/hamburger-react": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/hamburger-react/-/hamburger-react-2.5.0.tgz",
+ "integrity": "sha512-5GSXe+ucxTPJ0SkhIsPQ/PRDweZPIKya1lfahAuExx31SdheeUA4uOPfQIAirbKona8hvo79VDr5LJQzPXsdpw==",
+ "peerDependencies": {
+ "react": "^16.8 || ^17 || ^18"
+ }
+ },
"node_modules/handle-thing": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
@@ -12564,6 +12612,11 @@
"node": ">= 0.4"
}
},
+ "node_modules/intersection-observer": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz",
+ "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg=="
+ },
"node_modules/invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -15210,6 +15263,11 @@
"@sideway/pinpoint": "^2.0.0"
}
},
+ "node_modules/js-cookie": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
+ "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
+ },
"node_modules/js-sdsl": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
@@ -20859,8 +20917,7 @@
"node_modules/resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
- "peer": true
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"node_modules/resolve": {
"version": "1.22.1",
@@ -21257,6 +21314,17 @@
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/screenfull": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
+ "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==",
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -23155,6 +23223,11 @@
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"peer": true
},
+ "node_modules/unstated-next": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz",
+ "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA=="
+ },
"node_modules/upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
@@ -25586,11 +25659,18 @@
}
},
"@babel/runtime": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz",
- "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz",
+ "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==",
"requires": {
- "regenerator-runtime": "^0.13.11"
+ "regenerator-runtime": "^0.14.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ }
}
},
"@babel/template": {
@@ -28803,6 +28883,11 @@
}
}
},
+ "@types/js-cookie": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz",
+ "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA=="
+ },
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
@@ -29400,6 +29485,28 @@
"debug": "4"
}
},
+ "ahooks": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/ahooks/-/ahooks-3.7.8.tgz",
+ "integrity": "sha512-e/NMlQWoCjaUtncNFIZk3FG1ImSkV/JhScQSkTqnftakRwdfZWSw6zzoWSG9OMYqPNs2MguDYBUFFC6THelWXA==",
+ "requires": {
+ "@babel/runtime": "^7.21.0",
+ "@types/js-cookie": "^2.x.x",
+ "ahooks-v3-count": "^1.0.0",
+ "dayjs": "^1.9.1",
+ "intersection-observer": "^0.12.0",
+ "js-cookie": "^2.x.x",
+ "lodash": "^4.17.21",
+ "resize-observer-polyfill": "^1.5.1",
+ "screenfull": "^5.0.0",
+ "tslib": "^2.4.1"
+ }
+ },
+ "ahooks-v3-count": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz",
+ "integrity": "sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ=="
+ },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -31092,8 +31199,7 @@
"dayjs": {
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
- "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
- "peer": true
+ "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
},
"debounce": {
"version": "1.2.1",
@@ -32978,6 +33084,12 @@
"duplexer": "^0.1.2"
}
},
+ "hamburger-react": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/hamburger-react/-/hamburger-react-2.5.0.tgz",
+ "integrity": "sha512-5GSXe+ucxTPJ0SkhIsPQ/PRDweZPIKya1lfahAuExx31SdheeUA4uOPfQIAirbKona8hvo79VDr5LJQzPXsdpw==",
+ "requires": {}
+ },
"handle-thing": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
@@ -33409,6 +33521,11 @@
"side-channel": "^1.0.4"
}
},
+ "intersection-observer": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz",
+ "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg=="
+ },
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -35317,6 +35434,11 @@
"@sideway/pinpoint": "^2.0.0"
}
},
+ "js-cookie": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
+ "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
+ },
"js-sdsl": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
@@ -39471,8 +39593,7 @@
"resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
- "peer": true
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"resolve": {
"version": "1.22.1",
@@ -39719,6 +39840,11 @@
"ajv-keywords": "^3.5.2"
}
},
+ "screenfull": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
+ "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA=="
+ },
"select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -41223,6 +41349,11 @@
}
}
},
+ "unstated-next": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz",
+ "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA=="
+ },
"upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
diff --git a/package.json b/package.json
index 09dc281..1a1d486 100644
--- a/package.json
+++ b/package.json
@@ -6,8 +6,10 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
+ "ahooks": "^3.7.8",
"animate.css": "^4.1.1",
"axios": "^1.3.2",
+ "hamburger-react": "^2.5.0",
"nodemon": "^2.0.20",
"nth-check": "^2.1.1",
"react": "^18.2.0",
@@ -19,6 +21,7 @@
"react-spring": "^9.6.1",
"react-toastify": "^9.1.1",
"sass": "^1.58.0",
+ "unstated-next": "^1.1.0",
"uuid": "^9.0.0",
"web-vitals": "^2.1.4"
},
diff --git a/src/assets/stylesheets/dropdown.scss b/src/assets/stylesheets/dropdown.scss
index 5043a47..1e045d0 100644
--- a/src/assets/stylesheets/dropdown.scss
+++ b/src/assets/stylesheets/dropdown.scss
@@ -8,6 +8,18 @@
src: url(../font/LeagueSpartan-Medium.ttf);
}
+.mobile {
+ position: fixed!important;
+ padding: 20px!important;
+ padding: 20px!important;
+ background-color: rgb(35, 35, 35)!important;
+ z-index: 999!important;
+ width: 100%!important;
+ box-sizing: border-box;
+ height: 100vh!important;
+ justify-content: start!important;
+}
+
@media screen and (max-width: 650px) {
.c {
position: fixed;
@@ -22,22 +34,28 @@
// animation: slide .6s ease;
// animation-iteration-count: 1;
}
+ .home__content__info {
+ .c {
+ padding: 0;
+ width: 100%;
+ }
+ }
.dd {
display: flex;
flex-direction: column;
- width: 95%;
- margin-top: 10%;
+ width: 100%;
+ margin-top: 45px;
}
li {
- margin-bottom: 10%;
- margin-left: 8px;
+ margin-bottom: 20px;
+ // margin-left: 8px;
}
.dd__link {
color: white;
- font-size: 40px;
+ font-size: 24px;
padding: 0;
width: 100%;
display: flex;
@@ -47,12 +65,16 @@
position: relative;
width: 90%;
cursor: pointer;
+ line-height: 33px;
+ height: 33px;
}
.dd__link_arrow {
text-align: center;
color: white;
- padding-top: 7px;
+ // padding-top: 7px;
+ height: 33px;
+ line-height: 33px;
width: 10%;
font-size: 30px;
cursor: pointer;
@@ -103,7 +125,7 @@
@keyframes slideIn {
0% {
- margin-top: 100vh;
+ margin-top: -100vh;
opacity: 0%;
}
100% {
@@ -118,7 +140,7 @@
opacity: 100%;
}
100% {
- margin-top: 100vh;
+ margin-top: -100vh;
opacity: 0%;
}
}
\ No newline at end of file
diff --git a/src/assets/stylesheets/home.scss b/src/assets/stylesheets/home.scss
index 40efa08..40007ca 100644
--- a/src/assets/stylesheets/home.scss
+++ b/src/assets/stylesheets/home.scss
@@ -77,6 +77,12 @@
z-index: 0;
}
+.dropdown {
+ position: fixed;
+ z-index: 999;
+ background-color: #232323;
+}
+
@media screen and (max-width: 650px) {
// Phones
.home__content__panel__title {
diff --git a/src/assets/stylesheets/navbar.scss b/src/assets/stylesheets/navbar.scss
index 5331d0d..e6fac25 100644
--- a/src/assets/stylesheets/navbar.scss
+++ b/src/assets/stylesheets/navbar.scss
@@ -170,6 +170,10 @@ li a:hover {
display: none;
}
+.hamburger-react {
+ display: none;
+}
+
@media screen and (max-width: 912px) {
// Tablets
}
@@ -185,6 +189,10 @@ li a:hover {
display: none;
}
+ .hamburger-react {
+ color: #fff;
+ display: block;
+ }
.navbar__hamburger {
display: flex;
flex-direction: column;
diff --git a/src/components/DropdownContainer.js b/src/components/DropdownContainer.js
index 717df0f..3e196dd 100644
--- a/src/components/DropdownContainer.js
+++ b/src/components/DropdownContainer.js
@@ -1,54 +1,54 @@
-import React, { Component } from "react";
+import React, { useEffect, useRef } from "react";
import { NavLink } from "react-router-dom";
import "../assets/stylesheets/dropdown.scss";
+import { useSize } from "ahooks";
+import { useContainer } from "unstated-next";
+import GlobalStore from "../store/global";
-export default class DropdownContainer extends Component {
-
- constructor(props){
- super(props);
- this.container = React.createRef();
- }
-
- toggleHamburger() {
- this.container.current.className = "slideOut c";
- setTimeout(() => {this.props.hamburgerToggle();}
- , 500);
- }
-
- render() {
- return (
-
- );
- }
+const DropdownContainer = () => {
+ const container = useRef();
+ const { isMobile, toggleMenu } = useContainer(GlobalStore);
+ const toggleHamburger = () => {
+ container.current.className = "slideOut c";
+ setTimeout(() => {
+ toggleMenu();
+ }, 500);
+ };
+ return (
+
+ );
}
+
+export default DropdownContainer;
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index f4dd0bd..ca456db 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -1,52 +1,55 @@
-import React, { Component } from "react";
+import React, { Component, useEffect, useState } from "react";
import { NavLink } from "react-router-dom";
import "../assets/stylesheets/navbar.scss";
+import { useContainer } from "unstated-next";
+import GlobalStore from "../store/global";
+import Hamburger from "hamburger-react";
-export default class NavBar extends Component {
- constructor(props) {
- super(props);
- this.state = { navBackground: { backgroundColor: "transparent" }, hamburger: false };
+const NavBar = () => {
+ const [navBackground, setNavBackground] = useState({ backgroundColor: "transparent" });
+ const { toggleMenu, isHamburger } = useContainer(GlobalStore);
+ useEffect(() => {
document.addEventListener("scroll", (event) => {
- if (window.scrollY < 10)
- this.setState({ navBackground: { backgroundColor: "transparent" } });
- else this.setState({ navBackground: { backgroundColor: "#232323" } });
+ if (window.scrollY < 10) {
+ setNavBackground({ backgroundColor: "transparent" });
+ }
+ else {
+ setNavBackground({ backgroundColor: "#232323" });
+ };
});
- }
+ }, []);
- toggleHamburger() {
- this.props.hamburgerToggle();
- }
-
- render() {
- return (
-
- );
- }
+ return (
+
+ );
}
+
+export default NavBar;
diff --git a/src/index.js b/src/index.js
index da47968..24e25b8 100644
--- a/src/index.js
+++ b/src/index.js
@@ -6,6 +6,7 @@ import AwardsRoute from "./routes/AwardsRoute";
import reportWebVitals from "./reportWebVitals";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import ErrorRoute from "./routes/ErrorRoute";
+import GlobalStore from "./store/global";
const root = ReactDOM.createRoot(document.getElementById("root"));
@@ -27,6 +28,8 @@ const router = createBrowserRouter([
}
]);
-root.render(