diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e31d6c3..8c6d4ff 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,10 @@ "name": "station-saarthi", "version": "0.0.0", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/react-fontawesome": "^0.2.2", "@material-tailwind/react": "^2.1.10", "@react-oauth/google": "^0.12.1", "axios": "^1.7.7", @@ -933,6 +937,64 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==" }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", + "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, "node_modules/@humanfs/core": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", @@ -5505,6 +5567,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", "integrity": "sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==", + "license": "MIT", "peerDependencies": { "react": "*" } diff --git a/frontend/package.json b/frontend/package.json index 104935a..40c0cc2 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,6 +11,10 @@ "preview": "vite preview" }, "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/react-fontawesome": "^0.2.2", "@material-tailwind/react": "^2.1.10", "@react-oauth/google": "^0.12.1", "axios": "^1.7.7", diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index fd17d9c..5c7babd 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -24,8 +24,9 @@ import HelpAndSupport from "./Pages/HelpandSupport"; import Emergency from "./Pages/Emergency"; import AboutUs from "./Pages/AboutUs"; import Error from "./Pages/Error"; -import PrivacyPolicy from "./Pages/PrivacyPolicy"; // Added back from one version -import User from "./Pages/User"; // Added from the other version +import PrivacyPolicy from "./Pages/PrivacyPolicy"; +import User from "./Pages/User"; +import Footer from "./components/Footer"; function App() { return ( @@ -52,8 +53,8 @@ function App() { } /> } /> } /> - } /> {/* Restored PrivacyPolicy */} - } /> {/* Added User */} + } /> + } /> } /> @@ -73,12 +74,12 @@ export function ProtectedRoute() { const verifyToken = async () => { try { - const res = await fetch("http://localhost:3000/auth/verify", { - method: "GET", + const res = await fetch('http://localhost:3000/auth/verify', { + method: 'GET', headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json', }, - credentials: "include", + credentials: 'include', }); const data = await res.json(); @@ -88,8 +89,8 @@ export function ProtectedRoute() { navigate("/Login"); } } catch (error) { - console.error("Error verifying token:", error); - navigate("/Login"); + console.error('Error verifying token:', error); + navigate('/Login'); } }; diff --git a/frontend/src/Pages/HamburgerMenu.jsx b/frontend/src/Pages/HamburgerMenu.jsx new file mode 100644 index 0000000..5eae4b3 --- /dev/null +++ b/frontend/src/Pages/HamburgerMenu.jsx @@ -0,0 +1,102 @@ +import React, { useState } from "react"; +import { + FaCreditCard, + FaLifeRing, + FaExclamationTriangle, + FaInfoCircle, + FaComment, + FaCog, +} from "react-icons/fa"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faTimes } from "@fortawesome/free-solid-svg-icons"; + +const HamburgerMenu = () => { + const [isOpen, setIsOpen] = useState(false); + + const toggleMenu = () => { + setIsOpen(!isOpen); + }; + + return ( + <> +
+
+
+
+
+ + {isOpen && ( +
+
+ profile +

Yatree

+

5.0 ★

+ + + +
+ + + +
+ + Privacy and Policy + +

App version 1.0.0.0

+
+
+ )} + + ); +}; + +export default HamburgerMenu; diff --git a/frontend/src/Pages/Herosection.jsx b/frontend/src/Pages/Herosection.jsx index 4108dd5..1f6cbe8 100644 --- a/frontend/src/Pages/Herosection.jsx +++ b/frontend/src/Pages/Herosection.jsx @@ -7,16 +7,16 @@ import stationsvg from '../assets/svg/station.svg'; import noticationsvg from '../assets/svg/notification.svg'; import mapsvg from '../assets/svg/3dmap.svg'; import schedulesvg from '../assets/svg/schedule.svg'; -import searchsvg from '../assets/svg/search.svg'; -import { useNavigate } from 'react-router-dom'; -import HamburgerMenu from './hamburger'; import contributorsvg from '../assets/svg/contributor.svg'; +import { useNavigate } from 'react-router-dom'; import chatbotsvg from '../assets/svg/chatbot.svg'; import Chatbot from '../components/chatbot'; import Navbar from '../components/navbar'; -import Language from '../components/language'; -import { FaUserAlt } from "react-icons/fa"; -import Popup from '../components/popup'; +import HamburgerMenu from './HamburgerMenu'; +import Language from '../components/language'; // From main branch +import { FaUserAlt } from "react-icons/fa"; // From main branch +import Popup from '../components/popup'; // From main branch +import Hamburger from './hamburger'; const Herosection = () => { const navigate = useNavigate(); @@ -28,107 +28,110 @@ const Herosection = () => { navigate('/Register'); // Navigates to the login page }; const StationCLick = () => { - navigate('/Stations'); // Navigates to the login page + navigate('/Stations'); // Navigates to the Stations page }; const UserCLick = () => { - navigate('/user'); // Navigates to the login page - } + navigate('/user'); // Navigates to the user page + }; const NavigationCLick = () => { - navigate('/Navigation'); // Navigates to the login page + navigate('/Navigation'); // Navigates to the Navigation page }; const BookingCLick = () => { - navigate('/Booking'); // Navigates to the login page + navigate('/Booking'); // Navigates to the Booking page }; const MapCLick = () => { - navigate('/3DMap'); // Navigates to the login page - } + navigate('/3DMap'); // Navigates to the 3D Map page + }; const ScheduleCLick = () => { - navigate('/Schedule'); // Navigates to the login page - } + navigate('/Schedule'); // Navigates to the Schedule page + }; const NotificationCLick = () => { - navigate('/Notification'); // Navigates to the login page - } + navigate('/Notification'); // Navigates to the Notification page + }; const ContributorCLick = () => { - navigate('/contributor'); // Navigates to the login page - } - + navigate('/contributor'); // Navigates to the Contributor page + }; return ( <> - -
-
-
- -
-
- +
+
{/* From HamburgerMenu branch */} +
+ +
+
- -

Namaste !! Yatree

-
+ {/* From main branch */} + +

Namaste !! Yatree

+
- +

Station Saarthi : Your Platform Guide

- {/* whitishbg - */}
-

- +
-
-
- -

Contributors

-
+
+
+ +

Contributors

+
- -
- -
- -
-
- -
- -
- +
+ + +
+
+ + +
+
+ + +
+
- - -

Saarthi

-
+ className="fixed flex flex-col items-center justify-center py-8 my-auto rounded-full cursor-pointer right-5 -bottom-8 md:-bottom-7" + > + + +

Saarthi

+
); }; -export default Herosection; \ No newline at end of file +export default Herosection;