From 974a380e75d229c84bbbd7f2826af5c6a47f8803 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Thu, 2 Jan 2025 10:13:24 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=9A=A8chore:=20GlobalDataProvider=20c?= =?UTF-8?q?ontext=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=A5=BC=20=EC=9E=84?= =?UTF-8?q?=EC=8B=9C=EB=A1=9C=20localStorage=EB=A1=9C=20=EB=B3=B5=EC=82=AC?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 임시조치이며 개발 완료 시점에 삭제 예정 --- src/app/GlobalDataProvider.js | 12 ++++++++++-- src/components/Playground.jsx | 14 +++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/app/GlobalDataProvider.js b/src/app/GlobalDataProvider.js index ee7bf4e3..e4162cd1 100644 --- a/src/app/GlobalDataProvider.js +++ b/src/app/GlobalDataProvider.js @@ -1,16 +1,24 @@ 'use client' -import { createContext, useState } from 'react' +import { createContext, useEffect, useState } from 'react' +import { useLocalStorage } from 'usehooks-ts' export const GlobalDataContext = createContext({ managementState: {}, setManagementState: () => {}, + managementStateLoaded: null, }) const GlobalDataProvider = ({ children }) => { const [managementState, setManagementState] = useState({}) + // TODO: 임시 조치이며 개발 완료시 삭제 예정 -> 잊지말기... + const [managementStateLoaded, setManagementStateLoaded] = useLocalStorage('managementStateLoaded', null) - return {children} + useEffect(() => { + setManagementStateLoaded(managementState) + }, [managementState]) + + return {children} } export default GlobalDataProvider diff --git a/src/components/Playground.jsx b/src/components/Playground.jsx index fcc5468d..ef1adab2 100644 --- a/src/components/Playground.jsx +++ b/src/components/Playground.jsx @@ -1,6 +1,6 @@ 'use client' -import { useRef, useState, useEffect } from 'react' +import { useRef, useState, useEffect, useContext } from 'react' import { useRecoilState } from 'recoil' import { v4 as uuidv4 } from 'uuid' import { FaAnglesUp } from 'react-icons/fa6' @@ -26,6 +26,7 @@ import QPagination from './common/pagination/QPagination' import { trestleRequestModels, constructionRequestModels, trestleDetailRequestModels } from '@/models/apiModels' import QSelectBox from './common/select/QSelectBox' import SampleReducer from './sample/SampleReducer' +import { GlobalDataContext } from '@/app/GlobalDataProvider' export default function Playground() { const [useCadFile, setUseCadFile] = useRecoilState(useCadFileState) @@ -52,6 +53,8 @@ export default function Playground() { const [users, setUsers] = useState([]) + const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) + useEffect(() => { console.log('textInput:', textInput) }, [textInput]) @@ -508,6 +511,15 @@ export default function Playground() {
+
+ +
+
+ +
+
+

{managementStateLoaded?.objectNo}

+
) From a7365b98e4bd003c653b004095dbeac20834a361 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Thu, 2 Jan 2025 10:58:54 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=9A=A8chore:=20swalFire=20alert=20?= =?UTF-8?q?=EC=9D=BC=EA=B2=BD=EC=9A=B0=20=EB=A6=AC=ED=84=B4=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Playground.jsx | 5 +++++ src/hooks/useSwal.js | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/components/Playground.jsx b/src/components/Playground.jsx index ef1adab2..2f3e2ab5 100644 --- a/src/components/Playground.jsx +++ b/src/components/Playground.jsx @@ -520,6 +520,11 @@ export default function Playground() {

{managementStateLoaded?.objectNo}

+
+ +
) diff --git a/src/hooks/useSwal.js b/src/hooks/useSwal.js index cb18e6a7..018d8f32 100644 --- a/src/hooks/useSwal.js +++ b/src/hooks/useSwal.js @@ -21,6 +21,8 @@ export const useSwal = () => { text, icon: icon === '' ? 'success' : icon, confirmButtonText: '확인', + }).then(() => { + confirmFn() }) } else if (type === 'confirm') { MySwal.fire({