diff --git a/Front-end/package-lock.json b/Front-end/package-lock.json index f670cde..9e28265 100644 --- a/Front-end/package-lock.json +++ b/Front-end/package-lock.json @@ -11,7 +11,8 @@ "dependencies": { "lucide-react": "^0.344.0", "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-router-dom": "^7.4.0" }, "devDependencies": { "@eslint/js": "^9.9.1", @@ -1294,6 +1295,11 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@types/estree": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", @@ -1658,6 +1664,14 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2992,6 +3006,44 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.4.0.tgz", + "integrity": "sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.4.0.tgz", + "integrity": "sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA==", + "dependencies": { + "react-router": "7.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -3137,6 +3189,11 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3409,6 +3466,11 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/Front-end/package.json b/Front-end/package.json index cda6299..d462891 100644 --- a/Front-end/package.json +++ b/Front-end/package.json @@ -12,7 +12,8 @@ "dependencies": { "lucide-react": "^0.344.0", "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-router-dom": "^7.4.0" }, "devDependencies": { "@eslint/js": "^9.9.1", diff --git a/Front-end/src/App.jsx b/Front-end/src/App.jsx index 41c0af4..c141d84 100644 --- a/Front-end/src/App.jsx +++ b/Front-end/src/App.jsx @@ -1,133 +1,44 @@ -import React, { useState } from 'react'; -import { Search, MapPin, Calendar, Bus, ArrowRight, LogIn, UserPlus } from 'lucide-react'; +import React from 'react'; +import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; +import { LogIn, UserPlus } from 'lucide-react'; +import Home from './pages/Home'; +import AdminDashboard from './pages/AdminDashboard'; +import Inscription from './pages/Inscription'; + function App() { - const [searchQuery, setSearchQuery] = useState(''); - const [activeFilter, setActiveFilter] = useState('all'); - return ( -
- {/* Header */} -
-
-
-

PauCity Connect

-
- - + +
+ {/* Header */} +
+
+
+ Meteo France +
+ + Admin Dashboard + + + + + Sign Up + +
-
-
+ - {/* Hero Section */} -
-
-

- Bienvenue dans ta ville intelligente. -

-

- Découvrez tout ce que votre ville a à offrir - des événements locaux aux horaires de transport, le tout en un seul endroit. -

-
- - {/* Search Section */} -
-
- - setSearchQuery(e.target.value)} - /> -
-
- - - - -
-
- - {/* Features Grid */} -
-
-
- -
-

Points d'intérêt

-

- Découvrez les meilleurs endroits de votre ville, qu'il s'agisse de restaurants, de parcs ou de lieux culturels. -

- - Explorer les lieux - -
- -
-
- -
-

Evenements locaux

-

- Restez informé des derniers événements, festivals et rassemblements communautaires dans votre région. -

- - Voir les événements - -
- -
-
- -
-

Transports publics

-

- Accédez en temps réel aux horaires et aux itinéraires des bus, des trains et des autres transports publics. -

- - Vérifier les horaires - -
-
+ + } /> + } /> + }/> +
-
+ ); } diff --git a/Front-end/src/pages/AdminDashboard.jsx b/Front-end/src/pages/AdminDashboard.jsx new file mode 100644 index 0000000..403da86 --- /dev/null +++ b/Front-end/src/pages/AdminDashboard.jsx @@ -0,0 +1,44 @@ +import React, { useState } from "react"; +import { Calendar, Settings, LayoutDashboard } from "lucide-react"; + +function AdminDashboard() { + + const [activeTab, setActiveTab] = useState('dashboard'); + + return ( +
+ {/* SideMenu */} +
+

+ Administration +

+ +

Test

+
+
+ ); +} + +export default AdminDashboard; diff --git a/Front-end/src/pages/Home.jsx b/Front-end/src/pages/Home.jsx new file mode 100644 index 0000000..fbef07b --- /dev/null +++ b/Front-end/src/pages/Home.jsx @@ -0,0 +1,15 @@ +import React, { useState } from 'react'; +import { Search, MapPin, Calendar, Bus, ArrowRight } from 'lucide-react'; + +function Home() { + const [searchQuery, setSearchQuery] = useState(''); + const [activeFilter, setActiveFilter] = useState('all'); + + return ( + +
Home +
+ ) +} + +export default Home; \ No newline at end of file diff --git a/Front-end/src/pages/Inscription.jsx b/Front-end/src/pages/Inscription.jsx new file mode 100644 index 0000000..4f5c7db --- /dev/null +++ b/Front-end/src/pages/Inscription.jsx @@ -0,0 +1,36 @@ +import React from "react"; + +function Inscription() { + return ( +
+

Inscription

+
+ + + + +
+
+ ); +} + +export default Inscription; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..cb77e89 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "Projet-Dev-Web-Ing1", + "lockfileVersion": 3, + "requires": true, + "packages": {} +}