From 64dfc2c441d8721acb06bcc144fb44cf9d0de8f0 Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Wed, 4 Feb 2026 16:50:22 +0500 Subject: [PATCH] fix: resolve errors and css warnings --- package-lock.json | 8 +++++ package.json | 1 + src/components/panel/PanelPreview.svelte | 46 ------------------------ src/components/text/TextManager.svelte | 32 ----------------- src/lib/services/exportService.ts | 8 +++-- 5 files changed, 15 insertions(+), 80 deletions(-) diff --git a/package-lock.json b/package-lock.json index 618648c..e970436 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.50.1", "@sveltejs/vite-plugin-svelte": "^6.2.4", + "@types/file-saver": "^2.0.7", "@types/node": "^25.1.0", "svelte": "^5.48.2", "svelte-check": "^4.3.5", @@ -1129,6 +1130,13 @@ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT" }, + "node_modules/@types/file-saver": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "25.1.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz", diff --git a/package.json b/package.json index 2d48e89..6b7c553 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.50.1", "@sveltejs/vite-plugin-svelte": "^6.2.4", + "@types/file-saver": "^2.0.7", "@types/node": "^25.1.0", "svelte": "^5.48.2", "svelte-check": "^4.3.5", diff --git a/src/components/panel/PanelPreview.svelte b/src/components/panel/PanelPreview.svelte index 6722365..ba9651f 100644 --- a/src/components/panel/PanelPreview.svelte +++ b/src/components/panel/PanelPreview.svelte @@ -116,32 +116,6 @@ font-size: 1.1rem; } - .panel-actions { - display: flex; - gap: 0.5rem; - align-items: center; - } - - .edit-controls { - display: flex; - gap: 0.5rem; - align-items: center; - flex: 1; - } - - .edit-input { - flex: 1; - padding: 0.5rem; - border: 1px solid #ddd; - border-radius: 4px; - font-size: 1rem; - } - - .edit-input:focus { - outline: none; - border-color: #007bff; - } - .preview-sections { display: flex; flex-direction: column; @@ -154,13 +128,6 @@ gap: 0.5rem; } - .preview-section h3 { - margin: 0; - color: #333; - font-size: 1rem; - font-weight: 500; - } - .canvas-container { display: flex; justify-content: center; @@ -168,17 +135,4 @@ background: #f5f5f5; border-radius: 8px; } - - .empty-state { - text-align: center; - padding: 1.5rem; - color: #666; - background: #f9f9f9; - border-radius: 6px; - } - - .empty-state p { - margin: 0; - font-size: 0.95rem; - } diff --git a/src/components/text/TextManager.svelte b/src/components/text/TextManager.svelte index f4ead6a..b354327 100644 --- a/src/components/text/TextManager.svelte +++ b/src/components/text/TextManager.svelte @@ -378,12 +378,6 @@ font-size: 0.9rem; } - .text-list { - display: flex; - flex-direction: column; - gap: 0.5rem; - } - .text-item { display: flex; justify-content: space-between; @@ -400,19 +394,6 @@ background: #f0f8ff; } - .text-content { - font-size: 0.95rem; - color: #333; - flex: 1; - } - - .text-controls { - padding: 1rem; - display: flex; - flex-direction: column; - gap: 1rem; - } - .control-group { display: flex; flex-direction: column; @@ -447,17 +428,4 @@ font-weight: 500; color: #333; } - - .empty-state { - text-align: center; - padding: 1.5rem; - color: #666; - background: #f9f9f9; - border-radius: 6px; - } - - .empty-state p { - margin: 0; - font-size: 0.95rem; - } diff --git a/src/lib/services/exportService.ts b/src/lib/services/exportService.ts index 2278151..be75830 100644 --- a/src/lib/services/exportService.ts +++ b/src/lib/services/exportService.ts @@ -1,4 +1,3 @@ - import pkg from "file-saver"; const { saveAs } = pkg; import type { Panel } from "../types/panel"; @@ -44,7 +43,12 @@ export class ExportService { ctx.fillStyle = textItem.color; ctx.textAlign = "center"; ctx.textBaseline = "middle"; - ctx.fillText(textItem.text, textItem.x, textItem.y); + + // Calculate position based on existing system + const x = 160; // Center of 320px panel + const y = panel.height / 2 + textItem.verticalOffset; + + ctx.fillText(textItem.text, x, y); }); // Конвертируем в blob и сохраняем