From bf9049bad7bb40afc14d2e047e53b2d9c3dd7de0 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 13:35:26 +0900 Subject: [PATCH 01/15] =?UTF-8?q?[design]=20=EC=A3=BC=ED=96=89=EA=B1=B0?= =?UTF-8?q?=EB=A6=AC=20=EB=A6=AC=EC=85=8B=20=EC=8B=9C=20=EC=95=A0=EB=8B=88?= =?UTF-8?q?=EB=A9=94=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interactions/distanceDriven/index.jsx | 2 +- src/introSection/index.module.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/interactions/distanceDriven/index.jsx b/src/interactions/distanceDriven/index.jsx index 369bdc78..12223b31 100644 --- a/src/interactions/distanceDriven/index.jsx +++ b/src/interactions/distanceDriven/index.jsx @@ -36,7 +36,7 @@ function DistanceDrivenInteraction({ interactCallback, $ref }) { />
{ onPointerDown(e); pulseAnimation(e); diff --git a/src/introSection/index.module.css b/src/introSection/index.module.css index 57d30697..817bd1d9 100644 --- a/src/introSection/index.module.css +++ b/src/introSection/index.module.css @@ -24,4 +24,4 @@ to { transform: translateX(100%); } -} \ No newline at end of file +} From 61ab3fb659c6362b4be7bd3f0dda69eb6cc2024b Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 13:38:05 +0900 Subject: [PATCH 02/15] =?UTF-8?q?[fix]=20=EC=82=AC=ED=8C=8C=EB=A6=AC?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=84=A0=ED=92=8D=EA=B8=B0=EA=B0=80=20?= =?UTF-8?q?=EC=96=B4=EA=B8=8B=EB=82=98=20=EB=B3=B4=EC=9D=B4=EB=8A=94=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interactions/v2l/Puzzle.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/interactions/v2l/Puzzle.jsx b/src/interactions/v2l/Puzzle.jsx index 83baac9d..19775d34 100644 --- a/src/interactions/v2l/Puzzle.jsx +++ b/src/interactions/v2l/Puzzle.jsx @@ -83,7 +83,7 @@ function Puzzle({ interactCallback, $ref }) { ); })}
-
+
Date: Wed, 31 Jul 2024 13:39:29 +0900 Subject: [PATCH 03/15] =?UTF-8?q?[fix]=20=EB=B3=B4=EC=A1=B0=EA=B8=88=20?= =?UTF-8?q?=EC=9D=B8=ED=84=B0=EB=9E=99=EC=85=98=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=EC=8B=9C=20=ED=85=8D=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EA=B0=80=20=EC=84=A0=ED=83=9D=EB=90=98=EB=8A=94=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interactions/subsidy/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/interactions/subsidy/index.jsx b/src/interactions/subsidy/index.jsx index 8e1cc5b7..cf0bb18a 100644 --- a/src/interactions/subsidy/index.jsx +++ b/src/interactions/subsidy/index.jsx @@ -60,7 +60,7 @@ function SubsidyInteraction({ interactCallback, $ref }) { loop={false} />
-

+

{count * 10} From d3c9cd05ec5fc77bdd035ebd3c2588557e8f6115 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 13:55:16 +0900 Subject: [PATCH 04/15] =?UTF-8?q?[design]=20=ED=97=A4=EB=8D=94=EB=B0=94=20?= =?UTF-8?q?=EB=AA=85=EC=84=B8=EC=97=90=20=EB=88=84=EB=9D=BD=EB=90=9C=20bac?= =?UTF-8?q?kground=20color=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/header/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header/index.jsx b/src/header/index.jsx index 8fd2cc9c..a7e9a74f 100644 --- a/src/header/index.jsx +++ b/src/header/index.jsx @@ -44,7 +44,7 @@ export default function Header() { } return ( -

+
Date: Wed, 31 Jul 2024 14:27:17 +0900 Subject: [PATCH 05/15] =?UTF-8?q?[feat]=20QnA=20=EC=84=B9=EC=85=98=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/qna/QnAArticle.jsx | 15 +++++++++++++++ src/qna/index.jsx | 13 +++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/qna/QnAArticle.jsx create mode 100644 src/qna/index.jsx diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx new file mode 100644 index 00000000..54e0907b --- /dev/null +++ b/src/qna/QnAArticle.jsx @@ -0,0 +1,15 @@ +function QnAArticle({question, answer}) +{ + return
+
+

+ Q. + {question} +

+
+
+

{answer}

+
+} + +export default QnAArticle; \ No newline at end of file diff --git a/src/qna/index.jsx b/src/qna/index.jsx new file mode 100644 index 00000000..5cfbeaf4 --- /dev/null +++ b/src/qna/index.jsx @@ -0,0 +1,13 @@ +import QnAArticle from "./QnAArticle.jsx"; +//import content from "./content.json"; + +const lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; + +function QnASection() +{ + return
+ +
+} + +export default QnASection \ No newline at end of file From de9365974d091879946efcbd2fb8baa73520c561 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:07:29 +0900 Subject: [PATCH 06/15] =?UTF-8?q?[feat]=20QnA=20=EC=84=B9=EC=85=98=20?= =?UTF-8?q?=ED=8E=BC=EC=B9=98=EA=B8=B0/=EC=A0=91=EA=B8=B0=20=EC=95=A0?= =?UTF-8?q?=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/qna/QnAArticle.jsx | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx index 54e0907b..03ffc08d 100644 --- a/src/qna/QnAArticle.jsx +++ b/src/qna/QnAArticle.jsx @@ -1,14 +1,36 @@ +import { useState, useRef } from "react"; + function QnAArticle({question, answer}) { + const [opened, setOpened] = useState(false); + const [visible, setVisible] = useState(false); + const timeoutRef = useRef(null); + + function onClick() + { + if(!opened) { + setVisible(true); + clearTimeout(timeoutRef.current); + requestAnimationFrame(()=>setOpened(true)); + } + else { + setOpened(false); + timeoutRef.current = setTimeout(()=>setVisible(false), 200); + } + } + const staticArticleStyle = `text-neutral-400 text-justify relative + before:w-full before:h-full before-block before:absolute before:bg-white before:pointer-events-none + before:scale-y-0 before:transform-translate before:duration-200 before:ease-linear before:origin-bottom`; + return

Q. {question}

-
+
열기/닫기
-

{answer}

+

{answer}

} From fd35d102b04e04161f19728dd5612e475ba22b7e Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:19:40 +0900 Subject: [PATCH 07/15] =?UTF-8?q?[feat]=20QnA=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=20=ED=9A=8C=EC=A0=84=20=EC=95=A0=EB=8B=88=EB=A9=94?= =?UTF-8?q?=EC=9D=B4=EC=85=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/qna/QnAArticle.jsx | 10 ++++++++-- src/qna/assets/arrow.svg | 3 +++ tailwind.redefine.js | 3 +++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 src/qna/assets/arrow.svg diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx index 03ffc08d..15b3db75 100644 --- a/src/qna/QnAArticle.jsx +++ b/src/qna/QnAArticle.jsx @@ -1,4 +1,5 @@ import { useState, useRef } from "react"; +import arrow from "./assets/arrow.svg"; function QnAArticle({question, answer}) { @@ -20,7 +21,8 @@ function QnAArticle({question, answer}) } const staticArticleStyle = `text-neutral-400 text-justify relative before:w-full before:h-full before-block before:absolute before:bg-white before:pointer-events-none - before:scale-y-0 before:transform-translate before:duration-200 before:ease-linear before:origin-bottom`; + before:scale-y-0 before:transition-transform before:duration-200 before:ease-linear before:origin-bottom`; + const staticIconStyle = "size-10 transition-transform ease-in-out-cubic"; return
@@ -28,7 +30,11 @@ function QnAArticle({question, answer}) Q. {question} -
열기/닫기
+ {opened

{answer}

diff --git a/src/qna/assets/arrow.svg b/src/qna/assets/arrow.svg new file mode 100644 index 00000000..e32b7f02 --- /dev/null +++ b/src/qna/assets/arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/tailwind.redefine.js b/tailwind.redefine.js index 753b1b59..0b9b72e3 100644 --- a/tailwind.redefine.js +++ b/tailwind.redefine.js @@ -71,4 +71,7 @@ export default { "head-m": ["45px", "64px"], "head-l": ["57px", "80px"], }, + transitionTimingFunction: { + 'in-out-cubic': 'cubic-bezier(0.645, 0.045, 0.355, 1.000)' + } }; From 3476ad1f911b2041cba7529e9e0f7dd9c3d1005a Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:32:38 +0900 Subject: [PATCH 08/15] =?UTF-8?q?[design]=20QnA=20=EC=A0=9C=EB=AA=A9=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20=EC=8B=A4=EC=A0=9C=20=EC=BB=A8=ED=85=90?= =?UTF-8?q?=EC=B8=A0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/qna/QnAArticle.jsx | 9 ++++----- src/qna/content.json | 30 ++++++++++++++++++++++++++++++ src/qna/index.jsx | 9 ++++----- 3 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 src/qna/content.json diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx index 15b3db75..c2d95f7c 100644 --- a/src/qna/QnAArticle.jsx +++ b/src/qna/QnAArticle.jsx @@ -22,18 +22,17 @@ function QnAArticle({question, answer}) const staticArticleStyle = `text-neutral-400 text-justify relative before:w-full before:h-full before-block before:absolute before:bg-white before:pointer-events-none before:scale-y-0 before:transition-transform before:duration-200 before:ease-linear before:origin-bottom`; - const staticIconStyle = "size-10 transition-transform ease-in-out-cubic"; + const staticIconStyle = "size-[1.8181818em] transition-transform ease-in-out-cubic"; - return
-
-

+ return
+
+

Q. {question}

{opened

{answer}

diff --git a/src/qna/content.json b/src/qna/content.json new file mode 100644 index 00000000..442be6db --- /dev/null +++ b/src/qna/content.json @@ -0,0 +1,30 @@ +[ + { + "question": "이벤트는 하나만 참여할 수 있나요?", + "answer": "EVENT 1과 EVENT 2는 중복 참여가 가능합니다. 다만 이벤트와 무관하거나 부적절한 방법을 통한 참여는 모두 무효 처리될 수 있습니다." + }, + { + "question": "이벤트 참여 시 꼭 본인인증을 해야 하나요?", + "answer": "모든 이벤트는 참여자 정보를 등록한 이후에만 응모할 수 있습니다. 당첨자 발표 및 경품 수령 방법은 당첨자에 한해 이벤트 종료 후 입력하신 연락처로 개별 안내될 예정입니다. 본 이벤트를 위하여 수집된 개인 정보는 상품 지급 외 다른 용도로 사용되지 않으며 지급 후 폐기됩니다." + }, + { + "question": "이벤트 경품이 변경될 수도 있나요?", + "answer": "경품 내용 및 당첨 인원은 사전 고지 없이 변경될 수 있습니다. 실제 지급되는 경품은 세부 조건이 상기 이미지와 상이할 수 있습니다. 경품에 대한 제세공과금은 주최사에서 부담합니다. 또한 EVENT1의 1,2등 경품의 경우 미성년자는 수령이 불가한 점 참고 바랍니다." + }, + { + "question": "추첨 이벤트는 어떻게 응모할 수 있나요?", + "answer": "EVENT 1은 1일 1회만 응모가 가능하며 이벤트 기간동안 최대 5회까지 응모가 가능합니다. 이벤트 참여시 당일 인터랙션을 수행하고 참여자 정보를 입력해야 해당 날짜의 이벤트의 응모가 정상적으로 완료됩니다. 인터랙션을 수행하더라도 지난 날짜의 이벤트 응모는 불가합니다." + }, + { + "question": "당첨 확률을 높일 수 있는 방법이 있나요?", + "answer": "응모 횟수가 많을수록 해당 이벤트 당첨 확률이 증가합니다. 또한 응모를 완료한 참여자에 한해 기대평 작성을 완료하면 해당 이벤트 당첨 확률이 증가합니다." + }, + { + "question": "선착순 이벤트는 몇 번까지 응모할 수 있나요?", + "answer": "EVENT 2는 이벤트 기간동안 중복 참여가 가능하지만, 당일 당첨(상품 수령) 횟수는 1일 최대 1회만 가능합니다. 또한 해당 이벤트 참여시 사전에 반드시 참여자 정보 등록이 완료되어야 하는 점 유의 바랍니다." + }, + { + "question": "기대평은 어떻게 작성하나요?", + "answer": "기대평은 1일 1회만 작성이 가능하며 당일 추첨 이벤트에 응모를 완료해야만 작성할 수 있습니다. 작성 시아래의 사항을 유의해주세요.\n1. 상품 또는 업체 홍보 목적 글, 직접 작성하지 않은 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n2. 동일한 문자, 문구 등을 단순히 반복한 기대평, 복사/붙여넣기 또는 자동화된 수단을 사용한 기대평 등 이벤트 취지에 맞지 않는 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n3. 비속어, 금칙어 등이 포함된 부적절한 내용의 기대평은 작성이 불가합니다." + } +] \ No newline at end of file diff --git a/src/qna/index.jsx b/src/qna/index.jsx index 5cfbeaf4..eb0cc8f6 100644 --- a/src/qna/index.jsx +++ b/src/qna/index.jsx @@ -1,12 +1,11 @@ import QnAArticle from "./QnAArticle.jsx"; -//import content from "./content.json"; - -const lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; +import content from "./content.json"; function QnASection() { - return
- + return
+

자주 묻는 질문

+ {content.map( (item)=> )}
} From 0ed701c9d3b81feffde7e87b7ba6d4bf7612e31f Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:33:48 +0900 Subject: [PATCH 09/15] =?UTF-8?q?[chore]=20=EB=A6=B0=ED=8A=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=ED=94=84=EB=A6=AC=ED=8B=B0=EC=96=B4=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.jsx | 7 +++- src/qna/QnAArticle.jsx | 72 +++++++++++++++++++++++------------------- src/qna/content.json | 58 +++++++++++++++++----------------- src/qna/index.jsx | 17 ++++++---- 4 files changed, 84 insertions(+), 70 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 1036ecf7..23d8c5e8 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,6 +1,7 @@ import { useEffect } from "react"; import IntroSection from "./introSection"; import Header from "./header"; +import QnA from "./qna"; function App() { useEffect(() => { @@ -12,7 +13,11 @@ function App() { <>
- + + ); } diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx index c2d95f7c..fd42736c 100644 --- a/src/qna/QnAArticle.jsx +++ b/src/qna/QnAArticle.jsx @@ -1,42 +1,48 @@ import { useState, useRef } from "react"; import arrow from "./assets/arrow.svg"; -function QnAArticle({question, answer}) -{ - const [opened, setOpened] = useState(false); - const [visible, setVisible] = useState(false); - const timeoutRef = useRef(null); +function QnAArticle({ question, answer }) { + const [opened, setOpened] = useState(false); + const [visible, setVisible] = useState(false); + const timeoutRef = useRef(null); - function onClick() - { - if(!opened) { - setVisible(true); - clearTimeout(timeoutRef.current); - requestAnimationFrame(()=>setOpened(true)); - } - else { - setOpened(false); - timeoutRef.current = setTimeout(()=>setVisible(false), 200); - } - } - const staticArticleStyle = `text-neutral-400 text-justify relative + function onClick() { + if (!opened) { + setVisible(true); + clearTimeout(timeoutRef.current); + requestAnimationFrame(() => setOpened(true)); + } else { + setOpened(false); + timeoutRef.current = setTimeout(() => setVisible(false), 200); + } + } + const staticArticleStyle = `text-neutral-400 text-justify relative before:w-full before:h-full before-block before:absolute before:bg-white before:pointer-events-none before:scale-y-0 before:transition-transform before:duration-200 before:ease-linear before:origin-bottom`; - const staticIconStyle = "size-[1.8181818em] transition-transform ease-in-out-cubic"; + const staticIconStyle = + "size-[1.8181818em] transition-transform ease-in-out-cubic"; - return
-
-

- Q. - {question} -

- {opened -
-

{answer}

-
+ return ( +
+
+

+ Q. + {question} +

+ {opened +
+

+ {answer} +

+
+ ); } -export default QnAArticle; \ No newline at end of file +export default QnAArticle; diff --git a/src/qna/content.json b/src/qna/content.json index 442be6db..887cd8be 100644 --- a/src/qna/content.json +++ b/src/qna/content.json @@ -1,30 +1,30 @@ [ - { - "question": "이벤트는 하나만 참여할 수 있나요?", - "answer": "EVENT 1과 EVENT 2는 중복 참여가 가능합니다. 다만 이벤트와 무관하거나 부적절한 방법을 통한 참여는 모두 무효 처리될 수 있습니다." - }, - { - "question": "이벤트 참여 시 꼭 본인인증을 해야 하나요?", - "answer": "모든 이벤트는 참여자 정보를 등록한 이후에만 응모할 수 있습니다. 당첨자 발표 및 경품 수령 방법은 당첨자에 한해 이벤트 종료 후 입력하신 연락처로 개별 안내될 예정입니다. 본 이벤트를 위하여 수집된 개인 정보는 상품 지급 외 다른 용도로 사용되지 않으며 지급 후 폐기됩니다." - }, - { - "question": "이벤트 경품이 변경될 수도 있나요?", - "answer": "경품 내용 및 당첨 인원은 사전 고지 없이 변경될 수 있습니다. 실제 지급되는 경품은 세부 조건이 상기 이미지와 상이할 수 있습니다. 경품에 대한 제세공과금은 주최사에서 부담합니다. 또한 EVENT1의 1,2등 경품의 경우 미성년자는 수령이 불가한 점 참고 바랍니다." - }, - { - "question": "추첨 이벤트는 어떻게 응모할 수 있나요?", - "answer": "EVENT 1은 1일 1회만 응모가 가능하며 이벤트 기간동안 최대 5회까지 응모가 가능합니다. 이벤트 참여시 당일 인터랙션을 수행하고 참여자 정보를 입력해야 해당 날짜의 이벤트의 응모가 정상적으로 완료됩니다. 인터랙션을 수행하더라도 지난 날짜의 이벤트 응모는 불가합니다." - }, - { - "question": "당첨 확률을 높일 수 있는 방법이 있나요?", - "answer": "응모 횟수가 많을수록 해당 이벤트 당첨 확률이 증가합니다. 또한 응모를 완료한 참여자에 한해 기대평 작성을 완료하면 해당 이벤트 당첨 확률이 증가합니다." - }, - { - "question": "선착순 이벤트는 몇 번까지 응모할 수 있나요?", - "answer": "EVENT 2는 이벤트 기간동안 중복 참여가 가능하지만, 당일 당첨(상품 수령) 횟수는 1일 최대 1회만 가능합니다. 또한 해당 이벤트 참여시 사전에 반드시 참여자 정보 등록이 완료되어야 하는 점 유의 바랍니다." - }, - { - "question": "기대평은 어떻게 작성하나요?", - "answer": "기대평은 1일 1회만 작성이 가능하며 당일 추첨 이벤트에 응모를 완료해야만 작성할 수 있습니다. 작성 시아래의 사항을 유의해주세요.\n1. 상품 또는 업체 홍보 목적 글, 직접 작성하지 않은 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n2. 동일한 문자, 문구 등을 단순히 반복한 기대평, 복사/붙여넣기 또는 자동화된 수단을 사용한 기대평 등 이벤트 취지에 맞지 않는 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n3. 비속어, 금칙어 등이 포함된 부적절한 내용의 기대평은 작성이 불가합니다." - } -] \ No newline at end of file + { + "question": "이벤트는 하나만 참여할 수 있나요?", + "answer": "EVENT 1과 EVENT 2는 중복 참여가 가능합니다. 다만 이벤트와 무관하거나 부적절한 방법을 통한 참여는 모두 무효 처리될 수 있습니다." + }, + { + "question": "이벤트 참여 시 꼭 본인인증을 해야 하나요?", + "answer": "모든 이벤트는 참여자 정보를 등록한 이후에만 응모할 수 있습니다. 당첨자 발표 및 경품 수령 방법은 당첨자에 한해 이벤트 종료 후 입력하신 연락처로 개별 안내될 예정입니다. 본 이벤트를 위하여 수집된 개인 정보는 상품 지급 외 다른 용도로 사용되지 않으며 지급 후 폐기됩니다." + }, + { + "question": "이벤트 경품이 변경될 수도 있나요?", + "answer": "경품 내용 및 당첨 인원은 사전 고지 없이 변경될 수 있습니다. 실제 지급되는 경품은 세부 조건이 상기 이미지와 상이할 수 있습니다. 경품에 대한 제세공과금은 주최사에서 부담합니다. 또한 EVENT1의 1,2등 경품의 경우 미성년자는 수령이 불가한 점 참고 바랍니다." + }, + { + "question": "추첨 이벤트는 어떻게 응모할 수 있나요?", + "answer": "EVENT 1은 1일 1회만 응모가 가능하며 이벤트 기간동안 최대 5회까지 응모가 가능합니다. 이벤트 참여시 당일 인터랙션을 수행하고 참여자 정보를 입력해야 해당 날짜의 이벤트의 응모가 정상적으로 완료됩니다. 인터랙션을 수행하더라도 지난 날짜의 이벤트 응모는 불가합니다." + }, + { + "question": "당첨 확률을 높일 수 있는 방법이 있나요?", + "answer": "응모 횟수가 많을수록 해당 이벤트 당첨 확률이 증가합니다. 또한 응모를 완료한 참여자에 한해 기대평 작성을 완료하면 해당 이벤트 당첨 확률이 증가합니다." + }, + { + "question": "선착순 이벤트는 몇 번까지 응모할 수 있나요?", + "answer": "EVENT 2는 이벤트 기간동안 중복 참여가 가능하지만, 당일 당첨(상품 수령) 횟수는 1일 최대 1회만 가능합니다. 또한 해당 이벤트 참여시 사전에 반드시 참여자 정보 등록이 완료되어야 하는 점 유의 바랍니다." + }, + { + "question": "기대평은 어떻게 작성하나요?", + "answer": "기대평은 1일 1회만 작성이 가능하며 당일 추첨 이벤트에 응모를 완료해야만 작성할 수 있습니다. 작성 시아래의 사항을 유의해주세요.\n1. 상품 또는 업체 홍보 목적 글, 직접 작성하지 않은 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n2. 동일한 문자, 문구 등을 단순히 반복한 기대평, 복사/붙여넣기 또는 자동화된 수단을 사용한 기대평 등 이벤트 취지에 맞지 않는 기대평은 기대평 작성 완료로 인정되지 않을 수 있습니다.\n3. 비속어, 금칙어 등이 포함된 부적절한 내용의 기대평은 작성이 불가합니다." + } +] diff --git a/src/qna/index.jsx b/src/qna/index.jsx index eb0cc8f6..c1f6cb1f 100644 --- a/src/qna/index.jsx +++ b/src/qna/index.jsx @@ -1,12 +1,15 @@ import QnAArticle from "./QnAArticle.jsx"; import content from "./content.json"; -function QnASection() -{ - return
-

자주 묻는 질문

- {content.map( (item)=> )} -
+function QnASection() { + return ( +
+

자주 묻는 질문

+ {content.map((item) => ( + + ))} +
+ ); } -export default QnASection \ No newline at end of file +export default QnASection; From 207d7e4aed3f9f27fe121ed49c5707b48fe8e343 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:53:43 +0900 Subject: [PATCH 10/15] =?UTF-8?q?[feat]=20=ED=91=B8=ED=84=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/App.jsx | 2 ++ src/footer/index.jsx | 11 +++++++++++ src/qna/QnAArticle.jsx | 5 +++-- src/qna/index.jsx | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/footer/index.jsx diff --git a/src/App.jsx b/src/App.jsx index 23d8c5e8..93034215 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,6 +2,7 @@ import { useEffect } from "react"; import IntroSection from "./introSection"; import Header from "./header"; import QnA from "./qna"; +import Footer from "./footer"; function App() { useEffect(() => { @@ -18,6 +19,7 @@ function App() { className="h-[2000px]" /> +
); } diff --git a/src/footer/index.jsx b/src/footer/index.jsx new file mode 100644 index 00000000..d4f4e29c --- /dev/null +++ b/src/footer/index.jsx @@ -0,0 +1,11 @@ +function Footer() +{ + return
+
+

고객센터 : 080-600-6000

+

COPYRIGHT ⓒ HYUNDAI MOTOR COMPANY. ALL RIGHTS RESERVED.

+
+
+} + +export default Footer; \ No newline at end of file diff --git a/src/qna/QnAArticle.jsx b/src/qna/QnAArticle.jsx index fd42736c..c5d1ac81 100644 --- a/src/qna/QnAArticle.jsx +++ b/src/qna/QnAArticle.jsx @@ -17,15 +17,16 @@ function QnAArticle({ question, answer }) { } } const staticArticleStyle = `text-neutral-400 text-justify relative + text-body-s md:text-body-m lg:text-body-l before:w-full before:h-full before-block before:absolute before:bg-white before:pointer-events-none before:scale-y-0 before:transition-transform before:duration-200 before:ease-linear before:origin-bottom`; const staticIconStyle = "size-[1.8181818em] transition-transform ease-in-out-cubic"; return ( -
+
-

+

Q. {question}

diff --git a/src/qna/index.jsx b/src/qna/index.jsx index c1f6cb1f..1abed318 100644 --- a/src/qna/index.jsx +++ b/src/qna/index.jsx @@ -3,7 +3,7 @@ import content from "./content.json"; function QnASection() { return ( -
+

자주 묻는 질문

{content.map((item) => ( From 9ac6590dd2617eb24b26c2523a6075ffe6ca3671 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 15:54:25 +0900 Subject: [PATCH 11/15] =?UTF-8?q?[fix]=20GNB=EA=B0=80=20QnA=20=EB=82=B4?= =?UTF-8?q?=EC=9A=A9=EC=9D=98=20=EB=92=A4=EB=A1=9C=20=EA=B0=80=EB=8A=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/header/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header/index.jsx b/src/header/index.jsx index a7e9a74f..27e97885 100644 --- a/src/header/index.jsx +++ b/src/header/index.jsx @@ -44,7 +44,7 @@ export default function Header() { } return ( -
+
Date: Wed, 31 Jul 2024 16:14:04 +0900 Subject: [PATCH 12/15] =?UTF-8?q?[perf]=20SEO=20=EA=B0=9C=EC=84=A0-?= =?UTF-8?q?=EB=88=84=EB=9D=BD=EB=90=9C=20img=20alt=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.jsx | 1 + src/introSection/index.jsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index 93034215..49af4063 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -17,6 +17,7 @@ function App() { test image
diff --git a/src/introSection/index.jsx b/src/introSection/index.jsx index 189fe724..6287f977 100644 --- a/src/introSection/index.jsx +++ b/src/introSection/index.jsx @@ -79,7 +79,7 @@ function IntroSection() {
- + 다음으로 넘어가기
); From 32c60e8f48ce68affead3bfab9f1f4c2b45362de Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 16:19:06 +0900 Subject: [PATCH 13/15] =?UTF-8?q?[perf]=20SEO=20=EA=B0=9C=EC=84=A0-?= =?UTF-8?q?=EB=88=84=EB=9D=BD=EB=90=9C=20meta=20description=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 --- index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 7b3ce87a..83df13f1 100644 --- a/index.html +++ b/index.html @@ -1,9 +1,10 @@ - + + Awesome Orange FE From bf24c29f0377861b10fd1ccd8bd3c766fdec5f72 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 16:24:39 +0900 Subject: [PATCH 14/15] =?UTF-8?q?[perf]=20SEO=20=EA=B0=9C=EC=84=A0-?= =?UTF-8?q?=EB=88=84=EB=9D=BD=EB=90=9C=20robots.txt=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/robots.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 public/robots.txt diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000..ab3e16cf --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /admin +Allow: / \ No newline at end of file From 0a8ff0157e76c5392f285fd34ca5517d38845753 Mon Sep 17 00:00:00 2001 From: lybell-art Date: Wed, 31 Jul 2024 16:34:18 +0900 Subject: [PATCH 15/15] =?UTF-8?q?[feat]=20=EC=9D=B8=ED=8A=B8=EB=A1=9C=20?= =?UTF-8?q?=EC=84=A0=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20?= =?UTF-8?q?=EB=B2=A1=ED=84=B0=20=EA=B8=B0=EB=B0=98=EC=9C=BC=EB=A1=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/footer/index.jsx | 19 ++++++++-------- src/introSection/LineHighlight.jsx | 36 ++++++++++++++++++++++++++++++ src/introSection/index.jsx | 10 +++------ src/introSection/index.module.css | 6 +++-- src/introSection/vector.svg | 9 -------- 5 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 src/introSection/LineHighlight.jsx delete mode 100644 src/introSection/vector.svg diff --git a/src/footer/index.jsx b/src/footer/index.jsx index d4f4e29c..3c598ab7 100644 --- a/src/footer/index.jsx +++ b/src/footer/index.jsx @@ -1,11 +1,12 @@ -function Footer() -{ - return
-
-

고객센터 : 080-600-6000

-

COPYRIGHT ⓒ HYUNDAI MOTOR COMPANY. ALL RIGHTS RESERVED.

-
-
+function Footer() { + return ( +
+
+

고객센터 : 080-600-6000

+

COPYRIGHT ⓒ HYUNDAI MOTOR COMPANY. ALL RIGHTS RESERVED.

+
+
+ ); } -export default Footer; \ No newline at end of file +export default Footer; diff --git a/src/introSection/LineHighlight.jsx b/src/introSection/LineHighlight.jsx new file mode 100644 index 00000000..8cf143fc --- /dev/null +++ b/src/introSection/LineHighlight.jsx @@ -0,0 +1,36 @@ +import style from "./index.module.css"; + +function LineHighlight() { + return ( + + + + + + + + + + ); +} + +export default LineHighlight; diff --git a/src/introSection/index.jsx b/src/introSection/index.jsx index 6287f977..2ba7dff7 100644 --- a/src/introSection/index.jsx +++ b/src/introSection/index.jsx @@ -1,5 +1,5 @@ import useScrollTransition from "@/common/useScrollTransition.js"; -import vector from "./vector.svg"; +import LineHighlight from "./LineHighlight.jsx"; import style from "./index.module.css"; import SpinningCarVideo from "./car-spin.mp4"; import Pointer from "./pointer.svg"; @@ -54,11 +54,7 @@ function IntroSection() { className="absolute top-[66px] z-0 overflow-hidden" style={titleStyle} > - - -
+
@@ -79,7 +75,7 @@ function IntroSection() {

- 다음으로 넘어가기 + 다음으로 넘어가기
); diff --git a/src/introSection/index.module.css b/src/introSection/index.module.css index 817bd1d9..ea4b6827 100644 --- a/src/introSection/index.module.css +++ b/src/introSection/index.module.css @@ -14,14 +14,16 @@ } .openVector { + stroke-dasharray: 790px; + stroke-dashoffset: 790px; animation: open-vector 0.3s ease-in-out 0.3s forwards; } @keyframes open-vector { from { - transform: translateX(0%); + stroke-dashoffset: 790px; } to { - transform: translateX(100%); + stroke-dashoffset: 0px; } } diff --git a/src/introSection/vector.svg b/src/introSection/vector.svg deleted file mode 100644 index 17133f94..00000000 --- a/src/introSection/vector.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file