diff --git a/.env b/.env
index ae266b0..623c47c 100644
--- a/.env
+++ b/.env
@@ -1,3 +1,3 @@
-VITE_API_URL='https://wn.krbl.ru'
-VITE_REACT_APP ='https://wn.krbl.ru/'
-VITE_KRBL_MEDIA='https://wn.krbl.ru/media/'
\ No newline at end of file
+VITE_API_URL='https://content.wn.polygon.unprism.ru/'
+VITE_REACT_APP ='https://content.wn.polygon.unprism.ru/'
+VITE_KRBL_MEDIA='https://content.wn.polygon.unprism.ru/media/'
\ No newline at end of file
diff --git a/package.json b/package.json
index a8aa595..d221952 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,8 @@
"react-toastify": "^11.0.5",
"rehype-raw": "^7.0.0",
"tailwindcss": "^4.1.8",
- "three": "^0.177.0"
+ "three": "^0.177.0",
+ "uuid": "^13.0.0"
},
"devDependencies": {
"@eslint/js": "^9.25.0",
diff --git a/src/pages/Snapshot/SnapshotCreatePage/index.tsx b/src/pages/Snapshot/SnapshotCreatePage/index.tsx
index f6a134e..c7f9be3 100644
--- a/src/pages/Snapshot/SnapshotCreatePage/index.tsx
+++ b/src/pages/Snapshot/SnapshotCreatePage/index.tsx
@@ -5,9 +5,10 @@ import { ArrowLeft, Loader2, Save } from "lucide-react";
import { useState } from "react";
import { useNavigate } from "react-router-dom";
import { toast } from "react-toastify";
+import { runInAction } from "mobx";
export const SnapshotCreatePage = observer(() => {
- const { createSnapshot } = snapshotStore;
+ const { createSnapshot, getSnapshotStatus, snapshotStatus } = snapshotStore;
const navigate = useNavigate();
const [name, setName] = useState("");
const [isLoading, setIsLoading] = useState(false);
@@ -42,10 +43,24 @@ export const SnapshotCreatePage = observer(() => {
onClick={async () => {
try {
setIsLoading(true);
- await createSnapshot(name);
- setIsLoading(false);
- toast.success("Снапшот успешно создан");
- navigate(-1);
+ const id = await createSnapshot(name);
+
+ await getSnapshotStatus(id);
+
+ while (snapshotStore.snapshotStatus?.Status != "done") {
+ await new Promise((resolve) => setTimeout(resolve, 1000));
+ await getSnapshotStatus(id);
+ }
+
+ if (snapshotStore.snapshotStatus?.Status === "done") {
+ toast.success("Снапшот успешно создан");
+
+ runInAction(() => {
+ snapshotStore.snapshotStatus = null;
+ });
+
+ navigate(-1);
+ }
} catch (error) {
console.error(error);
toast.error("Ошибка при создании снапшота");
@@ -56,7 +71,15 @@ export const SnapshotCreatePage = observer(() => {
disabled={isLoading || !name.trim()}
>
{isLoading ? (
-