From b6745a196df94f3da61658582138f23ca2780637 Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Sun, 31 May 2026 23:56:14 +0200 Subject: [PATCH] feat(ui): simplify orientation step replacing degree rotation array by basic transforms --- .../dental-client/public/version.txt | 2 +- .../src/pages/ImageDetailsPage.jsx | 95 +++++++------------ 2 files changed, 37 insertions(+), 60 deletions(-) diff --git a/dental-server/dental-client/public/version.txt b/dental-server/dental-client/public/version.txt index f1cd7fa..c594452 100644 --- a/dental-server/dental-client/public/version.txt +++ b/dental-server/dental-client/public/version.txt @@ -1 +1 @@ -2.1.49 +2.1.51 diff --git a/dental-server/dental-client/src/pages/ImageDetailsPage.jsx b/dental-server/dental-client/src/pages/ImageDetailsPage.jsx index f723076..dcb0fa0 100644 --- a/dental-server/dental-client/src/pages/ImageDetailsPage.jsx +++ b/dental-server/dental-client/src/pages/ImageDetailsPage.jsx @@ -193,17 +193,17 @@ export default function ImageDetailsPage() { const cssTransform = (deg, flipH, flipV) => `scaleX(${flipH ? -1 : 1}) scaleY(${flipV ? -1 : 1}) rotate(${deg}deg)`; - const choosePages = [ - { flipH: false, flipV: false, label: 'Rotações' }, - { flipH: true, flipV: false, label: 'Espelhado ⇆' }, - { flipH: false, flipV: true, label: 'Espelhado ⇅' }, + const initialOptions = [ + { id: 'normal', deg: 0, flipH: false, flipV: false, label: '0°' }, + { id: 'fliph', deg: 0, flipH: true, flipV: false, label: 'Espelho ⇆' }, + { id: 'flipv', deg: 0, flipH: false, flipV: true, label: 'Espelho ⇅' }, + { id: 'rot90', deg: 90, flipH: false, flipV: false, label: 'Rotacionar +90°' }, ]; - const pickOrientation = (deg) => { - const pg = choosePages[choosePage]; - setBaseRotation(deg); - setBaseFlipH(pg.flipH); - setBaseFlipV(pg.flipV); + const pickOrientation = (opt) => { + setBaseRotation(opt.deg); + setBaseFlipH(opt.flipH); + setBaseFlipV(opt.flipV); setFineTuneAngle(0); setStep('finetune'); }; @@ -282,9 +282,8 @@ export default function ImageDetailsPage() { }; // Gerencia opções (4 no total). No mobile exibe APENAS UMA GIGANTE por vez. - const allRotations = [0, 90, 180, 270]; const useOneCard = isMobile; - const currentRotations = useOneCard ? [allRotations[orientationSubpage]] : allRotations; + const currentOptions = useOneCard ? [initialOptions[orientationSubpage]] : initialOptions; return (
@@ -352,25 +351,6 @@ export default function ImageDetailsPage() { Escolha a melhor orientação inicial.

- {/* Controles Principais de Categoria (Rotações, Espelhos) */} -
- - - {choosePages[choosePage].label} ({choosePage + 1}/{choosePages.length}) - - -
- {/* Controles de Rotação (Mobile exibe 1 por vez) */} {useOneCard && (
@@ -387,36 +367,33 @@ export default function ImageDetailsPage() { )}
- {currentRotations.map((deg) => { - const pg = choosePages[choosePage]; - return ( -
-
- {`${deg}°`} -
-
- - {deg}°{pg.flipH ? ' ⇆' : pg.flipV ? ' ⇅' : ''} - - -
+ {currentOptions.map((opt) => ( +
+
+ {opt.label}
- ); - })} +
+ + {opt.label} + + +
+
+ ))}
)}