From 0949dc21524032678f481cd10b61c4710d5791bf Mon Sep 17 00:00:00 2001 From: JAESEON PARK Date: Mon, 10 Aug 2026 17:52:54 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20hasChange=20=EC=83=81=ED=83=9C?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=A0=80=EC=9E=A5=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EC=8A=A4=ED=83=80=EC=9D=BC/=EB=AC=B8=EA=B5=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/workspace/WorkspaceSetting.tsx | 25 ++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/pages/workspace/WorkspaceSetting.tsx b/src/pages/workspace/WorkspaceSetting.tsx index be117742..757d1b25 100644 --- a/src/pages/workspace/WorkspaceSetting.tsx +++ b/src/pages/workspace/WorkspaceSetting.tsx @@ -152,8 +152,19 @@ export default function WorkspaceSetting() { const saving = updateMutation.isPending; + const hasChanges = useMemo(() => { + if (!detail) return false; + + const nameChanged = name.trim() !== detail.name; + const descChanged = desc.trim() !== (detail.description ?? "").trim(); + const logoChanged = + logoFile !== null || (isImageDeleted && Boolean(detail.logoUrl)); + + return nameChanged || descChanged || logoChanged; + }, [detail, name, desc, logoFile, isImageDeleted]); + const onSave = () => { - if (orgId === null || !name.trim()) return; + if (orgId === null || !name.trim() || !hasChanges) return; updateMutation.mutate(orgId); }; @@ -376,15 +387,21 @@ export default function WorkspaceSetting() { 워크스페이스 삭제 )} From 54d71f51da9e371e298dbc68a6581fae4b3b1084 Mon Sep 17 00:00:00 2001 From: JAESEON PARK Date: Mon, 10 Aug 2026 17:57:45 +0900 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B3=A0/=EC=84=A4?= =?UTF-8?q?=EB=AA=85=20=EB=86=92=EC=9D=B4=20=EC=B6=95=EC=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/workspace/WorkspaceSetting.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/workspace/WorkspaceSetting.tsx b/src/pages/workspace/WorkspaceSetting.tsx index 757d1b25..456dc3af 100644 --- a/src/pages/workspace/WorkspaceSetting.tsx +++ b/src/pages/workspace/WorkspaceSetting.tsx @@ -291,7 +291,7 @@ export default function WorkspaceSetting() {

조직 기본 정보

-
+
로고 이미지
@@ -307,7 +307,7 @@ export default function WorkspaceSetting() { onClick={openFilePicker} disabled={!isAdmin || saving || deleting} aria-label="로고 이미지 업로드 또는 변경" - className="flex h-60 w-60 cursor-pointer items-center justify-center overflow-hidden rounded-lg border border-surface-400 bg-surface-200 outline-none transition-colors hover:bg-surface-300/70 focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:cursor-not-allowed disabled:opacity-50 tablet:h-46 tablet:w-46" + className="flex h-52 w-52 cursor-pointer items-center justify-center overflow-hidden rounded-lg border border-surface-400 bg-surface-200 outline-none transition-colors hover:bg-surface-300/70 focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:cursor-not-allowed disabled:opacity-50 tablet:h-40 tablet:w-40" > {logoPreview ? ( setDesc(e.target.value)} - minRows={4} - className="min-h-90" + minRows={3} + className="min-h-44" disabled={!isAdmin || saving || deleting} />
From e3c4cf1e284a09ba860ffb055ca432650750d7ce Mon Sep 17 00:00:00 2001 From: JAESEON PARK Date: Mon, 10 Aug 2026 17:58:38 +0900 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=EC=9B=8C=ED=81=AC=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EC=82=AD=EC=A0=9C=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EC=B6=95=EC=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/workspace/WorkspaceSetting.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceSetting.tsx b/src/pages/workspace/WorkspaceSetting.tsx index 456dc3af..c10a91ab 100644 --- a/src/pages/workspace/WorkspaceSetting.tsx +++ b/src/pages/workspace/WorkspaceSetting.tsx @@ -379,7 +379,7 @@ export default function WorkspaceSetting() {