From 388d723e8a8a541d600dd5d24887540ca307c514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= Date: Wed, 10 Apr 2024 09:22:45 +0200 Subject: [PATCH] Temp mokup for login, start login in ajax, bug with the click on signup to login --- Request_Test/testHTTP.http | 8 ++ index.php | 17 +--- src/API/requests.php | 5 + src/css/styles.css | 52 ++++++++-- src/js/AJAX/index.js | 162 +++++++++++++++++++++++++++++- src/php/components/user-login.php | 2 +- 6 files changed, 223 insertions(+), 23 deletions(-) diff --git a/Request_Test/testHTTP.http b/Request_Test/testHTTP.http index 4f99b02..b6ac60f 100644 --- a/Request_Test/testHTTP.http +++ b/Request_Test/testHTTP.http @@ -52,3 +52,11 @@ test = "coucou" ### +POST http://serveur-projet-s4.felix/src/API/requests.php/api/login/patient +Content-Type: application/x-www-form-urlencoded + +mail = "nicolasgrenier@example.com" & +password = "a" + +### + diff --git a/index.php b/index.php index c630bae..eb15669 100644 --- a/index.php +++ b/index.php @@ -13,20 +13,6 @@ -
diff --git a/src/API/requests.php b/src/API/requests.php index f044578..a4f9365 100644 --- a/src/API/requests.php +++ b/src/API/requests.php @@ -104,4 +104,9 @@ $router->POST('/api/create-rdv', ["medID", "date", "time", "lieu"], function($me CreateRDV($pdo, $medID, $date, $time, $lieu); }); +$router->POST('/api/login/patient', ["mail", "password"], function($mail, $password){ + global $pdo; + loginPatient::Login($pdo, $mail, $password); +}); + $router->run(); diff --git a/src/css/styles.css b/src/css/styles.css index 793c3d9..e83a622 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -4,6 +4,7 @@ body{ margin: 0; padding: 0; font-family: 'Roboto', sans-serif; + min-height: 100vh; } #DoctISEN{ @@ -15,6 +16,49 @@ body{ cursor: pointer; } +.login-ui{ + height: 78vh; + background-color: #EEF2F7; +} + +.signup-ui{ + height: 100vh; + background-color: #EEF2F7; +} + +#signup-sign-part{ + background-color: white; + height: 75%; + display: flex; + flex-direction: column; + gap: 1em; + border-radius: 20px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); +} + + +#login-part{ + background-color: white; + height: 45%; + display: flex; + flex-direction: column; + gap: 1em; + border-radius: 20px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); + margin-top: 10%; +} + +#signup-part{ + background-color: white; + height: 15%; + display: flex; + flex-direction: column; + gap: 1em; + border-radius: 20px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); + margin-top: 10%; +} + #topbar{ background-color: #ff0000; height: 22vh; @@ -78,13 +122,7 @@ body{ padding-top: 5%; } -.logButton{ - width: 30%; - height: 100%; - background-color: #ff0000; - color: white; - font-weight: bold; -} + .pointer{ cursor: pointer; diff --git a/src/js/AJAX/index.js b/src/js/AJAX/index.js index 919777b..46efda6 100644 --- a/src/js/AJAX/index.js +++ b/src/js/AJAX/index.js @@ -249,6 +249,7 @@ function displayHome() {

Annuaire des médecins du CNOM • Annuaire des chirurgiens-dentistes de l'ONCD • Ordre National des Médecins • Ordre National des Chirurgiens-Dentistes

`; attachSearchEventListener(); + attachLoginUserDisplayEventListener(); displayAlert("Rendez-vous pris avec succès"); } @@ -279,6 +280,158 @@ function performSearch(event) { } } +function displayLoginUser() { + let container = document.getElementById("content"); + container.innerHTML = ""; + container.classList.add("d-flex", "flex-column", "justify-content-center", "text-center", "w-100", "login-ui"); + container.innerHTML = ` +
+ +
+
+
Nouveau sur Doct'ISEN?
+ + + +
+
+
`; + document.getElementById("user-login-button").addEventListener("click", function(event) { + event.preventDefault(); + let mail = document.getElementById("user-login-mail").value; + let password = document.getElementById("user-login-password").value; + let data = "mail=" + mail + "&password=" + password; + ajaxRequest('POST', "src/API/requests.php/api/login/patient", function (data) { + if (data.success) { + sessionStorage.setItem("user_id", data.id); + sessionStorage.setItem("user_type", "patient"); + sessionStorage.setItem("user_mail", mail); + sessionStorage.setItem("user_name", data.name); + sessionStorage.setItem("user_surname", data.surname); + displayHome(); + } else { + alert("Erreur lors de la connexion"); + } + }, data); + }); + document.getElementById("signup-user").addEventListener("click", function(event) { + displaySignUpUser(); + }); +} + +function displaySignUpUser() { + let container = document.getElementById("content"); + container.innerHTML = ""; + container.classList.add("d-flex", "flex-column", "justify-content-center", "text-center", "w-100", "signup-ui"); + container.classList.remove("login-ui"); + container.innerHTML = ` +
+
+
+
Inscription sur Doct'ISEN
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
Déjà inscrit ?
+ + + +
+
+
+
`; + document.getElementById("login-user").addEventListener("click", function(event) { + console.log("login-user clicked"); + displayLoginUser(); + }); + document.getElementById("user-signup-button").addEventListener("click", function(event) { + event.preventDefault(); + let name = document.getElementById("user-signup-name").value; + let surname = document.getElementById("user-signup-surname").value; + let mail = document.getElementById("user-signup-mail").value; + let mailConfirm = document.getElementById("user-signup-mail-confirm").value; + let password = document.getElementById("user-signup-password").value; + let passwordConfirm = document.getElementById("user-signup-password-confirm").value; + let phone = document.getElementById("user-signup-phone").value; + if (mail !== mailConfirm) { + alert("Les adresses mail ne correspondent pas"); + return; + } + if (password !== passwordConfirm) { + alert("Les mots de passe ne correspondent pas"); + return; + } + let data = "name=" + name + "&surname=" + surname + "&mail=" + mail + "&password=" + password + "&phone=" + phone; + ajaxRequest('POST', "src/API/requests.php/api/signup/patient", function (data) { + if (data.success) { + sessionStorage.setItem("user_id", data.id); + sessionStorage.setItem("user_type", "patient"); + sessionStorage.setItem("user_mail", mail); + sessionStorage.setItem("user_name", name); + sessionStorage.setItem("user_surname", surname); + displayHome(); + } else { + alert("Erreur lors de l'inscription"); + } + }, data); + }); +} + function attachSearchEventListener() { try{ document.getElementById("recherche").addEventListener("click", function (event) { @@ -322,6 +475,12 @@ function attachPrendreRDVEventListener() { }); } +function attachLoginUserDisplayEventListener() { + document.getElementById("login-user").addEventListener("click", function (event) { + displayLoginUser(); + }); +} + //Yanis Part function DisplayRDVPraticient(rdv){ @@ -383,4 +542,5 @@ function ButtonShowRdvPraticient() { //End Call ButtonShowRdvPraticient(); -attachSearchEventListener(); \ No newline at end of file +attachSearchEventListener(); +attachLoginUserDisplayEventListener(); \ No newline at end of file diff --git a/src/php/components/user-login.php b/src/php/components/user-login.php index c97b6fb..07b4130 100644 --- a/src/php/components/user-login.php +++ b/src/php/components/user-login.php @@ -24,7 +24,7 @@ echo 'Mon calendrier'; } } else { - echo '

'; + echo '

'; } } ?> \ No newline at end of file