From 6e18d4fe47fdc2a1b2566d7dd8e8f9c959689a92 Mon Sep 17 00:00:00 2001 From: Antonella Morittu <33493978+AntonellaMorittu@users.noreply.github.com> Date: Wed, 22 May 2024 14:57:16 +0200 Subject: [PATCH 01/17] Delete netlify.toml --- netlify.toml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 netlify.toml diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index ed9e83391..000000000 --- a/netlify.toml +++ /dev/null @@ -1,6 +0,0 @@ -# This file tells netlify where the code for this project is and -# how it should build the JavaScript assets to deploy from. -[build] - base = "frontend/" - publish = "dist" - command = "npm run build" From 080e5e59628e2cf8a73e8d958431c5d0309904eb Mon Sep 17 00:00:00 2001 From: Johanna Catalini Smith Date: Mon, 27 May 2024 20:32:49 +0200 Subject: [PATCH 02/17] create compontents for login, signup and private. import components and set up routes for the app --- frontend/package.json | 3 ++- frontend/src/App.jsx | 22 +++++++++++++++++++--- frontend/src/LoginPage.jsx | 3 +++ frontend/src/PrivatePage.jsx | 3 +++ frontend/src/SignupPage.jsx | 3 +++ 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 frontend/src/LoginPage.jsx create mode 100644 frontend/src/PrivatePage.jsx create mode 100644 frontend/src/SignupPage.jsx diff --git a/frontend/package.json b/frontend/package.json index e9c95b79f..db1a62a6e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.23.1" }, "devDependencies": { "@types/react": "^18.2.15", diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 1091d4310..5a3aa624f 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,3 +1,19 @@ -export const App = () => { - return
Find me in src/app.jsx!
; -}; +// Import code from movie-project +// here i import the componets +import React from "react"; +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import { LoginPage } from "./LoginPage"; +import { SignupPage } from "./SignupPage"; +import { PrivatePage } from "./PrivatePage"; + +// https://reactrouter.com/ +// here setting up routes for the app +export const App = () => ( + + + } /> + } /> + } /> + + +); diff --git a/frontend/src/LoginPage.jsx b/frontend/src/LoginPage.jsx new file mode 100644 index 000000000..ddc0c0549 --- /dev/null +++ b/frontend/src/LoginPage.jsx @@ -0,0 +1,3 @@ +export const LoginPage = () => { + return
Pls log in
; +} \ No newline at end of file diff --git a/frontend/src/PrivatePage.jsx b/frontend/src/PrivatePage.jsx new file mode 100644 index 000000000..6bebb9938 --- /dev/null +++ b/frontend/src/PrivatePage.jsx @@ -0,0 +1,3 @@ +export const PrivatePage = () => { + return
Pls log in
; +} \ No newline at end of file diff --git a/frontend/src/SignupPage.jsx b/frontend/src/SignupPage.jsx new file mode 100644 index 000000000..d03cf11a8 --- /dev/null +++ b/frontend/src/SignupPage.jsx @@ -0,0 +1,3 @@ +export const SignupPage = () => { + return
Pls log in
; +} \ No newline at end of file From 19c6b214897e508050f56712e8e207c6e393f3d8 Mon Sep 17 00:00:00 2001 From: Johanna Catalini Smith Date: Mon, 27 May 2024 20:47:13 +0200 Subject: [PATCH 03/17] add login and signup components with form --- frontend/src/LoginPage.jsx | 26 ++++++++++++++++++++++++-- frontend/src/SignupPage.jsx | 26 ++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/frontend/src/LoginPage.jsx b/frontend/src/LoginPage.jsx index ddc0c0549..b9d249814 100644 --- a/frontend/src/LoginPage.jsx +++ b/frontend/src/LoginPage.jsx @@ -1,3 +1,25 @@ +import { useNavigate } from "react-router-dom"; + export const LoginPage = () => { - return
Pls log in
; -} \ No newline at end of file + const navigate = useNavigate(); + const handleSubmit = (event) => { + event.preventDefault(); + const { username, password } = event.target.elements; + console.log(username, password); + navigate("/private"); + }; + return ( +
+

Login

+ + + +
+ ); +}; diff --git a/frontend/src/SignupPage.jsx b/frontend/src/SignupPage.jsx index d03cf11a8..8543f8813 100644 --- a/frontend/src/SignupPage.jsx +++ b/frontend/src/SignupPage.jsx @@ -1,3 +1,25 @@ +import { useNavigate } from "react-router-dom"; + export const SignupPage = () => { - return
Pls log in
; -} \ No newline at end of file + const navigate = useNavigate(); + const handleSubmit = (event) => { + event.preventDefault(); + const { username, password } = event.target.elements; + console.log(username, password); + navigate("/private"); + }; + return ( +
+

Sign up

+ + + +
+ ); +}; \ No newline at end of file From f07b99c64982a86b7f1a35b14116c781a50ffe18 Mon Sep 17 00:00:00 2001 From: Johanna Catalini Smith Date: Mon, 27 May 2024 21:06:23 +0200 Subject: [PATCH 04/17] add login api end point --- backend/server.js | 4 ++++ frontend/src/LoginPage.jsx | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/server.js b/backend/server.js index dfe86fb8e..04288062f 100644 --- a/backend/server.js +++ b/backend/server.js @@ -21,6 +21,10 @@ app.get("/", (req, res) => { res.send("Hello Technigo!"); }); +app.post("/login", async (req, res) => { + res.json({ message: "Login route" }); +}) + // Start the server app.listen(port, () => { console.log(`Server running on http://localhost:${port}`); diff --git a/frontend/src/LoginPage.jsx b/frontend/src/LoginPage.jsx index b9d249814..e2b1cc7e5 100644 --- a/frontend/src/LoginPage.jsx +++ b/frontend/src/LoginPage.jsx @@ -1,14 +1,17 @@ +// here we import the useNavigate hook from react-router-dom and use it to navigate to the /private route when the form is submitted. import { useNavigate } from "react-router-dom"; export const LoginPage = () => { + // getting the function out const navigate = useNavigate(); const handleSubmit = (event) => { + // prevent dedefault stops the page from reloading event.preventDefault(); - const { username, password } = event.target.elements; - console.log(username, password); + navigate("/private"); }; return ( + // here we have to first register an event handler for the form submission

Login