diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js index 7fdd6a31..4261d7e6 100644 --- a/src/hooks/common/useMenu.js +++ b/src/hooks/common/useMenu.js @@ -16,12 +16,13 @@ import { usePopup } from '@/hooks/usePopup' import { useState } from 'react' import { v4 as uuidv4 } from 'uuid' import { useSurfaceShapeBatch } from '@/hooks/surface/useSurfaceShapeBatch' -import { useRecoilValue } from 'recoil' +import { useRecoilState, useRecoilValue } from 'recoil' import { canvasState, currentMenuState } from '@/store/canvasAtom' import { MENU } from '@/common/common' import { useTrestle } from '@/hooks/module/useTrestle' import { usePolygon } from '@/hooks/usePolygon' import { useOrientation } from '@/hooks/module/useOrientation' +import { settingModalFirstOptionsState } from '@/store/settingAtom' /** * 메뉴 처리 훅 @@ -36,8 +37,21 @@ export default function useMenu() { const { deleteAllSurfacesAndObjects } = useSurfaceShapeBatch({}) const { clear: trestleClear, setAllModuleSurfaceIsComplete } = useTrestle() const { nextStep } = useOrientation() + const [settingModalFirstOptions, setSettingModalFirstOptions] = useRecoilState(settingModalFirstOptionsState) const handleMenu = (type) => { if (type === 'outline') { + setSettingModalFirstOptions((prev) => { + return { + ...prev, + dimensionDisplay: prev.dimensionDisplay.map((item, index) => { + if (index === 0) { + return { ...item, selected: true } + } else { + return { ...item, selected: false } + } + }), + } + }) switch (currentMenu) { case MENU.ROOF_COVERING.EXTERIOR_WALL_LINE: addPopup(popupId, 1, ) @@ -67,6 +81,18 @@ export default function useMenu() { } if (type === 'surface') { + setSettingModalFirstOptions((prev) => { + return { + ...prev, + dimensionDisplay: prev.dimensionDisplay.map((item, index) => { + if (index === 1) { + return { ...item, selected: true } + } else { + return { ...item, selected: false } + } + }), + } + }) switch (currentMenu) { // case MENU.BATCH_CANVAS.SLOPE_SETTING: // addPopup(popupId, 1, ) @@ -87,6 +113,18 @@ export default function useMenu() { } if (type === 'module') { + setSettingModalFirstOptions((prev) => { + return { + ...prev, + dimensionDisplay: prev.dimensionDisplay.map((item, index) => { + if (index === 1) { + return { ...item, selected: true } + } else { + return { ...item, selected: false } + } + }), + } + }) switch (currentMenu) { case MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING: trestleClear()