From f9e99cff850a1d44c1873e86532d39823d7ac467 Mon Sep 17 00:00:00 2001 From: Kirill Bolotov <k.y.bolotov@gmail.com> Date: Thu, 3 Apr 2025 15:54:28 +0700 Subject: [PATCH] Added fetch of equipments. Fixed format of equipments for exercise creation --- package.json | 2 +- .../pages/exercise/ExerciseCreationModal.jsx | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index dc1873d..f3d2e72 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aqua", "private": true, - "version": "5.0.1", + "version": "5.0.8", "type": "module", "scripts": { "dev": "vite", diff --git a/src/components/pages/exercise/ExerciseCreationModal.jsx b/src/components/pages/exercise/ExerciseCreationModal.jsx index c753123..4533756 100644 --- a/src/components/pages/exercise/ExerciseCreationModal.jsx +++ b/src/components/pages/exercise/ExerciseCreationModal.jsx @@ -19,9 +19,9 @@ import { useNavigate } from 'react-router-dom'; import * as backendUrl from 'services/backendUrl'; import styled from 'styled-components'; -import { equipmentList } from 'data/mockEquipments'; import { metricsList } from 'data/mockMetrics'; import { parametersList } from 'data/mockParameters'; +import { useImmer } from 'use-immer'; import { displaySnackbar } from 'utils/snackbar'; const ITEM_HEIGHT = 48; @@ -45,6 +45,7 @@ export default function ExerciseCreationModal({ isOpenModal, setIsOpenModal }) { const navigate = useNavigate(); const axiosPrivate = useAxiosPrivate(); const [open, setOpen] = useState(false); + const [equipmentList, setEquipmentList] = useImmer([]); const [exerciseName, setExerciseName] = useState(''); const [metricsMetaInfo, setMetricsMetaInfo] = useState([]); const [parametersMetaInfo, setParametersMetaInfo] = useState([]); @@ -55,6 +56,7 @@ export default function ExerciseCreationModal({ isOpenModal, setIsOpenModal }) { const defaultTimeoutMsec = 2500; const handleOpen = () => setOpen(true); + const handleClose = () => { setIsOpenModal(false); setOpen(false); @@ -67,6 +69,17 @@ export default function ExerciseCreationModal({ isOpenModal, setIsOpenModal }) { if (isOpenModal) { handleOpen(); } + if (equipmentList.length === 0) { + axiosPrivate + .get(`equipments`) + .then((response) => { + console.log(response); + setEquipmentList(response.data); + }) + .catch((error) => { + console.error(error); + }); + } }, [isOpenModal]); const handleClickOnButton = (event) => { @@ -97,7 +110,11 @@ export default function ExerciseCreationModal({ isOpenModal, setIsOpenModal }) { name: exerciseName, description: description, media: mediaLinks, - equipments: selectedEquipments, + equipments: selectedEquipments.map((equipment) => { + return { + id: equipment.id + }; + }), metrics_template: selectedMetrics, parameters_template: selectedParameters }) -- GitLab