fix: load image fix setLoading function
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
import { browser } from "$app/environment";
|
||||
import type { ImageCropResult } from "../lib/types/panel";
|
||||
import { ImageService } from "../lib/services/imageService";
|
||||
import { uiStore } from "../stores/uiStore";
|
||||
import { uiStore, setLoading } from "../stores/uiStore";
|
||||
|
||||
let Cropper: any = $state(undefined);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
Cropper = cropperModule.default;
|
||||
|
||||
// Импортируем стили только на клиенте
|
||||
await import("cropperjs/dist/cropper.css");
|
||||
|
||||
|
||||
// Инициализируем cropper после загрузки
|
||||
initializeCropper();
|
||||
@@ -70,7 +70,7 @@
|
||||
try {
|
||||
isProcessing = true;
|
||||
errorMessage = null;
|
||||
uiStore.setLoading(true);
|
||||
setLoading(true);
|
||||
|
||||
const canvas = cropper.getCroppedCanvas({
|
||||
width: 320,
|
||||
@@ -96,7 +96,7 @@
|
||||
console.error("Crop error:", error);
|
||||
} finally {
|
||||
isProcessing = false;
|
||||
uiStore.setLoading(false);
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onMount } from "svelte";
|
||||
import { uiStore } from "../stores/uiStore";
|
||||
import { uiStore, setLoading, clearError, setCurrentStep } from "../stores/uiStore";
|
||||
import { panelStore } from "../stores/panelStore";
|
||||
import { ImageService } from "../lib/services/imageService";
|
||||
import { handleError } from "../lib/utils/errorHandler";
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
async function handleFileUpload(file: File) {
|
||||
try {
|
||||
uiStore.setLoading(true);
|
||||
setLoading(true);
|
||||
uiStore.clearError();
|
||||
|
||||
const result: ImageUploadResult = await imageService.handleFileUpload(file);
|
||||
@@ -81,7 +81,7 @@
|
||||
} catch (error) {
|
||||
errorMessage = handleError(error);
|
||||
} finally {
|
||||
uiStore.update((state) => ({ ...state, isLoading: false }));
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
e.preventDefault();
|
||||
|
||||
try {
|
||||
uiStore.setLoading(true);
|
||||
setLoading(true);
|
||||
uiStore.clearError();
|
||||
|
||||
const result: ImageUploadResult = await imageService.handlePasteUpload(e);
|
||||
@@ -103,7 +103,7 @@
|
||||
} catch (error) {
|
||||
errorMessage = handleError(error);
|
||||
} finally {
|
||||
uiStore.update((state) => ({ ...state, isLoading: false }));
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,14 +113,14 @@
|
||||
if (!urlInput.value.trim()) return;
|
||||
|
||||
try {
|
||||
uiStore.update((state) => ({ ...state, isLoading: true }));
|
||||
uiStore.update((state) => ({ ...state, error: null }));
|
||||
setLoading(true);
|
||||
uiStore.clearError();
|
||||
|
||||
const result: ImageUploadResult = await imageService.handleUrlUpload(urlInput.value.trim());
|
||||
|
||||
if (result.success && result.image) {
|
||||
uploadedImage = result.image;
|
||||
uiStore.update((state) => ({ ...state, currentStep: "crop" }));
|
||||
uiStore.setCurrentStep("crop");
|
||||
showUrlInput = false;
|
||||
} else {
|
||||
errorMessage = result.error || "Ошибка загрузки изображения";
|
||||
@@ -128,7 +128,7 @@
|
||||
} catch (error) {
|
||||
errorMessage = handleError(error);
|
||||
} finally {
|
||||
uiStore.update((state) => ({ ...state, isLoading: false }));
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
uploadedImage = null;
|
||||
errorMessage = null;
|
||||
showUrlInput = false;
|
||||
uiStore.update((state) => ({ ...state, currentStep: "upload" }));
|
||||
uiStore.setCurrentStep("upload");
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { onMount } from "svelte";
|
||||
import { browser } from "$app/environment";
|
||||
import { panelStore, createEmptyPanel } from "../stores/panelStore";
|
||||
import { uiStore } from "../stores/uiStore";
|
||||
import { uiStore, setLoading } from "../stores/uiStore";
|
||||
import { panelStorage } from "../lib/utils/panelStorage";
|
||||
import { exportService } from "../lib/services/exportService";
|
||||
import type { Panel } from "../lib/types/panel";
|
||||
@@ -103,7 +103,7 @@
|
||||
}
|
||||
|
||||
try {
|
||||
uiStore.setLoading(true);
|
||||
setLoading(true);
|
||||
const result = await exportService.exportPanel(currentPanel);
|
||||
|
||||
if (!result.success) {
|
||||
@@ -112,7 +112,7 @@
|
||||
} catch (error) {
|
||||
errorMessage = error instanceof Error ? error.message : "Ошибка экспорта панели";
|
||||
} finally {
|
||||
uiStore.setLoading(false);
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user