From 5b150603d1fe58a57968fcd2f68de755485493ca Mon Sep 17 00:00:00 2001 From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com> Date: Mon, 6 Apr 2026 16:28:09 +0900 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=EC=8B=9C=EC=9E=91=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20w=20=EA=B0=92=20full=EB=A1=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/main/MainPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx index ce886fd..44c5a90 100644 --- a/src/pages/main/MainPage.tsx +++ b/src/pages/main/MainPage.tsx @@ -100,7 +100,7 @@ export default function MainPage() { fontSize="xl" fontWeight="bold" p={6} - w={{ base: "full", lg: "auto" }} + w="full" _active={{ bg: "seed.active" }} _hover={{ bg: "seed.hover" }} onClick={() => navigate(ROUTE_PATHS.LOGIN)} From 739ec1bd75e3977ae0c2afea4fd1515ecd28be0e Mon Sep 17 00:00:00 2001 From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com> Date: Mon, 6 Apr 2026 17:08:57 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20CTA=20?= =?UTF-8?q?=EC=8B=9C=EC=9E=91=ED=95=98=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EB=B6=84=EA=B8=B0=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/pages/main/MainPage.tsx | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx index 44c5a90..809bbd0 100644 --- a/src/pages/main/MainPage.tsx +++ b/src/pages/main/MainPage.tsx @@ -3,12 +3,27 @@ import { useNavigate } from "react-router"; import { Box, Button, Flex, HStack, Text, VStack } from "@chakra-ui/react"; +import { useAuth } from "@/entities"; import { AssignmentHelpSection, ExecutionOnlySection } from "@/features"; import { CheckIcon, CopyIcon, ROUTE_PATHS, SparklesIcon } from "@/shared"; export default function MainPage() { const [isSolutionSectionReady, setIsSolutionSectionReady] = useState(false); const navigate = useNavigate(); + const { isAuthenticated, isLoading } = useAuth(); + + const startButtonTargetPath = isAuthenticated + ? ROUTE_PATHS.MYPAGE + : ROUTE_PATHS.LOGIN; + const isStartButtonDisabled = isLoading; + + const handleStartClick = () => { + if (isStartButtonDisabled) { + return; + } + + navigate(startButtonTargetPath); + }; return ( @@ -97,13 +112,18 @@ export default function MainPage() { bg="button.bg" borderRadius={20} color="button.foreground" + cursor={isStartButtonDisabled ? "not-allowed" : "pointer"} + disabled={isStartButtonDisabled} fontSize="xl" fontWeight="bold" + opacity={isStartButtonDisabled ? 0.5 : 1} p={6} w="full" _active={{ bg: "seed.active" }} - _hover={{ bg: "seed.hover" }} - onClick={() => navigate(ROUTE_PATHS.LOGIN)} + _hover={{ + bg: isStartButtonDisabled ? "button.bg" : "seed.hover", + }} + onClick={handleStartClick} > 시작하기 From b4ca0cea977f3f44b46ad611b23365e8b416cbec Mon Sep 17 00:00:00 2001 From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com> Date: Mon, 6 Apr 2026 17:33:08 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20=EB=A9=94=EC=9D=B8=20CTA=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20disabled=20=EC=B2=98=EB=A6=AC=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/main/MainPage.tsx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx index 809bbd0..21deb05 100644 --- a/src/pages/main/MainPage.tsx +++ b/src/pages/main/MainPage.tsx @@ -12,17 +12,8 @@ export default function MainPage() { const navigate = useNavigate(); const { isAuthenticated, isLoading } = useAuth(); - const startButtonTargetPath = isAuthenticated - ? ROUTE_PATHS.MYPAGE - : ROUTE_PATHS.LOGIN; - const isStartButtonDisabled = isLoading; - const handleStartClick = () => { - if (isStartButtonDisabled) { - return; - } - - navigate(startButtonTargetPath); + navigate(isAuthenticated ? ROUTE_PATHS.MYPAGE : ROUTE_PATHS.LOGIN); }; return ( @@ -112,17 +103,17 @@ export default function MainPage() { bg="button.bg" borderRadius={20} color="button.foreground" - cursor={isStartButtonDisabled ? "not-allowed" : "pointer"} - disabled={isStartButtonDisabled} + disabled={isLoading} fontSize="xl" fontWeight="bold" - opacity={isStartButtonDisabled ? 0.5 : 1} p={6} w="full" _active={{ bg: "seed.active" }} - _hover={{ - bg: isStartButtonDisabled ? "button.bg" : "seed.hover", + _disabled={{ + cursor: "not-allowed", + opacity: 0.5, }} + _hover={{ bg: "seed.hover" }} onClick={handleStartClick} > 시작하기