diff --git a/src/app/floor-plan/[mid]/[pid]/page.jsx b/src/app/floor-plan/[mid]/[pid]/page.jsx new file mode 100644 index 00000000..473897dc --- /dev/null +++ b/src/app/floor-plan/[mid]/[pid]/page.jsx @@ -0,0 +1,3 @@ +export default function EstimatePage() { + return
이자리....
+} diff --git a/src/app/floor-plan/layout.js b/src/app/floor-plan/layout.js index 829599af..782bc51e 100644 --- a/src/app/floor-plan/layout.js +++ b/src/app/floor-plan/layout.js @@ -1,11 +1,17 @@ 'use client' +import FloorPlan from '@/components/floor-plan/FloorPlan' import { FloorPlanProvider } from './FloorPlanProvider' +import CanvasLayout from '@/components/floor-plan/CanvasLayout' export default function FloorPlanLayout({ children }) { console.log('FloorPlanLayout') return ( <> - {children} + + + {children} + + ) } diff --git a/src/app/floor-plan/page.jsx b/src/app/floor-plan/page.jsx index f503099e..b38a7ef0 100644 --- a/src/app/floor-plan/page.jsx +++ b/src/app/floor-plan/page.jsx @@ -1,9 +1,10 @@ +import CanvasFrame from '@/components/floor-plan/CanvasFrame' import FloorPlan from '@/components/floor-plan/FloorPlan' export default function FloorPlanPage() { return ( <> - + ) } diff --git a/src/components/floor-plan/CanvasFrame.jsx b/src/components/floor-plan/CanvasFrame.jsx index c2a73b63..9dfd3ac8 100644 --- a/src/components/floor-plan/CanvasFrame.jsx +++ b/src/components/floor-plan/CanvasFrame.jsx @@ -15,7 +15,7 @@ import { useCanvasConfigInitialize } from '@/hooks/common/useCanvasConfigInitial import { MENU } from '@/common/common' import PanelBatchStatistics from '@/components/floor-plan/modal/panelBatch/PanelBatchStatistics' -export default function CanvasFrame({ plan }) { +export default function CanvasFrame() { const canvasRef = useRef(null) const [modifiedPlanFlag, setModifiedPlanFlag] = useRecoilState(modifiedPlanFlagState) const { canvas } = useCanvas('canvas') @@ -24,14 +24,14 @@ export default function CanvasFrame({ plan }) { const currentObject = useRecoilValue(currentObjectState) const currentMenu = useRecoilValue(currentMenuState) const { contextMenu, handleClick, handleKeyup } = useContextMenu() - const { checkCanvasObjectEvent, checkUnsavedCanvasPlan, resetModifiedPlans } = usePlan() + const { selectedPlan, checkCanvasObjectEvent, checkUnsavedCanvasPlan, resetModifiedPlans } = usePlan() useEvent() const loadCanvas = () => { if (canvas) { canvas?.clear() // 캔버스를 초기화합니다. - if (plan?.canvasStatus) { - canvas?.loadFromJSON(JSON.parse(plan.canvasStatus), function () { + if (selectedPlan?.canvasStatus) { + canvas?.loadFromJSON(JSON.parse(selectedPlan.canvasStatus), function () { canvasLoadInit() //config된 상태로 캔버스 객체를 그린다 canvas?.renderAll() // 캔버스를 다시 그립니다. }) @@ -41,15 +41,15 @@ export default function CanvasFrame({ plan }) { } useEffect(() => { - if (modifiedPlanFlag && plan?.id) { - checkCanvasObjectEvent(plan.id) + if (modifiedPlanFlag && selectedPlan?.id) { + checkCanvasObjectEvent(selectedPlan.id) } }, [modifiedPlanFlag]) useEffect(() => { loadCanvas() resetModifiedPlans() - }, [plan, canvas]) + }, [selectedPlan, canvas]) return (
diff --git a/src/components/floor-plan/CanvasLayout.jsx b/src/components/floor-plan/CanvasLayout.jsx index ac247f6b..ea3292c0 100644 --- a/src/components/floor-plan/CanvasLayout.jsx +++ b/src/components/floor-plan/CanvasLayout.jsx @@ -9,9 +9,11 @@ import { usePlan } from '@/hooks/usePlan' import { modifiedPlansState } from '@/store/canvasAtom' import { globalLocaleStore } from '@/store/localeAtom' import { SessionContext } from '@/app/SessionProvider' +import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' -export default function CanvasLayout(props) { - const { menuNumber } = props +export default function CanvasLayout({ children }) { + // const { menuNumber } = props + const { menuNumber } = useCanvasMenu() const { session } = useContext(SessionContext) const [objectNo, setObjectNo] = useState('test123240822001') // 이후 삭제 필요 const [modifiedPlans, setModifiedPlans] = useRecoilState(modifiedPlansState) // 변경된 canvas plan @@ -60,7 +62,7 @@ export default function CanvasLayout(props) { )}
- plan.isCurrent === true)} /> + {children} ) } diff --git a/src/components/floor-plan/FloorPlan.jsx b/src/components/floor-plan/FloorPlan.jsx index bc95d9b3..caf9a2d7 100644 --- a/src/components/floor-plan/FloorPlan.jsx +++ b/src/components/floor-plan/FloorPlan.jsx @@ -7,16 +7,18 @@ import { globalLocaleStore } from '@/store/localeAtom' import { settingModalFirstOptionsState, settingModalSecondOptionsState } from '@/store/settingAtom' import CanvasMenu from '@/components/floor-plan/CanvasMenu' import CanvasLayout from '@/components/floor-plan/CanvasLayout' +import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import '@/styles/contents.scss' -export default function FloorPlan() { +export default function FloorPlan({ children }) { const globalLocaleState = useRecoilValue(globalLocaleStore) const { get } = useAxios(globalLocaleState) const [settingModalFirstOptions, setSettingModalFirstOptions] = useRecoilState(settingModalFirstOptionsState) const [settingModalSecondOptions, setSettingModalSecondOptions] = useRecoilState(settingModalSecondOptionsState) const [objectNo, setObjectNo] = useState('test123240912001') // 이후 삭제 필요 - const [menuNumber, setMenuNumber] = useState(null) + // const [menuNumber, setMenuNumber] = useState(null) + const { menuNumber, setMenuNumber } = useCanvasMenu() const modalProps = { menuNumber, @@ -57,9 +59,7 @@ export default function FloorPlan() { <>
-
- -
+
{children}
) diff --git a/src/hooks/common/useCanvasMenu.js b/src/hooks/common/useCanvasMenu.js new file mode 100644 index 00000000..23f594d9 --- /dev/null +++ b/src/hooks/common/useCanvasMenu.js @@ -0,0 +1,10 @@ +import { useState } from 'react' + +export const useCanvasMenu = () => { + const [menuNumber, setMenuNumber] = useState(null) + + return { + menuNumber, + setMenuNumber, + } +} diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index 4c655e86..1cced0f0 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -8,6 +8,7 @@ import { useSwal } from '@/hooks/useSwal' export function usePlan() { const [planNum, setPlanNum] = useState(0) + const [selectedPlan, setSelectedPlan] = useState(null) const [canvas, setCanvas] = useRecoilState(canvasState) const [currentCanvasPlan, setCurrentCanvasPlan] = useRecoilState(currentCanvasPlanState) @@ -279,6 +280,7 @@ export function usePlan() { } useEffect(() => { setCurrentCanvasPlan(plans.find((plan) => plan.isCurrent) || null) + setSelectedPlan(plans.find((plan) => plan.isCurrent)) }, [plans]) /** @@ -366,6 +368,7 @@ export function usePlan() { return { canvas, plans, + selectedPlan, modifiedPlans, checkCanvasObjectEvent, resetModifiedPlans,