share #1
@@ -140,32 +140,37 @@ export const PreviewStep: React.FC<Props> = ({ parts, config, splits }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col h-full">
|
<div className="flex flex-col h-full">
|
||||||
{/* Верхняя панель */}
|
{/* Верхняя панель: Размеры + Поделиться */}
|
||||||
<div className="flex flex-col md:flex-row justify-between items-center bg-slate-800/80 p-4 rounded-xl border border-slate-700 mb-4 gap-4 backdrop-blur-sm shadow-lg">
|
<div className="flex flex-col xl:flex-row justify-between items-center bg-slate-800/80 p-4 rounded-xl border border-slate-700 mb-4 gap-4 backdrop-blur-sm shadow-lg">
|
||||||
|
|
||||||
<div className="flex items-center gap-6">
|
<div className="flex flex-wrap items-center gap-6 justify-center md:justify-start">
|
||||||
<div className="flex items-center gap-2 text-gray-300">
|
<div className="hidden md:flex items-center gap-2 text-gray-300 mr-2">
|
||||||
<Ruler className="text-primary" size={20} />
|
<Ruler className="text-primary" size={20} />
|
||||||
<span className="font-medium text-sm uppercase tracking-wide opacity-70">Размеры ящика:</span>
|
<span className="font-medium text-sm uppercase tracking-wide opacity-70">Размеры ящика:</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex gap-4 font-mono text-lg font-bold text-white">
|
|
||||||
<div className="flex items-center gap-1">
|
{/* --- ОБНОВЛЕННЫЙ БЛОК РАЗМЕРОВ --- */}
|
||||||
<span className="text-slate-500 text-xs">Ш:</span> {config.drawer.width}
|
<div className="flex flex-wrap gap-6 font-mono text-white items-baseline">
|
||||||
|
<div className="flex items-baseline gap-2">
|
||||||
|
<span className="text-slate-500 text-sm font-bold uppercase tracking-wider">Ширина:</span>
|
||||||
|
<span className="text-2xl font-bold text-white drop-shadow-sm">{config.drawer.width}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1">
|
<div className="flex items-baseline gap-2">
|
||||||
<span className="text-slate-500 text-xs">Г:</span> {config.drawer.depth}
|
<span className="text-slate-500 text-sm font-bold uppercase tracking-wider">Глубина:</span>
|
||||||
|
<span className="text-2xl font-bold text-white drop-shadow-sm">{config.drawer.depth}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1">
|
<div className="flex items-baseline gap-2">
|
||||||
<span className="text-slate-500 text-xs">В:</span> {config.drawer.height}
|
<span className="text-slate-500 text-sm font-bold uppercase tracking-wider">Высота:</span>
|
||||||
|
<span className="text-2xl font-bold text-white drop-shadow-sm">{config.drawer.height}</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xs text-slate-500 self-end mb-1">мм</span>
|
<span className="text-sm text-slate-500 font-bold self-baseline">мм</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
onClick={handleShare}
|
onClick={handleShare}
|
||||||
className={`
|
className={`
|
||||||
flex items-center gap-2 px-6 py-2 rounded-lg text-sm font-bold transition-all border shadow-md active:scale-95
|
flex items-center gap-2 px-6 py-3 rounded-lg text-sm font-bold transition-all border shadow-md active:scale-95 shrink-0
|
||||||
${shareUrlCopied
|
${shareUrlCopied
|
||||||
? 'bg-green-600 border-green-500 text-white shadow-green-900/20'
|
? 'bg-green-600 border-green-500 text-white shadow-green-900/20'
|
||||||
: 'bg-blue-600 hover:bg-blue-500 border-blue-500 text-white shadow-blue-900/20'
|
: 'bg-blue-600 hover:bg-blue-500 border-blue-500 text-white shadow-blue-900/20'
|
||||||
@@ -173,7 +178,7 @@ export const PreviewStep: React.FC<Props> = ({ parts, config, splits }) => {
|
|||||||
`}
|
`}
|
||||||
>
|
>
|
||||||
{shareUrlCopied ? <Check size={18} /> : <Share2 size={18} />}
|
{shareUrlCopied ? <Check size={18} /> : <Share2 size={18} />}
|
||||||
{shareUrlCopied ? 'СКОПИРОВАНО!' : 'Поделиться проектом'}
|
{shareUrlCopied ? 'СКОПИРОВАНО!' : 'Поделиться'}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -197,8 +202,8 @@ export const PreviewStep: React.FC<Props> = ({ parts, config, splits }) => {
|
|||||||
camera={{
|
camera={{
|
||||||
position: [config.drawer.width * 1.5, config.drawer.height * 3, config.drawer.depth * 1.5],
|
position: [config.drawer.width * 1.5, config.drawer.height * 3, config.drawer.depth * 1.5],
|
||||||
fov: 45,
|
fov: 45,
|
||||||
near: 1, // Исправлено: не режем вблизи
|
near: 1,
|
||||||
far: 20000 // Исправлено: видим очень далеко (для больших размеров в мм)
|
far: 20000
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Suspense fallback={null}>
|
<Suspense fallback={null}>
|
||||||
|
|||||||
Reference in New Issue
Block a user