diff --git a/frontend/src/pages/intro/IntroPage.tsx b/frontend/src/pages/intro/IntroPage.tsx index 51107077..7cb1d526 100644 --- a/frontend/src/pages/intro/IntroPage.tsx +++ b/frontend/src/pages/intro/IntroPage.tsx @@ -1,173 +1,185 @@ -import { useEffect, useRef, useState } from "react"; -import { Link, useNavigate } from "react-router-dom"; -import Button from "@/components/common/button/Button"; -import IntroNavigationBar from "@/components/intro/IntroNavigationBar"; -import * as S from "@/pages/intro/IntroPage.style"; -import { - puzzle_with_people_color, - question_with_color, - step1_pic, - step2_pic, - step3_pic, - step5_pic, - step41_pic, - step42_pic, -} from "@/assets/index"; - -const IntroPage = () => { - const [currentSection, setCurrentSection] = useState(0); - const layoutRef = useRef(null); - const navigate = useNavigate(); - - const handleScroll = () => { - if (layoutRef.current) { - const scrollPosition = layoutRef.current.scrollTop; - const windowHeight = window.innerHeight; - const currentSectionIndex = Math.round(scrollPosition / windowHeight); - setCurrentSection(currentSectionIndex); - } - }; - - useEffect(() => { - const layout = layoutRef.current; - if (layout) { - layout.addEventListener("scroll", handleScroll); - return () => layout.removeEventListener("scroll", handleScroll); - } - }, []); - - const handleDotClick = (index: number) => { - if (layoutRef.current) { - layoutRef.current.scrollTo({ - top: index * window.innerHeight, - behavior: "smooth", - }); - } - }; - - return ( - <> - - - - CoReA - - - - - - - - -

CoReA

-

코드 리뷰 매칭 플랫폼

-

- CoReA로 완성하는 개발 성장의 퍼즐: - 코드, 리뷰, 그리고 당신 -

-

코드, 리뷰, 그리고 당신

-
- - - - -
- - - - {`"남들은 내 코드를 어떻게 생각하고 있을까?"`} - {`"좋은 코드에 대한 평가 기준은 없을까?"`} - {`"코드리뷰하면 좋다던데... 사람은 어떻게 구하지?"`} - {`"내가 지금 제대로 공부하고 있는 건가?"`} - - - - - - - - -

STEP 1

-

방 참여

-

원하는 미션을 선택하고 방 세부 정보를 확인한 후 참여하세요.

-
-
-
- - - - -

STEP 2

-

리뷰어, 리뷰이 매칭

-

모집 마감 후 리뷰어와 리뷰이가 자동으로 매칭돼요.

-
- -
-
- - - - - -

STEP 3

-

코드리뷰

-

매칭된 리뷰이의 PR 링크에서 깃허브 코드리뷰를 진행해요.

-
-
-
- - - - -

STEP 4-1

-

피드백 작성 for 리뷰이

-

- 코드리뷰를 마치고 코드리뷰 완료 버튼을 클릭하면 피드백을 작성할 수 있어요. -

-

리뷰어의 코드리뷰에 대한 피드백을 남겨주세요.

-
- -
-
- - - - - -

STEP 4-2

-

피드백 작성 for 리뷰어

-

리뷰어가 코드리뷰를 완료하면 피드백 작성 버튼이 활성화돼요.

-

버튼을 클릭하여 상대방의 리뷰에 대한 피드백을 남겨주세요.

-
-
-
- - - - -

STEP 5

-

피드백 확인

-

피드백 모아보기에서 주고받은 모든 피드백을 확인할 수 있어요.

-
- -
- - - -
- - -
- - ); -}; - -export default IntroPage; +import { useEffect, useRef, useState } from "react"; +import { Link, useNavigate } from "react-router-dom"; +import Button from "@/components/common/button/Button"; +import IntroNavigationBar from "@/components/intro/IntroNavigationBar"; +import * as S from "@/pages/intro/IntroPage.style"; +import { + puzzle_with_people_color, + question_with_color, + step2_pic, + step3_pic, + step5_pic, + step11_pic, + step12_pic, + step41_pic, + step42_pic, +} from "@/assets/index"; + +const IntroPage = () => { + const [currentSection, setCurrentSection] = useState(0); + const layoutRef = useRef(null); + const navigate = useNavigate(); + + const handleScroll = () => { + if (layoutRef.current) { + const scrollPosition = layoutRef.current.scrollTop; + const windowHeight = window.innerHeight; + const currentSectionIndex = Math.round(scrollPosition / windowHeight); + setCurrentSection(currentSectionIndex); + } + }; + + useEffect(() => { + const layout = layoutRef.current; + if (layout) { + layout.addEventListener("scroll", handleScroll); + return () => layout.removeEventListener("scroll", handleScroll); + } + }, []); + + const handleDotClick = (index: number) => { + if (layoutRef.current) { + layoutRef.current.scrollTo({ + top: index * window.innerHeight, + behavior: "smooth", + }); + } + }; + + return ( + <> + + + + CoReA + + + + + + + + +

CoReA

+

코드 리뷰 매칭 플랫폼

+

+ CoReA로 완성하는 개발 성장의 퍼즐: + 코드, 리뷰, 그리고 당신 +

+

코드, 리뷰, 그리고 당신

+
+ + + + +
+ + + + {`"남들은 내 코드를 어떻게 생각하고 있을까?"`} + {`"좋은 코드에 대한 평가 기준은 없을까?"`} + {`"코드리뷰하면 좋다던데... 사람은 어떻게 구하지?"`} + {`"내가 지금 제대로 공부하고 있는 건가?"`} + + + + + + + + +

STEP 1-1

+

방 참여

+

원하는 미션을 선택하고 방 세부 정보를 확인한 후 참여하세요.

+
+
+
+ + + + +

STEP 1-2

+

방 생성

+

원하는 미션이 없다면 직접 만들어보세요.

+
+ +
+
+ + + + + +

STEP 2

+

리뷰어, 리뷰이 매칭

+

모집 마감 후 리뷰어와 리뷰이가 자동으로 매칭돼요.

+
+
+
+ + + + +

STEP 3

+

코드리뷰

+

매칭된 리뷰이의 PR 링크에서 깃허브 코드리뷰를 진행해요.

+
+ +
+
+ + + + + +

STEP 4-1

+

피드백 작성 for 리뷰이

+

+ 코드리뷰를 마치고 코드리뷰 완료 버튼을 클릭하면 피드백을 작성할 수 있어요. +

+

리뷰어의 코드리뷰에 대한 피드백을 남겨주세요.

+
+
+
+ + + + +

STEP 4-2

+

피드백 작성 for 리뷰어

+

리뷰어가 코드리뷰를 완료하면 피드백 작성 버튼이 활성화돼요.

+

버튼을 클릭하여 상대방의 리뷰에 대한 피드백을 남겨주세요.

+
+ +
+
+ + + + + +

STEP 5

+

피드백 확인

+

피드백 모아보기에서 주고받은 모든 피드백을 확인할 수 있어요.

+
+
+ + + +
+ + +
+ + ); +}; + +export default IntroPage;