From 1e3dcf340dfe22a0fe7bf6a853c71d5e6fae1f7d Mon Sep 17 00:00:00 2001 From: catanese Date: Mon, 13 May 2024 01:42:15 +0200 Subject: [PATCH] commit final --- .vs/2024-DEV-BUT3/v17/.wsuo | Bin 96256 -> 96256 bytes .vs/slnx.sqlite | Bin 90112 -> 90112 bytes README.md | 21 +++++++++ src/assets/styles/diagram.css | 12 ++--- src/assets/styles/item-page.css | 2 - src/assets/styles/itembox.css | 2 +- src/assets/styles/modal.css | 1 - src/assets/styles/room-list.css | 10 ++-- src/components/diagram.jsx | 4 +- src/components/form/formCreateItem.jsx | 3 +- src/components/form/formUpdateItem.jsx | 5 +- src/components/form/formUpdateRoom.jsx | 58 ++++++++++++++++++++++++ src/components/item/ItemBox.jsx | 3 -- src/components/nav/Navbar.jsx | 3 -- src/components/parts/characteristic.jsx | 1 - src/components/parts/description.jsx | 1 - src/components/parts/image.jsx | 5 +- src/components/rooms/room-detail.jsx | 13 ++---- src/components/rooms/room-list.jsx | 10 +--- src/components/rooms/room-stats.jsx | 2 +- 20 files changed, 103 insertions(+), 53 deletions(-) create mode 100644 src/components/form/formUpdateRoom.jsx diff --git a/.vs/2024-DEV-BUT3/v17/.wsuo b/.vs/2024-DEV-BUT3/v17/.wsuo index e79653da0fa6ab2c7deb0bb41c5acd3cdf183765..f8426c542e382606df1592a74c5b0a9c6349dda6 100644 GIT binary patch delta 2299 zcmb`H4Nz276vyvZqn=$Qqoes8fL_MWsSeQR!L!PE@+Fu`u>5QR%IZ zib{R|5Oq{jP>_mB2mdT8Z9gSy_51~-#`bu~Zj8_#Ko8Ir_JXYi_VMj^z`hIA@ojTs zW*Ih$lbHWF(^19{*_l3FTr6o}LWm|#ZHws!7sAF#bgsX64lHyY8uT%4jm0Bw1t}!H zKp_^wV6$ZiAwv>FwBzKQe4Lj^v}QqS{WtLMDXjS z@y^5qJ?LdzS|2nd(FCZ4IFq)t)e2$?sMH0@@f3c(K(rD@Xu?~R+y%jUpg|u)m;mo5 zF@@X0g3t<-1=XC1a#21CMtNv0Dnf}1ICE;2^zgBZU;pZov%cl};;fs@p;-5`PLppO z`C;b)QeEptl&c)c6)PvP8UkM%iHk^cR5@v1XD43{an>THCA}muZ195UO;^8zNIl%T zyE6A~SkT2&{b#zmJ90iJU8%0st3{+UOeVD4G&fXdgGux*oiZ7{2JfoJTZ(S@sied< zBxdjSHs)A!|K3wdm#W2$cDmD-etYX&Oi}*hEh!m$;dFXdZYVNP#K}_nup!>sI75Yr z${nseywV_HjLG!MejpV)bKxu6 zY;=V^?3SiW8FMs(4V|7jUwW6AUOm1!qur%3`ja&Us|3zwoNEl&t|FakmtAu%Dty1^d z2U@~OcHcA<33L;nGD>@~^q0vba8@ zj>TkY;Yw0LT-l<$k0Yb*?r3VTNk*Cvj$FNMlUHyzZrQb7hyHe-j^a|-rG#{oV8bRx zm)2L+}7=4!rdvo3uS8WVhM#rlDQr|?wCW)xt%lTQv#9pAk39+T# zM}$Mh@}-!t$`sPHMZyYJx9(hWusJ((>-h5a{MvhM1KT(GdYO7240_!jt8enO2xs0R z=VZ=x*cPQgj8s0jI22N=n-6NJVRSBXBA0v7JR%zT1rqBHe=)yG{b>ab)dz=SmaPcy z+otYKZ>u`0b$`EctG&lJ36cnP#bN1t9UFi7&~-LljH{?EvNDt~qARH_jfhlC_SGSs__h%&Bfj+jePjyLyzwx_mt6e=hAl8W1`LS)8{L&BR94F3v5YN zBFW!QuGFUZkCyY~Hy-)L*VJ!N=fq^a?GesQP-%kht?8`$wm$80*DDG4`Pwl={ksHz QGMDt#_IQx9IXu+yJ6DL*Bme*a delta 1689 zcmb7?e@t6d6vy9vwB^BoL4gXw>;vBlv;%n~sHUH=&MTuKomnt78?&b#N{ z^L^)j@3l-zEz{D$8aAkNZ+rBazA3bwVVKM++{8Aa!(^6KqUK=8xR;Drm`i{pKmkMn zIv@;K4Lk{~0s?_KsCxvWKTrfb4p6BAhzUR@4tNSM0Qmsj|1iWH z+EOlj!~G9bxzT5LIyr)Sdc5RzIqKd%g3<3 z`2#UuCbqHGFcncLrjX-ldd%GG$WbcDu%H$srHgHRPx8GQT_#E$Hxk?-qq-Cj+iFgq2KnH`_D`o8$Z7{eggCsug>kZUd;dd zFRYgYB7`Xs9tqdt`f#HpccFn5QaHl}TFo%FkQk&P>bglEYt1D8ak;Utwd+#jp@S8M z=vnR5t@NQc>rUrf_$uc8;Z+vHZR|9KVgFsfi;WWTEmnMu6+2mR59>Hwj&S)dBR4e*9*DuWmSZv5Ne>y0<&(;O=>ixo*|+y#*}kjj=g7q$JAr z?|gAqO1SM#ERypPO|G2@qxP`WUo(6Hi_Nkf`V7g3KKj;`pPca9k~c7nyL!V(nb?Q0 zrF5%}e-=gKCd=EE121sgmDp-s_E1C1*}VKc>be_k{N4GJC|>^M|Lhfy zvesTB-=8+{(sRER-rn|;?AT4)`8(NlwO51mqt}Mp_6HVSYx{^wllI<5AMqF~u0z&l z0Sg*CyjQLC3AnsT;!5{jnhluGdajhQp(+$-t4Tz`WNqJNgin$I^adV!?|FQyM~V*( W%CLGc9)EFiFUg-tN5uCX*Vvz?&J2_Q diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 438761021688c34bc41c58bfca319a0d368ef31c..849295cd096071ef45c95a8cac5a9aac4bd9af7b 100644 GIT binary patch delta 405 zcmZoTz}j$tb%HeG&51J3j5jwXOwwm8+5A~wP=Gm=W%p!uhvO_P_gHpsRup*3?8e5$ zpsrZL#$d?E$(EL1lp9)*l30=&l%JogmsMP$#c`+TYVntI+hmK`7&L)OJWEn@i}gxU zi%US#EDC z-@AE%cQzx0Ia$E>8Y@`WJh5n|S4M0H*9=GMr1Hs(~`9h2D;7E18$;QPw=p6?~!W4`5l3;AaA)$*0| ze&OA>c~8O*9v)U^Mn=u#Prl+5so`WVA0J_J+?8iMw=A9@Y=k {

Prix total par an

{diagramData.map(({ name, value }) => { - // Appliquer l'�chelle logarithmique � la valeur - const scaledValue = Math.log(value + 1); // Ajouter 1 pour �viter le logarithme de z�ro + // Appliquer l'�chelle logarithmique sur la valeur + const scaledValue = Math.log(value + 1); const scaledMaxValue = Math.log(maxValue + 1); return (
diff --git a/src/components/form/formCreateItem.jsx b/src/components/form/formCreateItem.jsx index b82d306..a87c0b2 100644 --- a/src/components/form/formCreateItem.jsx +++ b/src/components/form/formCreateItem.jsx @@ -32,8 +32,7 @@ export const FormCreateItem = ({ onClose }) => { values, ); console.log(response.data); - // Fermer la fenêtre modale après soumission réussie - onClose(); + } catch (error) { console.error(error); } diff --git a/src/components/form/formUpdateItem.jsx b/src/components/form/formUpdateItem.jsx index 529cbb6..84d979e 100644 --- a/src/components/form/formUpdateItem.jsx +++ b/src/components/form/formUpdateItem.jsx @@ -75,8 +75,7 @@ export const FormUpdateItem = ({ itemId, onClose }) => { values, ); console.log(response.data); - // Fermer la fenêtre modale après soumission réussie - onClose(); + } catch (error) { console.error(error); } @@ -87,7 +86,7 @@ export const FormUpdateItem = ({ itemId, onClose }) => {

Update Item

diff --git a/src/components/form/formUpdateRoom.jsx b/src/components/form/formUpdateRoom.jsx new file mode 100644 index 0000000..b8b8120 --- /dev/null +++ b/src/components/form/formUpdateRoom.jsx @@ -0,0 +1,58 @@ +import React, { useState, useEffect } from "react"; +import {getRoom } from '../../api/room' +import { Form, Input, Button } from "antd"; +import axios from "axios"; + +export const FormUpdateRoom = ({_id}) => { + const [form] = Form.useForm(); + const [room, setRoom] = useState(); + + //useEffect(() => { + // const fetchData = async () => { + // const roomsResponse = await getRoom(_id); + // setRoom(roomsResponse); + // console.log(roomsResponse); + // }; + + // fetchData(); + //}, [_id]); + + //useEffect(() => { + // if (room) { + // form.setFieldsValue({ + // ...room + // }); + // } + //}, [room, form]); + + const onFinish = async (values) => { + try { + const response = await axios.post( + `${import.meta.env.VITE_API_URL}/room`, + values, + ); + console.log(response.data); + } catch (error) { + console.error(error); + } + }; + + return ( + + + + + + + + + ); +}; + +export default FormUpdateRoom; diff --git a/src/components/item/ItemBox.jsx b/src/components/item/ItemBox.jsx index 29c0a79..811988d 100644 --- a/src/components/item/ItemBox.jsx +++ b/src/components/item/ItemBox.jsx @@ -6,16 +6,13 @@ import { Image } from "../parts/image"; import { Description } from "../parts/description"; import { Characteristic } from "../parts/characteristic"; -// Composant Détails du Produit export const ItemBox = ({ model, brand, purchaseDate, price, _id }) => { const [isModalOpen, setIsModalOpen] = useState(false); - // Fonction pour ouvrir la fenêtre modale const openModal = () => { setIsModalOpen(true); }; - // Fonction pour fermer la fenêtre modale const closeModal = () => { setIsModalOpen(false); }; diff --git a/src/components/nav/Navbar.jsx b/src/components/nav/Navbar.jsx index 30503f3..18fb182 100644 --- a/src/components/nav/Navbar.jsx +++ b/src/components/nav/Navbar.jsx @@ -25,9 +25,7 @@ function getItem(key, label) { const { SubMenu } = Menu; -// Component const Navbar = () => { - //Hook calls const [rooms, setRooms] = useState([]); useEffect(() => { @@ -56,7 +54,6 @@ const Navbar = () => { , ]; - // Rendu du composant Navbar try { return ( { return (
diff --git a/src/components/parts/description.jsx b/src/components/parts/description.jsx index 028ea69..02fab8a 100644 --- a/src/components/parts/description.jsx +++ b/src/components/parts/description.jsx @@ -1,6 +1,5 @@ import React, { useEffect, useState } from "react"; -// Composant Description export const Description = ({ title, children }) => { return (
diff --git a/src/components/parts/image.jsx b/src/components/parts/image.jsx index ac6c3fc..57acfe4 100644 --- a/src/components/parts/image.jsx +++ b/src/components/parts/image.jsx @@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react'; import { searchAndResizeImage } from '../../api/image-request' -// Composant Image export const Image = ({ src, alt, request, _id }) => { const [cacheUrl, setCacheUrl] = useState(null); @@ -28,7 +27,7 @@ export const Image = ({ src, alt, request, _id }) => { return {alt}; } else if (cacheUrl) { return {alt}; - } else { - return {alt}; + } else {//default image + return {alt}; } } \ No newline at end of file diff --git a/src/components/rooms/room-detail.jsx b/src/components/rooms/room-detail.jsx index 8ef7f83..f77bf9c 100644 --- a/src/components/rooms/room-detail.jsx +++ b/src/components/rooms/room-detail.jsx @@ -1,11 +1,10 @@ import React, { useEffect, useState } from "react"; import { FormCreateRoom } from "../../components/form/formCreateRoom"; -//import { RoomUpdateForm } from './RoomUpdateForm'; +import { FormUpdateRoom } from "../../components/form/formUpdateRoom"; export const RoomDetail = ({ selectedRoom, onCreateFormSubmit, - onUpdateFormSubmit, onBack, }) => { const [isUpdateFormVisible, setIsUpdateFormVisible] = useState(false); @@ -16,12 +15,6 @@ export const RoomDetail = ({ } }, [selectedRoom]); - // Afficher le formulaire de mise � jour lorsqu'une chambre est s�lectionn�e - const handleRoomClick = () => { - setIsUpdateFormVisible(true); - }; - - // Afficher le formulaire de cr�ation lorsqu'on revient en arri�re const handleBackClick = () => { setIsUpdateFormVisible(false); onBack(null); @@ -31,9 +24,9 @@ export const RoomDetail = ({
{isUpdateFormVisible ? (
-

Modifier une chambre

+

Modifier une chambre (non fonctionnel)

- +
) : (
diff --git a/src/components/rooms/room-list.jsx b/src/components/rooms/room-list.jsx index 4405850..7006ae3 100644 --- a/src/components/rooms/room-list.jsx +++ b/src/components/rooms/room-list.jsx @@ -3,16 +3,8 @@ import "../../assets/styles/room-list.css"; import { RoomBox } from "../../components/rooms/roomBox"; import { formatRoomStats } from "../../api/room"; -// Fonction pour diviser le tableau d'items en rang�es -const chunkArray = (arr, size) => { - const chunkedArr = []; - for (let i = 0; i < arr.length; i += size) { - chunkedArr.push(arr.slice(i, i + size)); - } - return chunkedArr; -}; -// Composant d'affichage de la page + export const RoomList = ({ statsParam, onRoomClick }) => { const [rooms, setRooms] = useState([]); const [selectedRoom, setSelectedRoom] = useState("all"); diff --git a/src/components/rooms/room-stats.jsx b/src/components/rooms/room-stats.jsx index 8e6742c..df5c4b2 100644 --- a/src/components/rooms/room-stats.jsx +++ b/src/components/rooms/room-stats.jsx @@ -21,7 +21,7 @@ const RoomStats = ({statsParam}) => { useEffect(() => { if (stats) { let table = Object.entries(stats.years) - .filter(([year, value]) => value !== 0) // Filtrer les entrées où Y n'est pas égal à 0 + .filter(([year, value]) => value !== 0) .map(([year, value]) => ({ name: year, value: value })); setDiagramValues(table); }