diff --git a/README.md b/README.md index 4c626c1..40bdacd 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,53 @@ # SAST Club Website -Welcome to the official repository of the **Society for Astrophysics and Space Technology (SAST)** website. -Our goal is to collaboratively build and maintain a beautiful, functional platform that reflects the spirit, achievements, and events of our club. +Welcome to the official repository of the **Society for Astrophysics and Space Technology (SAST)** website. Our goal is to collaboratively build and maintain a beautiful, functional platform that reflects the spirit, achievements, and events of our club. ---- +## 🚀 Features + +* **Events Calendar:** Stay up-to-date with all our upcoming events, workshops, and meetings. +* **Projects Showcase:** Explore the exciting projects our members are working on. +* **Astronomy News:** Get the latest news and discoveries in the world of astronomy. +* **Satellite Tracker:** Track satellites in real-time. +* **Member Profiles:** Get to know our talented members. +* **Contribution Rankings:** See who's making the biggest impact on our projects. ## 🛠️ Local Setup Instructions Follow these steps to set up and run the project locally: ### Step 1: Clone the Repository + ```bash git clone https://github.com/SASTxNST/Website_SAST.git cd Website_SAST ``` ### Step 2: Install Dependencies + ```bash npm install ``` ### Step 3: Start the Development Server -Make sure you're inside the `src` folder if that's where the app entry point is: + ```bash -cd src npm run dev ``` ---- - -## ⚠️ Contribution Guidelines +The application will be available at `http://localhost:5173`. -**Only official SAST Club members are allowed to contribute to this repository.** -To get access, make sure to: -- **Follow** our GitHub organization [@SASTxNST](https://github.com/SASTxNST) -- Be a verified SAST club member -- Follow best practices while creating Pull Requests (PRs) +## 🤝 Contribution Guidelines ---- +**Only official SAST Club members are allowed to contribute to this repository.** To get access, make sure to: -## Useful Links +* **Follow** our GitHub organization [@SASTxNST](https://github.com/SASTxNST) +* Be a verified SAST club member +* Follow best practices while creating Pull Requests (PRs) -- **GitHub Repo**: [https://github.com/SASTxNST/Website_SAST](https://github.com/SASTxNST/Website_SAST) -- **SAST GitHub Organization**: [https://github.com/SASTxNST](https://github.com/SASTxNST) -- **Live Website**: Coming Soon... +## 🔗 Useful Links ---- -// Adding a commit +* **GitHub Repo:** [https://github.com/SASTxNST/Website_SAST](https://github.com/SASTxNST/Website_SAST) +* **SAST GitHub Organization:** [https://github.com/SASTxNST](https://github.com/SASTxNST) +* **Live Website:** Coming Soon... -Let’s build something extraordinary together +Let’s build something extraordinary together! diff --git a/index.html b/index.html index 3d9fb96..449886b 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - SAST + SAST Website diff --git a/package-lock.json b/package-lock.json index 9e48fed..75d1ba0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,6 +81,7 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -4247,6 +4248,7 @@ "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -4257,6 +4259,7 @@ "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", "devOptional": true, "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "^19.0.0" } @@ -4312,6 +4315,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4700,6 +4704,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -4805,6 +4810,7 @@ "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.130.1.tgz", "integrity": "sha512-mAEux6/d7ftyYYrIUGeU7Sxq12zQ9o+u8w71PTf7plfnbcKdZZBCP+Ch0/gYIZNR0X5QngOmfQdxbQOnV1E0Tw==", "license": "Apache-2.0", + "peer": true, "workspaces": [ "packages/engine", "packages/widgets" @@ -4941,7 +4947,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/data-view-buffer": { "version": "1.0.2", @@ -5494,6 +5501,7 @@ "integrity": "sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -7912,6 +7920,7 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -7958,6 +7967,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -7979,6 +7989,7 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.10.6.tgz", "integrity": "sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -8215,6 +8226,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -8224,6 +8236,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -8298,6 +8311,7 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", + "peer": true, "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" @@ -8474,7 +8488,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -9584,6 +9599,7 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", diff --git a/src/AppContent.jsx b/src/AppContent.jsx index 6a9f37f..1cf6aa2 100644 --- a/src/AppContent.jsx +++ b/src/AppContent.jsx @@ -15,9 +15,9 @@ import DiamondCursor from "./components/DiamondCursor.jsx"; import AstronomyNews from "./components/AstronomyNews.jsx"; import SatelliteTracker from "./components/tracking/SatelliteTracker.jsx"; import NotifierSat from "./components/NotifierSat.jsx"; -import Register from "./pages/register.jsx"; -import Login from "./pages/login.jsx"; -import Footer from "./components/footer.jsx"; +import Register from "./pages/Register.jsx"; +import Login from "./pages/Login.jsx"; +import Footer from "./components/Footer.jsx"; import ScrollToTop from "./components/ScrollToTop.jsx"; import Members from "./pages/Members.jsx"; import MemberProfile from "./pages/MemberProfile.jsx"; diff --git a/src/components/footer.jsx b/src/components/Footer.jsx similarity index 100% rename from src/components/footer.jsx rename to src/components/Footer.jsx diff --git a/src/components/Landing.jsx b/src/components/Landing.jsx index 88afba4..870d46b 100644 --- a/src/components/Landing.jsx +++ b/src/components/Landing.jsx @@ -10,7 +10,7 @@ import videosource5 from "../Landing_media/spacerealastro.mov"; import img1 from "../Landing_media/All-possible-through-our-state-of-the-art-space-service-2160x2170-4-2160x1660.webp"; import img2 from "../Landing_media/frequent_lines.webp"; import helmet_png from "../Landing_media/helm.jpg"; -import Footer from "./footer"; +import Footer from "./Footer"; import useLenis from "../utils/lenis"; import useSettings from "../hooks/UseSettings"; diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx index 3898d31..b155733 100644 --- a/src/components/Navbar.jsx +++ b/src/components/Navbar.jsx @@ -7,27 +7,32 @@ import logo from "../Landing_media/SAST.png"; const Navbar = () => { const [isNavbarHidden, setIsNavbarHidden] = useState(false); const [menuOpen, setMenuOpen] = useState(false); - const [isMobile, setIsMobile] = useState(typeof window !== "undefined" ? window.innerWidth < 768 : true); + const [isMobile, setIsMobile] = useState(false); useEffect(() => { - let lastScrollY = typeof window !== "undefined" ? window.scrollY : 0; + const handleResize = () => { + const mobile = window.innerWidth < 768; + setIsMobile(mobile); + if (!mobile) { + setMenuOpen(false); + } + }; + + handleResize(); // Set initial value + window.addEventListener("resize", handleResize); + let lastScrollY = window.scrollY; const handleScroll = () => { const currentScrollY = window.scrollY; setIsNavbarHidden(currentScrollY > lastScrollY); lastScrollY = currentScrollY; }; - const handleResize = () => { - setIsMobile(window.innerWidth < 768); - if (window.innerWidth >= 768) setMenuOpen(false); - }; - window.addEventListener("scroll", handleScroll); - window.addEventListener("resize", handleResize); + return () => { - window.removeEventListener("scroll", handleScroll); window.removeEventListener("resize", handleResize); + window.removeEventListener("scroll", handleScroll); }; }, []); diff --git a/src/pages/login.jsx b/src/pages/Login.jsx similarity index 100% rename from src/pages/login.jsx rename to src/pages/Login.jsx diff --git a/src/pages/register.jsx b/src/pages/Register.jsx similarity index 100% rename from src/pages/register.jsx rename to src/pages/Register.jsx