From 5dade9fa27463c781a046acd171a3bcf20e95e63 Mon Sep 17 00:00:00 2001 From: semantics Date: Thu, 14 Dec 2023 13:22:53 +0500 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=B0=D1=80=D1=82=D1=8B,=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8F,=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD=D1=8F=20v1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 7 +++++++ frontend/package.json | 1 + .../mapMenu/SuperUserMap/SuperUserMap.tsx | 3 ++- frontend/src/store/levelStore.ts | 17 +++++++++++++---- frontend/src/store/moduleMenuStore.ts | 2 +- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index db31455..ef0fe56 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -29,6 +29,7 @@ "@types/progressbar.js": "^1.1.7", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", + "@types/uuid": "^9.0.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-react-swc": "^3.3.2", @@ -962,6 +963,12 @@ "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==", "dev": true }, + "node_modules/@types/uuid": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", + "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 7337f0c..fe03208 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "@types/progressbar.js": "^1.1.7", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", + "@types/uuid": "^9.0.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-react-swc": "^3.3.2", diff --git a/frontend/src/components/mapMenu/SuperUserMap/SuperUserMap.tsx b/frontend/src/components/mapMenu/SuperUserMap/SuperUserMap.tsx index e9cc92b..f541caf 100644 --- a/frontend/src/components/mapMenu/SuperUserMap/SuperUserMap.tsx +++ b/frontend/src/components/mapMenu/SuperUserMap/SuperUserMap.tsx @@ -32,7 +32,8 @@ const SuperUserMap: React.FC = observer(() => { mapMenuStore.selectMap(map).then(() => mapMenuStore.changeCurrentMapIndex(indexMap)) }, []) - const handleOnClickOptionModule = useCallback((module: IModuleType, index) => { + const handleOnClickOptionModule = useCallback((module: IModuleType, index: number) => { + console.log(module) moduleMenuStore.selectModule(module).then(() => moduleMenuStore.changeCurrentModuleIndex(index)) }, []) diff --git a/frontend/src/store/levelStore.ts b/frontend/src/store/levelStore.ts index 47d7551..2565cd0 100644 --- a/frontend/src/store/levelStore.ts +++ b/frontend/src/store/levelStore.ts @@ -1,10 +1,15 @@ import {makeAutoObservable} from "mobx"; + import axios from "axios"; + import mapMenuStore from "./mapMenuStore.ts"; -import {IModuleType} from "../types/ModuleType.ts"; +import moduleMenuStore from "./moduleMenuStore.ts"; + +import {ILevelType} from "../types/LevelType.ts"; class levelStore { chosenTaskIndex: number = 1 + availableLevels: ILevelType[] = [] constructor() { makeAutoObservable(this) @@ -18,11 +23,15 @@ class levelStore { this.chosenTaskIndex = 1 } + setAvailableLevels(levels: ILevelType[]) { + this.availableLevels = levels + } + async fetchLevels() { - await axios.get("http://localhost:8000/maps/" + mapMenuStore.currentMapId + "/modules/") + await axios.get("http://localhost:8000/maps/" + mapMenuStore.currentMapId + "/modules/" + moduleMenuStore.currentModuleId + "/levels") .then((response) => { - this.setAvailableModules([]) - this.setAvailableModules(response.data.filter((module: IModuleType) => module.map_id === mapMenuStore.currentMapId)) + this.setAvailableLevels([]) + this.setAvailableLevels(response.data) }) } } diff --git a/frontend/src/store/moduleMenuStore.ts b/frontend/src/store/moduleMenuStore.ts index 2934a8f..a6a555e 100644 --- a/frontend/src/store/moduleMenuStore.ts +++ b/frontend/src/store/moduleMenuStore.ts @@ -62,7 +62,7 @@ class ModuleMenuStore { async deleteModule(id?: string) { console.log(id) - axios.delete("http://localhost:8000/modules/" + id).catch(() => alert("Выберите модуль")) + axios.delete("http://localhost:8000/maps/" + mapMenuStore.currentMapId + "/modules/" + id).catch(() => alert("Выберите модуль")) } updateModuleById(mapId: string, id: string, title?: string, previousModuleId?: string, nextModuleId?: string, levels?: string[]) {