diff --git a/package-lock.json b/package-lock.json
index 646efa9e..0cec6e89 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,6 +13,7 @@
"@szhsin/react-menu": "^4.2.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
+ "react-lazy-load-image-component": "^1.6.3",
"react-player": "^2.16.0",
"react-router-dom": "^7.0.2",
"react-slick": "^0.30.3",
@@ -3469,6 +3470,11 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -3869,6 +3875,18 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"license": "MIT"
},
+ "node_modules/react-lazy-load-image-component": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/react-lazy-load-image-component/-/react-lazy-load-image-component-1.6.3.tgz",
+ "integrity": "sha512-kdQYUDbuISF3T9El0sBLNoWrmPohqlytcG4ognLtHYjY8bZAsJ0/Ez+VaV+0QlVyUY3K6dDXkuQAz3GpvdjBkw==",
+ "dependencies": {
+ "lodash.debounce": "^4.0.8",
+ "lodash.throttle": "^4.1.1"
+ },
+ "peerDependencies": {
+ "react": "^15.x.x || ^16.x.x || ^17.x.x || ^18.x.x || ^19.x.x"
+ }
+ },
"node_modules/react-player": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/react-player/-/react-player-2.16.0.tgz",
diff --git a/package.json b/package.json
index 79432698..13e7c31b 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@szhsin/react-menu": "^4.2.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
+ "react-lazy-load-image-component": "^1.6.3",
"react-player": "^2.16.0",
"react-router-dom": "^7.0.2",
"react-slick": "^0.30.3",
diff --git a/src/components/Gallery/Winner.jsx b/src/components/Gallery/Winner.jsx
index ff88425b..0d38a1e9 100644
--- a/src/components/Gallery/Winner.jsx
+++ b/src/components/Gallery/Winner.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import '../../styles/Gallery.css';
+import { LazyLoadImage } from 'react-lazy-load-image-component';
export default function Winner({ year, appName, description, category, image, link}) {
@@ -12,7 +13,7 @@ export default function Winner({ year, appName, description, category, image, li
return (
-

+
{appName}
diff --git a/src/components/General/Navbar.jsx b/src/components/General/Navbar.jsx
index 1ebb0e67..54532b40 100644
--- a/src/components/General/Navbar.jsx
+++ b/src/components/General/Navbar.jsx
@@ -3,6 +3,7 @@ import { Link } from 'react-router-dom';
import { Menu } from '@geist-ui/icons';
import '../../styles/Navbar.css';
import HackLogo from '../../images/hothXI-logo.svg';
+import { LazyLoadImage } from 'react-lazy-load-image-component';
export default function Navbar() {
const [isOpen, setIsOpen] = useState(false);
@@ -38,7 +39,7 @@ export default function Navbar() {
return (