From af1ff4f2174126b82ba675f9047f3106e9fc3524 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Mon, 12 Aug 2024 17:19:02 +0900 Subject: [PATCH 1/9] =?UTF-8?q?refactor:=20PhoneNumberOverlay=EB=A5=BC=202?= =?UTF-8?q?=EA=B0=80=EC=A7=80=EC=9D=98=20=ED=83=80=EC=9E=85=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20type=20prop=20=EA=B5=AC=ED=98=84=20(CC-135?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...FindingGame.tsx => PhoneNumberOverlay.tsx} | 62 +++++---- .../PhoneNumberOverlayRacingGame.tsx | 126 ------------------ .../components/PhoneNumberOverlay/index.tsx | 5 +- 3 files changed, 41 insertions(+), 152 deletions(-) rename Caecae/src/components/PhoneNumberOverlay/{PhoneNumberOverlayFindingGame.tsx => PhoneNumberOverlay.tsx} (74%) delete mode 100644 Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayRacingGame.tsx diff --git a/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayFindingGame.tsx b/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlay.tsx similarity index 74% rename from Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayFindingGame.tsx rename to Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlay.tsx index 327c0fc..5ac33c5 100644 --- a/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayFindingGame.tsx +++ b/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlay.tsx @@ -2,7 +2,11 @@ import { ChangeEventHandler, useEffect, useState } from "react"; import { action } from "../../jobs/Overlay/OverlayWork"; import { store } from "../../shared/Hyundux"; -const PhoneNumberOverlayFindingGame = () => { +interface PhoneNumberOverlayProps { + type: "findCasper" | "raceCasper"; +} + +const PhoneNumberOverlay = ({ type }: PhoneNumberOverlayProps) => { const [timeLeft, setTimeLeft] = useState(3 * 60); // 3분을 초 단위로 변환 const [phoneNumber, setPhoneNumber] = useState(""); const [check, setCheck] = useState(false); @@ -77,16 +81,24 @@ const PhoneNumberOverlayFindingGame = () => { return (
-
+

전화번호 입력

-
- - {timeToString()}내 - - 에 입력하지 않으면 미당첨으로 간주되어 자동 종료됩니다. -
-
-

전화번호

+ {type === "findCasper" ? ( +
+ + {timeToString()} 내 + + + 에 입력하지 않으면 미당첨으로 간주되어 자동 종료됩니다. + +
+ ) : ( +
+ 경품 수령을 위해 간단한 정보를 입력해 주세요. +
+ )} +
+

전화번호

{ />
-

+

개인정보 동의

-
+

1. 개인정보의 처리 목적
@@ -137,18 +149,22 @@ const PhoneNumberOverlayFindingGame = () => {

-
{ - store.dispatch(action.nextPage()); - }} - className={`bg-[${ - enterable ? "#002C5F" : "#CCCCCC" - }] h-[12%] flex items-center justify-center`} - > -

응모 완료가기

-
+ {enterable === true ? ( +
{ + store.dispatch(action.nextPage()); + }} + className="bg-[#002C5F] h-[12%] flex items-center justify-center hover:cursor-pointer" + > +

응모 완료하기

+
+ ) : ( +
+

개인정보를 입력해주세요

+
+ )}
); }; -export default PhoneNumberOverlayFindingGame; +export default PhoneNumberOverlay; diff --git a/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayRacingGame.tsx b/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayRacingGame.tsx deleted file mode 100644 index 28f6997..0000000 --- a/Caecae/src/components/PhoneNumberOverlay/PhoneNumberOverlayRacingGame.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import { ChangeEventHandler, useEffect, useState } from "react"; -import { action } from "../../jobs/Overlay/OverlayWork"; -import { store } from "../../shared/Hyundux"; - -const PhoneNumberOverlayRacingGame = () => { - const [phoneNumber, setPhoneNumber] = useState(""); - const [check, setCheck] = useState(false); - const [enterable, setEnterable] = useState(false); - - const onPhoneNumberFieldChange: ChangeEventHandler = ( - event - ) => { - let number = ""; - const cleaned = event.target.value.replace(/\D/g, ""); - - // 유효성 검사 - if (cleaned.length <= 3) { - number = cleaned; - setPhoneNumber(number); - } else if (cleaned.length <= 7) { - number = `${cleaned.slice(0, 3)}-${cleaned.slice(3)}`; - setPhoneNumber(number); - } else if (cleaned.length <= 11) { - number = `${cleaned.slice(0, 3)}-${cleaned.slice(3, 7)}-${cleaned.slice( - 7, - 11 - )}`; - if (cleaned.length == 11) { - console.log(1234123); - } - setPhoneNumber(number); - } - }; - - const onCheckboxChange: ChangeEventHandler = () => { - setCheck((prev) => !prev); - }; - - useEffect(() => { - const number = phoneNumber.split("-").join(""); - if ( - check && - number.length == 11 && - number.slice(0, 3) === "010" && - enterable === false - ) { - setEnterable(true); - } else if (enterable === true) { - setEnterable(false); - } - }, [check, phoneNumber]); - - return ( -
-
-

전화번호 입력

-
- 경품 수령을 위해 간단한 정보를 입력해 주세요. -
-
-

전화번호

- -
-
-

- 개인정보 동의 -

-
-
-

- 1. 개인정보의 처리 목적 -
- 개인정보를 다음의 목적을 위해 처리합니다. 처리한 개인정보는 - 다음의 목적 이외의 용도로는 사용되지 않으며 이용 목적이 변경될 - 시에는 사전 동의를 구할 예정입니다. -
- 1. 개인정보의 처리 목적 -
- 개인정보를 다음의 목적을 위해 처리합니다. 처리한 개인정보는 - 다음의 목적 이외의 용도로는 사용되지 않으며 이용 목적이 변경될 - 시에는 사전 동의를 구할 예정입니다. -
- 1. 개인정보의 처리 목적 -
- 개인정보를 다음의 목적을 위해 처리합니다. 처리한 개인정보는 - 다음의 목적 이외의 용도로는 사용되지 않으며 이용 목적이 변경될 - 시에는 사전 동의를 구할 예정입니다. -
-

-
-
- -

- 개인정보보호법에 따라 귀하의 개인정보를 다음과 같이 - 수집・이용하는데 동의합니다. -

-
-
-
-
-
{ - store.dispatch(action.nextPage()); - }} - className={`bg-[${ - enterable ? "#002C5F" : "#CCCCCC" - }] h-[12%] flex items-center justify-center`} - > -

응모 완료가기

-
-
- ); -}; - -export default PhoneNumberOverlayRacingGame; diff --git a/Caecae/src/components/PhoneNumberOverlay/index.tsx b/Caecae/src/components/PhoneNumberOverlay/index.tsx index d29787c..0b7771d 100644 --- a/Caecae/src/components/PhoneNumberOverlay/index.tsx +++ b/Caecae/src/components/PhoneNumberOverlay/index.tsx @@ -1,4 +1,3 @@ -import PhoneNumberOverlayFindingGame from "./PhoneNumberOverlayFindingGame"; -import PhoneNumberOverlayRacingGame from "./PhoneNumberOverlayRacingGame"; +import PhoneNumberOverlay from "./PhoneNumberOverlay"; -export default { PhoneNumberOverlayFindingGame, PhoneNumberOverlayRacingGame }; +export default PhoneNumberOverlay ; From 88cf911509db2e902554e44c2da8adafc123ee59 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Mon, 12 Aug 2024 17:25:11 +0900 Subject: [PATCH 2/9] =?UTF-8?q?fix:=20PhoneNumberOverlay=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81=20=EA=B2=B0=EA=B3=BC=EB=A5=BC=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20(CC-135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Caecae/src/pages/FindingGame/FindingGamePage.tsx | 4 ++-- Caecae/src/pages/RacingGame/RacingGamePage.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Caecae/src/pages/FindingGame/FindingGamePage.tsx b/Caecae/src/pages/FindingGame/FindingGamePage.tsx index b4a75b0..5266583 100644 --- a/Caecae/src/pages/FindingGame/FindingGamePage.tsx +++ b/Caecae/src/pages/FindingGame/FindingGamePage.tsx @@ -11,7 +11,7 @@ import { store, useWork } from "../../shared/Hyundux"; import FailContent from "./Enter/FailContent"; import SuccessEnterContent from "./Enter/SuccessEnterContent"; import FindingGameResult from "../../components/FindingGame/FindingGameResult"; -import PhoneNumberOverlayFindingGame from "../../components/PhoneNumberOverlay/PhoneNumberOverlayFindingGame"; +import PhoneNumberOverlay from "../../components/PhoneNumberOverlay/PhoneNumberOverlay"; const FindingGamePage = () => { const [gameState, dispatch] = useWork( @@ -31,7 +31,7 @@ const FindingGamePage = () => {
} /> - } /> + } /> } /> } /> diff --git a/Caecae/src/pages/RacingGame/RacingGamePage.tsx b/Caecae/src/pages/RacingGame/RacingGamePage.tsx index c95046e..eea9668 100644 --- a/Caecae/src/pages/RacingGame/RacingGamePage.tsx +++ b/Caecae/src/pages/RacingGame/RacingGamePage.tsx @@ -6,7 +6,7 @@ import RacingGame from "../../components/RacingGame/index"; import { initRacingGameState, racingGameReducer } from "../../jobs/RacingGame/RacingGameWork"; import SelectCustom from "./Enter/SelectCustom"; import EnterComplete from "./Enter/EnterComplete"; -import PhoneNumberOverlayRacingGame from "../../components/PhoneNumberOverlay/PhoneNumberOverlayRacingGame"; +import PhoneNumberOverlay from "../../components/PhoneNumberOverlay"; const RacingGamePage = () => { const [state, dispatch] = useWork(initRacingGameState, racingGameReducer); @@ -20,7 +20,7 @@ const RacingGamePage = () => { return (
- } /> + } /> } /> } /> From 0ee0dd2a86c71646bd5c9692872884fd6ba9bd20 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Mon, 12 Aug 2024 17:29:09 +0900 Subject: [PATCH 3/9] =?UTF-8?q?feat:=20=EB=A0=88=EC=9D=B4=EC=8B=B1?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=EC=9D=91=EB=AA=A8=20=EC=A4=91=EC=97=90=20?= =?UTF-8?q?=EC=BB=A4=EC=8A=A4=ED=84=B0=EB=A7=88=EC=9D=B4=EC=A7=95=20?= =?UTF-8?q?=EA=B8=B0=EB=8C=80=ED=8F=89=20=EC=84=A0=ED=83=9D=20=EC=B0=BD?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=98=B5=EC=85=98=20=EC=84=A0=ED=83=9D=20?= =?UTF-8?q?=EC=8B=9C=EC=97=90=EB=A7=8C=20=EB=8B=A4=EC=9D=8C=20=EC=B0=BD?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=84=98=EC=96=B4=EA=B0=88=20=EC=88=98=20?= =?UTF-8?q?=EC=9E=88=EB=8F=84=EB=A1=9D=20=EA=B5=AC=ED=98=84=20(CC-135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/RacingGame/Enter/SelectCustom.tsx | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Caecae/src/pages/RacingGame/Enter/SelectCustom.tsx b/Caecae/src/pages/RacingGame/Enter/SelectCustom.tsx index 71ba9b2..03394d0 100644 --- a/Caecae/src/pages/RacingGame/Enter/SelectCustom.tsx +++ b/Caecae/src/pages/RacingGame/Enter/SelectCustom.tsx @@ -26,8 +26,8 @@ const SelectCustom = () => { }; return ( -
-
+
+
기대되는 옵션 선택하고 추가 당첨 확률 높이기!
@@ -36,7 +36,7 @@ const SelectCustom = () => {
캐스퍼 일렉트릭 당첨 시 선택한 옵션으로 받게 돼요.
-
+
{options.map((option) => (
{ ))}
- -
{ - store.dispatch(action.nextPage()); - }} - className={`bg-[${ - enterable ? "#002C5F" : "#CCCCCC" - }] w-full h-[60px] flex items-center justify-center`} - > -

응모 완료가기

-
+ {enterable === true ? ( +
{ + store.dispatch(action.nextPage()); + }} + className="bg-[#002C5F] h-[12%] flex items-center justify-center hover:cursor-pointer" + > +

확인

+
+ ) : ( +
+

마음에 드는 커스텀마이징을 선택하세요

+
+ )}
); }; From 03f620e51892650335c767eee18ffa1be0009931 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Mon, 12 Aug 2024 17:30:19 +0900 Subject: [PATCH 4/9] =?UTF-8?q?design:=20=EB=A0=88=EC=9D=B4=EC=8B=B1?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=EC=9D=91=EB=AA=A8=20=EC=99=84=EB=A3=8C=20?= =?UTF-8?q?=EC=B0=BD=EC=9D=98=20css=20=EC=88=98=EC=A0=95=20(CC-135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Caecae/src/pages/RacingGame/Enter/EnterComplete.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Caecae/src/pages/RacingGame/Enter/EnterComplete.tsx b/Caecae/src/pages/RacingGame/Enter/EnterComplete.tsx index 5aa7231..07bef7b 100644 --- a/Caecae/src/pages/RacingGame/Enter/EnterComplete.tsx +++ b/Caecae/src/pages/RacingGame/Enter/EnterComplete.tsx @@ -15,12 +15,12 @@ const EnterComplete = () => { racingGameEnterImage
{ store.dispatch(action.toggleOverlay()); }} > - 확인 + 확인
From 332ebc9a4a1801fbaa3eb0d7b815f51714f87f33 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Mon, 12 Aug 2024 17:31:35 +0900 Subject: [PATCH 5/9] =?UTF-8?q?feat:=20=EB=A0=88=EC=9D=B4=EC=8B=B1=20?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=EC=9D=91=EB=AA=A8=20=ED=9B=84=EC=97=90?= =?UTF-8?q?=EB=8F=84=20=EA=B2=8C=EC=9E=84=20=EC=A2=85=EB=A3=8C=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=EC=9D=84=20=EB=88=84=EB=A5=BC=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EA=B2=8C=20=EA=B5=AC=ED=98=84=20(CC-135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Caecae/src/components/RacingGame/RacingGame.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Caecae/src/components/RacingGame/RacingGame.tsx b/Caecae/src/components/RacingGame/RacingGame.tsx index e65217a..ed81141 100644 --- a/Caecae/src/components/RacingGame/RacingGame.tsx +++ b/Caecae/src/components/RacingGame/RacingGame.tsx @@ -130,6 +130,14 @@ const gameMenu = (gameStatus: string) => {
); + case "enterEvent": + return ( +
+ + + +
+ ); default: return null; } From cfa2e1514e02038b8c76736115af3726e6502927 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Tue, 13 Aug 2024 11:24:42 +0900 Subject: [PATCH 6/9] =?UTF-8?q?fix:=20Galmuri=20=ED=8F=B0=ED=8A=B8=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=88=98=EC=A0=95=20(CC-145)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Caecae/src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Caecae/src/index.css b/Caecae/src/index.css index 18b6d9e..01be5e4 100644 --- a/Caecae/src/index.css +++ b/Caecae/src/index.css @@ -10,14 +10,14 @@ html, body, #root { @font-face { font-family: 'Galmuri'; - src: url('../src/assets/font/Galmuri11.ttf') format('truetype'); + src: url('../public/assets/font/Galmuri11.ttf') format('truetype'); font-weight: 400; font-style: normal; } @font-face { font-family: 'Galmuri'; - src: url('../src/assets/font/Galmuri11-Bold.ttf') format('truetype'); + src: url('../public/assets/font/Galmuri11-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; } From 2e2e5b6951fd0a9696a9d5c948d8420aa8c3d3a4 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Tue, 13 Aug 2024 11:28:05 +0900 Subject: [PATCH 7/9] =?UTF-8?q?design:=20=EB=A0=88=EC=9D=B4=EC=8B=B1=20?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=EC=97=90=20Galmuri=20=ED=8F=B0=ED=8A=B8=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20css=20=EC=88=98=EC=A0=95=20(CC?= =?UTF-8?q?-145)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/RacingGame/RacingGame.tsx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Caecae/src/components/RacingGame/RacingGame.tsx b/Caecae/src/components/RacingGame/RacingGame.tsx index ed81141..a297f65 100644 --- a/Caecae/src/components/RacingGame/RacingGame.tsx +++ b/Caecae/src/components/RacingGame/RacingGame.tsx @@ -21,13 +21,13 @@ const gameContent = ( switch (gameStatus) { case "previous": return ( -
-
CASPER ELECTRIC
-
전력으로...!
-
-
@@ -116,14 +116,14 @@ const gameMenu = (gameStatus: string) => { case "playing": return ( -
+
); case "end": return ( -
+
@@ -132,7 +132,7 @@ const gameMenu = (gameStatus: string) => { ); case "enterEvent": return ( -
+
From e494af6edecdcbfa7c9d06979c597fab25ba1bf2 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Tue, 13 Aug 2024 11:37:03 +0900 Subject: [PATCH 8/9] =?UTF-8?q?style:=20=EB=A0=88=EC=9D=B4=EC=8B=B1=20?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=EB=82=B4=20=EC=A4=91=EB=B3=B5=20=EB=90=98?= =?UTF-8?q?=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=A0=95=EB=A6=AC=20(CC-145)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/RacingGame/RacingGame.tsx | 43 +++---------------- 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/Caecae/src/components/RacingGame/RacingGame.tsx b/Caecae/src/components/RacingGame/RacingGame.tsx index a297f65..df88e30 100644 --- a/Caecae/src/components/RacingGame/RacingGame.tsx +++ b/Caecae/src/components/RacingGame/RacingGame.tsx @@ -20,6 +20,7 @@ const gameContent = ( ) => { switch (gameStatus) { case "previous": + case "enterEvent": return (
CASPER ELECTRIC
@@ -81,22 +82,6 @@ const gameContent = (
); - case "enterEvent": - return ( -
-
CASPER ELECTRIC
-
전력으로...!
-
- -
-
- ); default: return null; } @@ -106,33 +91,19 @@ const gameContent = ( const gameMenu = (gameStatus: string) => { switch (gameStatus) { case "previous": - return ( - -
- -
- - ); case "playing": + case "enterEvent": return ( - -
- -
- - ); - case "end": - return ( -
- +
- +
); - case "enterEvent": + case "end": return ( -
+
+ From 5c70dc052f53ad17009d6f52b07ab50b4f658577 Mon Sep 17 00:00:00 2001 From: minani-0621 Date: Tue, 13 Aug 2024 12:18:08 +0900 Subject: [PATCH 9/9] =?UTF-8?q?fix:=20InfoSection=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=EC=97=90=EC=84=9C=20InfoSectionDot=EC=9D=98?= =?UTF-8?q?=20=EC=9C=84=EC=B9=98=EA=B0=80=20=EC=A0=81=EC=9A=A9=EC=9D=B4=20?= =?UTF-8?q?=EC=95=88=EB=90=98=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0=20(CC-146)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/InfoSection/InfoSection.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Caecae/src/components/common/InfoSection/InfoSection.tsx b/Caecae/src/components/common/InfoSection/InfoSection.tsx index 9776ee1..d48815c 100644 --- a/Caecae/src/components/common/InfoSection/InfoSection.tsx +++ b/Caecae/src/components/common/InfoSection/InfoSection.tsx @@ -53,19 +53,19 @@ interface InfoSectionDotProps { } const InfoSectionDot = ({ - top = 0, - bottom = 0, - left = 0, - right = 0, + top, + bottom, + left, + right, }: InfoSectionDotProps) => { const style: React.CSSProperties = { - top: `${top}px`, - bottom: `${bottom}px`, - left: `${left}px`, - right: `${right}px`, width: "20px", position: "absolute", - zIndex: "10", + zIndex: 10, + ...(top !== undefined && { top: `${top}px` }), + ...(bottom !== undefined && { bottom: `${bottom}px` }), + ...(left !== undefined && { left: `${left}px` }), + ...(right !== undefined && { right: `${right}px` }), }; return (