import { forwardRef, useContext, useEffect, useImperativeHandle, useState } from 'react' import { useMessage } from '@/hooks/useMessage' import { useOrientation } from '@/hooks/module/useOrientation' import { getDegreeInOrientation } from '@/util/canvas-util' import { numberCheck } from '@/util/common-utils' import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' export const Orientation = forwardRef(({ tabNum }, ref) => { const { getMessage } = useMessage() const { trigger: canvasPopupStatusTrigger } = useCanvasPopupStatusController(1) const { nextStep, compasDeg, setCompasDeg } = useOrientation() const [hasAnglePassivity, setHasAnglePassivity] = useState(false) useImperativeHandle(ref, () => ({ handleNextStep, })) const handleNextStep = () => { nextStep() canvasPopupStatusTrigger(compasDeg) } useEffect(() => { checkDegree(compasDeg) }, [compasDeg]) const checkDegree = (e) => { if (e === '-0' || e === '-') { setCompasDeg('-') return } if (e === '0-') { setCompasDeg('-0') return } if (Number(e) >= -180 && Number(e) <= 180) { if (numberCheck(Number(e))) { setCompasDeg(Number(e)) } } else { setCompasDeg(compasDeg) } } return ( <>
{getMessage('modal.module.basic.setting.orientation.setting.info')}
{Array.from({ length: 180 / 15 }).map((dot, index) => (
= 172 && index === 0 && compasDeg <= 180) || (compasDeg === -180 && index === 0) ? 'act' : ''}`} onClick={() => { if (index === 0) { setCompasDeg(180) return } setCompasDeg(-1 * (-15 * index + 180)) }} > {index === 0 && 180°} {index === 6 && -90°}
))} {Array.from({ length: 180 / 15 }).map((dot, index) => (
setCompasDeg(15 * index)} > {index === 0 && } {index === 6 && 90°}
))}
setHasAnglePassivity(!hasAnglePassivity)} />
checkDegree(e.target.value) // setCompasDeg( // e.target.value === '-' || (e.target.value !== '' && parseInt(e.target.value) <= 180 && parseInt(e.target.value) >= -180) // ? e.target.value // : 0, // ) } />
°
) })