diff --git a/src/components/common/font/FontSetting.jsx b/src/components/common/font/FontSetting.jsx index 60181021..54b22b3b 100644 --- a/src/components/common/font/FontSetting.jsx +++ b/src/components/common/font/FontSetting.jsx @@ -47,7 +47,7 @@ const fontColors = [ ] export default function FontSetting(props) { const contextPopupPosition = useRecoilValue(contextPopupPositionState) - const { id, setIsShow, pos = contextPopupPosition, type } = props + const { id, setIsShow, pos = contextPopupPosition, type, isConfig = false } = props const { getMessage } = useMessage() const { closePopup } = usePopup() const [globalFont, setGlobalFont] = useRecoilState(globalFontAtom) @@ -83,7 +83,7 @@ export default function FontSetting(props) { className="modal-close" onClick={() => { if (setIsShow) setIsShow(false) - closePopup(id) + closePopup(id, isConfig) }} > 닫기 diff --git a/src/components/common/popupManager/PopupManager.jsx b/src/components/common/popupManager/PopupManager.jsx index aa4b6cae..f24a8526 100644 --- a/src/components/common/popupManager/PopupManager.jsx +++ b/src/components/common/popupManager/PopupManager.jsx @@ -5,5 +5,9 @@ import { Fragment } from 'react' export default function PopupManager() { const [popup, setPopup] = useRecoilState(popupState) - return popup.children?.map((child) => {child.component}) + + return [ + ...popup?.config.map((child) => {child.component}), + ...popup?.other.map((child) => {child.component}), + ] } diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index adcd34b3..22ac4131 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -129,7 +129,7 @@ export default function CanvasMenu(props) { const handlePopup = () => { const id = uuidv4() - addPopup(id, 0, ) + addPopup(id, 1, , true) } useEffect(() => { diff --git a/src/components/floor-plan/modal/setting01/GridOption.jsx b/src/components/floor-plan/modal/setting01/GridOption.jsx index 5edb2167..8ef1095f 100644 --- a/src/components/floor-plan/modal/setting01/GridOption.jsx +++ b/src/components/floor-plan/modal/setting01/GridOption.jsx @@ -78,14 +78,14 @@ export default function GridOption() { // 점 선 그리드 설정 모달 setShowDotLineGridModal(selectedOption.selected) - addPopup(dotLineId, 2, ) + addPopup(dotLineId, 2, , true) } else if (selectedOption.id === 3) { // 흡착점 모드 setAdsorptionPointAddMode(selectedOption.selected) } else if (selectedOption.id === 4) { // 그리드 색 설정 모달 setShowColorPickerModal(selectedOption.selected) - addPopup(colorId, 2, ) + addPopup(colorId, 2, , true) } setGridOptions(newGridOptions) diff --git a/src/components/floor-plan/modal/setting01/SecondOption.jsx b/src/components/floor-plan/modal/setting01/SecondOption.jsx index c09dfdc1..385c7bef 100644 --- a/src/components/floor-plan/modal/setting01/SecondOption.jsx +++ b/src/components/floor-plan/modal/setting01/SecondOption.jsx @@ -1,4 +1,4 @@ -import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil' +import { useRecoilValue } from 'recoil' import { useMessage } from '@/hooks/useMessage' import React, { useEffect, useState } from 'react' import DimensionLineSetting from '@/components/floor-plan/modal/setting01/dimensionLine/DimensionLineSetting' @@ -67,6 +67,7 @@ export default function SecondOption() { id: fontId, pos: { x: 745, y: 180 }, setIsShow: setShowFontSettingModal, + isConfig: true, } const planSizeProps = { id: planSizeId, @@ -86,36 +87,41 @@ export default function SecondOption() { case 'font1': { //문자 글꼴변경 setShowFontSettingModal(true) + setShowDimensionLineSettingModal(false) fontProps.type = 'commonText' fontProps.id = fontId + 1 - addPopup(fontId + 1, 2, ) + addPopup(fontId + 1, 2, , true) break } case 'font2': { //흐름 방향 글꼴 변경 setShowFontSettingModal(true) + setShowDimensionLineSettingModal(false) fontProps.type = 'flowText' fontProps.id = fontId + 2 - addPopup(fontId + 2, 2, ) + addPopup(fontId + 2, 2, , true) break } case 'font3': { //치수 글꼴변경 setShowFontSettingModal(true) + + setShowDimensionLineSettingModal(false) fontProps.type = 'lengthText' fontProps.id = fontId + 3 - addPopup(fontId + 3, 2, ) + addPopup(fontId + 3, 2, , true) break } case 'font4': { //회로번호 글꼴변경 setShowFontSettingModal(true) + setShowDimensionLineSettingModal(false) fontProps.type = 'circuitNumberText' fontProps.id = fontId - addPopup(fontId, 2, ) + addPopup(fontId, 2, , true) break } @@ -123,7 +129,7 @@ export default function SecondOption() { //치수선 설정 if (!showDimensionLineSettingModal) { setShowDimensionLineSettingModal(true) - addPopup(dimensionId, 2, ) + addPopup(dimensionId, 2, , true) } else { setShowDimensionLineSettingModal(false) closePopup(dimensionId) @@ -134,7 +140,8 @@ export default function SecondOption() { case 'planSize': { //도면크기 설정 setShowPlanSizeSettingModal(true) - addPopup(planSizeId, 2, ) + setShowDimensionLineSettingModal(false) + addPopup(planSizeId, 2, , true) break } } diff --git a/src/components/floor-plan/modal/setting01/SettingModal01.jsx b/src/components/floor-plan/modal/setting01/SettingModal01.jsx index 8570555e..e1bef1f0 100644 --- a/src/components/floor-plan/modal/setting01/SettingModal01.jsx +++ b/src/components/floor-plan/modal/setting01/SettingModal01.jsx @@ -11,7 +11,7 @@ import { useRecoilValue } from 'recoil' import { usePopup } from '@/hooks/usePopup' export default function SettingModal01(props) { - const { setShowDotLineGridModal, setShowFontSettingModal, id } = props + const { setShowDotLineGridModal, setShowFontSettingModal, id, isConfig } = props console.log(props) const [buttonAct, setButtonAct] = useState(1) const { getMessage } = useMessage() @@ -27,7 +27,7 @@ export default function SettingModal01(props) {

{getMessage('modal.canvas.setting')}

-
diff --git a/src/components/floor-plan/modal/setting01/dimensionLine/DimensionLineSetting.jsx b/src/components/floor-plan/modal/setting01/dimensionLine/DimensionLineSetting.jsx index 2afbd184..1aa39e74 100644 --- a/src/components/floor-plan/modal/setting01/dimensionLine/DimensionLineSetting.jsx +++ b/src/components/floor-plan/modal/setting01/dimensionLine/DimensionLineSetting.jsx @@ -87,6 +87,7 @@ export default function DimensionLineSetting(props) { setFontColor: setOriginFontColor, fontSize: originFontSize, setFontSize: setOriginFontSize, + isConfig: true, id: fontModalId, pos: { x: 455, @@ -97,17 +98,17 @@ export default function DimensionLineSetting(props) { const popupHandle = (type) => { switch (type) { case 'color': - addPopup(colorModalId, 3, ) + addPopup(colorModalId, 3, , true) break case 'font': - addPopup(fontModalId, 3, ) + addPopup(fontModalId, 3, , true) break } } return ( -
+

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