Merge branch 'qcast-pub' into dev

This commit is contained in:
김민식 2025-02-14 16:19:51 +09:00
commit ea7c63f853
3 changed files with 25 additions and 13 deletions

View File

@ -12,7 +12,7 @@ const PlacementSurface = forwardRef((props, refs) => {
const num = ['①', '②', '③', '④', '⑤']
const getImageUrl = () => {
if (xInversion && !yInversion) {
return `/static/images/canvas/shape/re_${(rotate - 2) % 4 !== 0 ? Math.abs((rotate - 2) % 4) * 90 + 'deg' : 'normal'}/plane_tab${id < 10 ? '0' + id : id}.svg`
return `/static/images/canvas/shape/re_${rotate % 4 !== 0 ? Math.abs(rotate % 4) * 90 + 'deg' : 'normal'}/plane_tab${id < 10 ? '0' + id : id}.svg`
}
if (!xInversion && yInversion) {
@ -20,7 +20,7 @@ const PlacementSurface = forwardRef((props, refs) => {
}
if (xInversion && yInversion) {
return `/static/images/canvas/shape/${(rotate + 2) % 4 !== 0 ? Math.abs((rotate + 2) % 4) * 90 + 'deg' : 'normal'}/plane_tab${id < 10 ? '0' + id : id}.svg`
return `/static/images/canvas/shape/${rotate % 4 !== 0 ? Math.abs(rotate % 4) * 90 + 'deg' : 'normal'}/plane_tab${id < 10 ? '0' + id : id}.svg`
}
if (rotate < 0) {

View File

@ -224,7 +224,7 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } })
}
const getScale = () => {
return `scale(${yInversion ? -1 : 1}, ${xInversion ? -1 : 1})`
return `scale(${xInversion !== yInversion ? -1 : 1}, 1)`
}
const getRotate = () => {
@ -239,6 +239,19 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } })
applySurfaceShape(surfaceRefs, selectedType, id)
}
const handleRotate = () => {}
const handleInversion = (type) => {
if (type === 'x') {
setXInversion(!xInversion)
setRotate(xInversion ? rotate + 2 : rotate - 2)
// setXInversion(!xInversion)
} else if (type === 'y') {
// setRotate(rotate + 2)
setYInversion(!yInversion)
}
}
useEffect(() => {
setSelectedType(types[0])
}, [])
@ -282,8 +295,10 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } })
</div>
<div className="shape-library">
<button className="library-btn ico01" onClick={() => setRotate((yInversion !== xInversion ? rotate - 1 : rotate + 1) % 4)}></button>
<button className="library-btn ico02" onClick={() => setYInversion(!yInversion)}></button>
<button className="library-btn ico03" onClick={() => setXInversion(!xInversion)}></button>
{/* <button className="library-btn ico02" onClick={() => setYInversion(!yInversion)}></button>
<button className="library-btn ico03" onClick={() => setXInversion(!xInversion)}></button> */}
<button className="library-btn ico02" onClick={() => handleInversion('y')}></button>
<button className="library-btn ico03" onClick={() => handleInversion('x')}></button>
</div>
</div>
<div className="plane-detail-wrap">

View File

@ -87,10 +87,7 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
canvas?.remove(...canvas?.getObjects().filter((obj) => obj.name === MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP))
points = getSurfaceShape(surfaceId, pointer, { length1, length2, length3, length4, length5 })
console.log('surfaceRefs.xInversion', surfaceRefs.xInversion)
console.log('surfaceRefs.yInversion', surfaceRefs.yInversion)
console.log('surfaceRefs.rotate', surfaceRefs.rotate)
const { xInversion, yInversion, rotate } = surfaceRefs
const options = {
fill: 'transparent',
stroke: 'black',
@ -104,9 +101,9 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
lockScalingX: true, // X 축 크기 조정 잠금
lockScalingY: true, // Y 축 크기 조정 잠금
name: MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP,
flipX: surfaceRefs.yInversion,
flipY: surfaceRefs.xInversion,
angle: Math.abs(surfaceRefs.rotate),
flipX: xInversion !== yInversion ? yInversion : false,
flipY: xInversion !== yInversion ? xInversion : false,
angle: xInversion && yInversion ? Math.abs((rotate + 180) % 360) : Math.abs(rotate),
originX: 'center',
originY: 'center',
pitch: globalPitch,
@ -201,7 +198,7 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
swalFire({ text: getMessage('common.canvas.validate.size'), icon: 'error' })
check = false
}
if (surfaceId === 3 && length3 > length1) {
if (surfaceId === 3 && length3 >= length1) {
swalFire({ text: getMessage('surface.shape.validate.size.1to3'), icon: 'error' })
check = false
}