diff --git a/src/components/PreviewStep.tsx b/src/components/PreviewStep.tsx index ce131f4..9bf8975 100644 --- a/src/components/PreviewStep.tsx +++ b/src/components/PreviewStep.tsx @@ -5,7 +5,7 @@ import * as THREE from 'three'; import JSZip from 'jszip'; import { AppConfig, GeneratedPart, LayoutSplits } from '../types'; import { createBinGeometry, generateSTL, exportSTL } from '../services/geometryGenerator'; -import { Download, Package, Info, Loader2, Share2, Check, Ruler, Copy } from 'lucide-react'; +import { Download, Package, Info, Loader2, Share2, Check, Ruler } from 'lucide-react'; import { generateShareUrl } from '../utils/share'; // --- DrawerFrame (Каркас) --- @@ -106,7 +106,7 @@ export const PreviewStep: React.FC = ({ parts, config, splits }) => { let success = false; try { - // 1. Пробуем современный API (работает только на HTTPS или localhost) + // 1. Пробуем современный API if (navigator.clipboard && navigator.clipboard.writeText) { await navigator.clipboard.writeText(url); success = true; @@ -114,23 +114,18 @@ export const PreviewStep: React.FC = ({ parts, config, splits }) => { throw new Error('Clipboard API unavailable'); } } catch (err) { - // 2. Если не вышло (например, HTTP), используем Fallback метод + // 2. Fallback для HTTP try { const textArea = document.createElement("textarea"); textArea.value = url; - - // Делаем элемент невидимым, но частью DOM textArea.style.position = "fixed"; textArea.style.left = "-9999px"; textArea.style.top = "0"; document.body.appendChild(textArea); - textArea.focus(); textArea.select(); - const result = document.execCommand('copy'); document.body.removeChild(textArea); - if (result) success = true; } catch (e) { console.error("Copy failed", e); @@ -141,8 +136,7 @@ export const PreviewStep: React.FC = ({ parts, config, splits }) => { setShareUrlCopied(true); setTimeout(() => setShareUrlCopied(false), 3000); } else { - // 3. Если совсем ничего не помогло, показываем промпт - prompt("Не удалось скопировать автоматически. Скопируйте ссылку вручную:", url); + prompt("Скопируйте ссылку вручную:", url); } }; @@ -156,15 +150,17 @@ export const PreviewStep: React.FC = ({ parts, config, splits }) => { Размеры ящика: + + {/* ЗДЕСЬ ИЗМЕНЕНИЯ: Ш, Г, В */}
- W: {config.drawer.width} + Ш: {config.drawer.width}
- D: {config.drawer.depth} + Г: {config.drawer.depth}
- H: {config.drawer.height} + В: {config.drawer.height}
мм