diff --git a/src/app/GlobalDataProvider.js b/src/app/GlobalDataProvider.js index d930bbed..f7cce530 100644 --- a/src/app/GlobalDataProvider.js +++ b/src/app/GlobalDataProvider.js @@ -3,11 +3,12 @@ import { createContext, useEffect, useState } from 'react' import { useLocalStorage } from 'usehooks-ts' -export const GlobalDataContext = createContext({ - managementState: {}, - setManagementState: () => {}, - managementStateLoaded: null, -}) +// export const GlobalDataContext = createContext({ +// managementState: {}, +// setManagementState: () => {}, +// managementStateLoaded: null, +// }) +export const GlobalDataContext = createContext(null) const GlobalDataProvider = ({ children }) => { const [managementState, setManagementState] = useState(null) diff --git a/src/components/Playground.jsx b/src/components/Playground.jsx index a55f4e46..b2e64edc 100644 --- a/src/components/Playground.jsx +++ b/src/components/Playground.jsx @@ -27,6 +27,7 @@ import useSWR from 'swr' import useSWRMutation from 'swr/mutation' import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' import { canvasPopupStatusStore } from '@/store/canvasPopupStatusAtom' +import { moduleSelectionDataPlanListState } from '@/store/selectedModuleOptions' export default function Playground() { const [useCadFile, setUseCadFile] = useRecoilState(useCadFileState) @@ -256,25 +257,25 @@ export default function Playground() { }) } - const [callFlag, setCallFlag] = useState(false) + // const [callFlag, setCallFlag] = useState(false) // const { data: tutoData, error, isLoading } = useSWR('http://localhost:8080/api/tutorial', getFetcher) - const { data: tutoData, error, isLoading } = useSWR(callFlag ? 'http://localhost:8080/api/tutorial' : null, getFetcher) - const { trigger, isMutating } = useSWRMutation('http://localhost:8080/api/tutorial', postFetcher) + // const { data: tutoData, error, isLoading } = useSWR(callFlag ? 'http://localhost:8080/api/tutorial' : null, getFetcher) + // const { trigger, isMutating } = useSWRMutation('http://localhost:8080/api/tutorial', postFetcher) - if (isLoading) { - return
Loading...
- } + // if (isLoading) { + // return
Loading...
+ // } - if (error) { - return
Error...
- } + // if (error) { + // return
Error...
+ // } - useCanvasPopupStatusController(1) + // const [moduleSelectionDataPlanListStore, setModuleSelectionDataPlanListStore] = useRecoilState(moduleSelectionDataPlanListState) + // useEffect(() => { + // console.log('🚀 ~ Playground ~ moduleSelectionDataPlanListStore:', moduleSelectionDataPlanListStore) + // }, [moduleSelectionDataPlanListStore]) + // const { trigger: canvasPopupStatusTrigger } = useCanvasPopupStatusController({ objectNo: 'R201T01241120001', planNo: 2, popupType: 2 }) - const [canvasPopupStatusState, setCanvasPopupStatusState] = useRecoilState(canvasPopupStatusStore) - useEffect(() => { - console.log('🚀 ~ Playground ~ canvasPopupStatusState:', canvasPopupStatusState) - }, [canvasPopupStatusState]) return ( <>
@@ -579,7 +580,7 @@ export default function Playground() { Sweetalert - alert
-
+ {/*
{tutoData && tutoData.map((item) => (
@@ -594,6 +595,301 @@ export default function Playground() { +
*/} +
+
diff --git a/src/components/floor-plan/modal/basic/step/Orientation.jsx b/src/components/floor-plan/modal/basic/step/Orientation.jsx index 4b100514..a64210f4 100644 --- a/src/components/floor-plan/modal/basic/step/Orientation.jsx +++ b/src/components/floor-plan/modal/basic/step/Orientation.jsx @@ -1,8 +1,9 @@ -import { forwardRef, useImperativeHandle, useState } from 'react' +import { forwardRef, useContext, 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() @@ -17,6 +18,7 @@ export const Orientation = forwardRef(({ tabNum }, ref) => { const handleNextStep = () => { nextStep() + canvasPopupStatusTrigger(compasDeg) } const checkDegree = (e) => { @@ -27,6 +29,8 @@ export const Orientation = forwardRef(({ tabNum }, ref) => { } } + const { trigger: canvasPopupStatusTrigger } = useCanvasPopupStatusController(1) + return ( <>
diff --git a/src/hooks/common/useCanvasPopupStatusController.js b/src/hooks/common/useCanvasPopupStatusController.js index 88b2207a..4138c239 100644 --- a/src/hooks/common/useCanvasPopupStatusController.js +++ b/src/hooks/common/useCanvasPopupStatusController.js @@ -1,28 +1,77 @@ 'use client' import { useEffect } from 'react' +import { useRecoilState, useRecoilValue } from 'recoil' import useSWR from 'swr' import useSWRMutation from 'swr/mutation' import { useAxios } from '../useAxios' -import { useRecoilState } from 'recoil' -import { canvasPopupStatusStore } from '@/store/canvasPopupStatusAtom' +import { unescapeString } from '@/util/common-utils' +import { moduleSelectionDataState } from '@/store/selectedModuleOptions' +import { compasDegAtom } from '@/store/orientationAtom' +import { currentCanvasPlanState } from '@/store/canvasAtom' -export function useCanvasPopupStatusController(popupType) { - const [canvasPopupStatusState, setCanvasPopupStatusState] = useRecoilState(canvasPopupStatusStore) +export function useCanvasPopupStatusController(param = 1) { + const popupType = param + + const [compasDeg, setCompasDeg] = useRecoilState(compasDegAtom) + const [moduleSelectionDataStore, setModuleSelectionDataStore] = useRecoilState(moduleSelectionDataState) const { getFetcher, postFetcher } = useAxios() + + const currentCanvasPlan = useRecoilValue(currentCanvasPlanState) + console.log('🚀 ~ Orientation ~ currentCanvasPlan:', currentCanvasPlan) + const { data: popupStatus, error, isLoading, - } = useSWR(popupType ? 'canvas-popup-status--data' : null, () => getFetcher(`http://localhost:8080/api/tutorial?popupType=${popupType}`)) + } = useSWR( + popupType ? `/api/v1/canvas-popup-status?objectNo=${currentCanvasPlan.objectNo}&planNo=${currentCanvasPlan.planNo}&popupType=${popupType}` : null, + getFetcher, + ) useEffect(() => { + console.log('🚀 ~ useEffect ~ popupStatus:', popupStatus) if (popupStatus) { - setCanvasPopupStatusState({ ...canvasPopupStatusState, [popupType]: popupStatus }) + switch (parseInt(popupStatus?.popupType)) { + case 1: + setCompasDeg(popupStatus.popupStatus) + break + case 2: + setModuleSelectionDataStore(JSON.parse(unescapeString(popupStatus.popupStatus))) + break + case 3: + break + case 4: + break + default: + } + } else { + switch (popupType) { + case 1: + setCompasDeg(0) + break + case 2: + setModuleSelectionDataStore({ + common: {}, + roofConstructions: [], + }) + break + } } }, [popupStatus]) - const { trigger, isMutating } = useSWRMutation('canvas-popup-status-update', postFetcher) + const { trigger, isMutating } = useSWRMutation( + `/api/v1/canvas-popup-status?objectNo=${currentCanvasPlan.objectNo}&planNo=${currentCanvasPlan.planNo}&popupType=${popupType}`, + (url, { arg }) => { + const params = { + objectNo: currentCanvasPlan.objectNo, + planNo: parseInt(currentCanvasPlan.planNo), + popupType: popupType.toString(), + popupStatus: JSON.stringify(arg).replace(/"/g, '\"'), + } + postFetcher(`/api/v1/canvas-popup-status`, params) + }, + ) return { trigger } }