From 459777d5f040f8c7d9c511d4f1073319d57ec53d Mon Sep 17 00:00:00 2001 From: kjs Date: Wed, 4 Mar 2026 13:53:10 +0900 Subject: [PATCH] feat: Update screen management state handling for immediate updates - Enhanced the screen management functionality to ensure that updates to selected screens are reflected immediately in the state. - Implemented a mapping function to update the screens list when a screen's details are modified, improving user experience by providing real-time feedback. - This change ensures that the UI remains in sync with the underlying data, enhancing the overall responsiveness of the application. --- .../admin/screenMng/popScreenMngList/page.tsx | 7 +++++++ .../(main)/admin/screenMng/screenMngList/page.tsx | 14 +++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/frontend/app/(main)/admin/screenMng/popScreenMngList/page.tsx b/frontend/app/(main)/admin/screenMng/popScreenMngList/page.tsx index d9e289ca..fa47a353 100644 --- a/frontend/app/(main)/admin/screenMng/popScreenMngList/page.tsx +++ b/frontend/app/(main)/admin/screenMng/popScreenMngList/page.tsx @@ -202,6 +202,13 @@ export default function PopScreenManagementPage() { ...selectedScreen, ...updatedFields, }); + setScreens((prev) => + prev.map((s) => + s.screenId === selectedScreen.screenId + ? { ...s, ...updatedFields } + : s + ) + ); }} /> diff --git a/frontend/app/(main)/admin/screenMng/screenMngList/page.tsx b/frontend/app/(main)/admin/screenMng/screenMngList/page.tsx index 2104c711..567c4426 100644 --- a/frontend/app/(main)/admin/screenMng/screenMngList/page.tsx +++ b/frontend/app/(main)/admin/screenMng/screenMngList/page.tsx @@ -130,12 +130,16 @@ export default function ScreenManagementPage() { selectedScreen={selectedScreen} onBackToList={() => goToStep("list")} onScreenUpdate={(updatedFields) => { - // 저장 후 화면 정보 즉시 업데이트 (테이블명 등) if (selectedScreen) { - setSelectedScreen({ - ...selectedScreen, - ...updatedFields, - }); + const updated = { ...selectedScreen, ...updatedFields }; + setSelectedScreen(updated); + setScreens((prev) => + prev.map((s) => + s.screenId === selectedScreen.screenId + ? { ...s, ...updatedFields } + : s + ) + ); } }} />