From c501896f590cab2c61306b64e62da8261d6fc30b Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Thu, 15 Jan 2026 09:55:52 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=84=A0=20=EC=9E=91=EC=84=B1=20=EC=8B=9C?= =?UTF-8?q?=20=EA=B8=B0=EB=B3=B8=20attributes.planeSize=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useLine.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hooks/useLine.js b/src/hooks/useLine.js index 30cc9ba9..3e1d72e6 100644 --- a/src/hooks/useLine.js +++ b/src/hooks/useLine.js @@ -10,7 +10,7 @@ import { } from '@/store/canvasAtom' import { QLine } from '@/components/fabric/QLine' import { basicSettingState } from '@/store/settingAtom' -import { calcLineActualSizeByLineLength } from '@/util/qpolygon-utils' +import { calcLineActualSizeByLineLength, calcLinePlaneSize } from '@/util/qpolygon-utils' import { getDegreeByChon } from '@/util/canvas-util' import { useText } from '@/hooks/useText' import { fontSelector } from '@/store/fontAtom' @@ -31,6 +31,7 @@ export const useLine = () => { const addLine = (points = [], options) => { const line = new QLine(points, { ...options, + attributes: {}, fontSize: lengthText.fontSize.value, fontFamily: lengthText.fontFamily.value, }) @@ -38,7 +39,7 @@ export const useLine = () => { if (line.length < 1) { return null } - + line.attributes.planeSize = calcLinePlaneSize(line) canvas?.add(line) return line } From 8475dc4b1f973cd19aa063d061c5d2abc83308a9 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Thu, 15 Jan 2026 10:24:50 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=ED=8C=A8=EC=8A=A4=EC=9B=8C=EB=93=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=ED=8C=9D=EC=97=85=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EC=95=88=ED=95=A8=20=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EB=A9=88?= =?UTF-8?q?=EC=B6=A4=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/main/ChangePasswordPop.jsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/main/ChangePasswordPop.jsx b/src/components/main/ChangePasswordPop.jsx index efae3bb5..554f9b29 100644 --- a/src/components/main/ChangePasswordPop.jsx +++ b/src/components/main/ChangePasswordPop.jsx @@ -2,12 +2,13 @@ import { useContext } from 'react' import { useMessage } from '@/hooks/useMessage' import { useForm } from 'react-hook-form' import { sessionStore } from '@/store/commonAtom' -import { useRecoilValue, useRecoilState } from 'recoil' +import { useRecoilState, useRecoilValue } from 'recoil' import { useAxios } from '@/hooks/useAxios' import { globalLocaleStore } from '@/store/localeAtom' -import { logout, setSession, login } from '@/lib/authActions' +import { login, logout, setSession } from '@/lib/authActions' import { useSwal } from '@/hooks/useSwal' import { QcastContext } from '@/app/QcastProvider' +import { useRouter } from 'next/navigation' export default function ChangePasswordPop(props) { const globalLocaleState = useRecoilValue(globalLocaleStore) @@ -18,6 +19,7 @@ export default function ChangePasswordPop(props) { const { patch } = useAxios(globalLocaleState) const { getMessage } = useMessage() const [sessionState, setSessionState] = useRecoilState(sessionStore) + const router = useRouter() const formInitValue = { password1: '', password2: '', @@ -207,6 +209,7 @@ export default function ChangePasswordPop(props) { className="btn-origin grey" onClick={() => { logout() + router.replace('/login', undefined, { shallow: true }) }} > {getMessage('main.popup.login.btn2')} From 6c232403454cf3702504bf3a57d28e1598edd57c Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Thu, 15 Jan 2026 10:26:39 +0900 Subject: [PATCH 3/4] =?UTF-8?q?logout=20=ED=98=B8=EC=B6=9C=20=EC=8B=9C=20?= =?UTF-8?q?=EC=A0=84=EB=B6=80=20login=20=EC=9C=BC=EB=A1=9C=20=ED=8A=95?= =?UTF-8?q?=EA=B8=B0=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/main/ChangePasswordPop.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/main/ChangePasswordPop.jsx b/src/components/main/ChangePasswordPop.jsx index 554f9b29..28dc537c 100644 --- a/src/components/main/ChangePasswordPop.jsx +++ b/src/components/main/ChangePasswordPop.jsx @@ -130,12 +130,14 @@ export default function ChangePasswordPop(props) { } else { setIsGlobalLoading(false) logout() + router.replace('/login', undefined, { shallow: true }) console.log('code not 200 error') } }) .catch((error) => { setIsGlobalLoading(false) logout() + router.replace('/login', undefined, { shallow: true }) console.log('catch::::::::', error) }) } From d95dcf608d6c45c3b7e4dd9a1c911b81a1695a9d Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Thu, 15 Jan 2026 14:36:26 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EB=8F=99=EC=AA=BD=20=EC=B9=98=EB=8F=84?= =?UTF-8?q?=EB=A6=AC=20=EB=B0=B0=EC=B9=98=EC=8B=9C=20=EB=AC=B8=EC=A0=9C=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/hooks/module/useTrestle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js index 0899afcb..88980cad 100644 --- a/src/hooks/module/useTrestle.js +++ b/src/hooks/module/useTrestle.js @@ -3094,7 +3094,7 @@ export const useTrestle = () => { ) } if (!halfBottomRightModule) { - halfBottomRightPoint = { x: x + w, y: y - height / 2 } + halfBottomRightPoint = { x: x + w, y: y + height / 2 } halfBottomRightModule = centerPoints.find( (centerPoint) => Math.abs(centerPoint.x - halfBottomRightPoint.x) < maxX && Math.abs(centerPoint.y - halfBottomRightPoint.y) < maxY, )