import WithDraggable from '@/components/common/draggable/WithDraggable' import { usePopup } from '@/hooks/usePopup' import { v4 as uuidv4 } from 'uuid' import ColorPickerModal from '@/components/common/color-picker/ColorPickerModal' import { useEffect, useState } from 'react' import FontSetting from '@/components/common/font/FontSetting' import QSelectBox from '@/components/common/select/QSelectBox' import { useMessage } from '@/hooks/useMessage' import { dimensionLineSettingsState } from '@/store/commonUtilsAtom' import { useRecoilState } from 'recoil' /* color: 치수선 색 fontColor: 글꼴 색 fontSize: 치수선 치수 색 pixel: 치수선 두깨 */ export default function DimensionLineSetting(props) { const { color, setColor, font, setFont, fontColor, setFontColor, fontSize, setFontSize, pixel, setPixel, isShow, setIsShow, id, pos = { x: 985, y: 180 }, } = props const { addPopup, closePopup, closePopups } = usePopup() const pixels = Array.from({ length: 5 }).map((_, index) => { return { name: index + 1, value: index + 1 } }) const [originColor, setOriginColor] = useState(color) const [originFont, setOriginFont] = useState(font) const [originFontColor, setOriginFontColor] = useState(fontColor) const [originFontSize, setOriginFontSize] = useState(fontSize) const [originPixel, setOriginPixel] = useState(pixel) const [fontModalId, setFontModalId] = useState(uuidv4()) const [colorModalId, setColorModalId] = useState(uuidv4()) const [showColorPickerModal, setShowColorPickerModal] = useState(false) const [showFontModal, setShowFontModal] = useState(false) const { getMessage } = useMessage() const [dimensionLineSettings, setDimensionLineSettings] = useRecoilState(dimensionLineSettingsState) useEffect(() => { console.log(2, isShow) if (pixel) { setOriginPixel(pixels?.filter((data) => data.value === pixel)[0]) } setIsShow(true) }, []) useEffect(() => { console.log(1, isShow) if (!isShow) { closePopups([fontModalId, colorModalId]) } }, [isShow]) const colorPickerProps = { isShow: showColorPickerModal, setIsShow: setShowColorPickerModal, color: originColor, setColor: setOriginColor, id: colorModalId, pos: { x: 495, y: 180, }, } const fontProps = { isShow: showFontModal, setIsShow: setShowFontModal, color: originColor, setColor: setOriginColor, font: originFont, setFont: setOriginFont, fontColor: 'black', setFontColor: setOriginFontColor, fontSize: originFontSize, setFontSize: setOriginFontSize, id: fontModalId, pos: { x: 455, y: 180, }, } const popupHandle = (type) => { switch (type) { case 'color': addPopup(colorModalId, 3, ) break case 'font': addPopup(fontModalId, 3, ) break } } return (

{getMessage('modal.canvas.setting.font.plan.absorption.dimension.line')}

{getMessage('modal.canvas.setting.font.plan.absorption.dimension.line.font.size')}
setOriginPixel(e)} />
pixel
{getMessage('modal.canvas.setting.font.plan.absorption.dimension.line.color')}
{getMessage('modal.canvas.setting.font.plan.absorption.dimension.display')}
9,999
) }