-
+
+
+
diff --git a/app/(route)/mypage/_components/.gitkeep b/app/(route)/mypage/_components/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/app/(route)/mypage/_components/ideaCard/ideaCard.module.css b/app/(route)/mypage/_components/ideaCard/ideaCard.module.css
new file mode 100644
index 0000000..8f5fc37
--- /dev/null
+++ b/app/(route)/mypage/_components/ideaCard/ideaCard.module.css
@@ -0,0 +1,45 @@
+.wrapper {
+ width: 100%;
+}
+
+.rowWrapper {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.columnWrapper {
+ display: flex;
+ flex-direction: column;
+ background-color: var(--gray-100);
+ padding: 13px 17px;
+ border-radius: 11px;
+ cursor: pointer;
+ width: 100%;
+}
+
+.ideaTitle {
+ font-size: 0.98rem;
+ font-weight: 700;
+ letter-spacing: 0.03px;
+}
+
+.ideaTool {
+ font-size: 0.7rem;
+}
+
+.btnWrapper {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 70px;
+ height: 40px;
+ font-weight: 500;
+ font-size: 0.9rem;
+ color: white;
+ background-color: var(--purple-700);
+ border-radius: 9px;
+
+ margin-left: 10px;
+}
diff --git a/app/(route)/mypage/_components/ideaCard/index.tsx b/app/(route)/mypage/_components/ideaCard/index.tsx
new file mode 100644
index 0000000..929647a
--- /dev/null
+++ b/app/(route)/mypage/_components/ideaCard/index.tsx
@@ -0,0 +1,24 @@
+import Link from 'next/link'
+import S from './ideaCard.module.css'
+
+//TODO: 아이디어 명과 사용한 툴이 들어가게 됩니다.
+//TODO: 완료된 아이디어일 경우 결과 페이지(/result)로 이동합니다.
+//TODO: 진행중인 아이디어일 경우 투자 지표 페이지(/indicators)로 이동합니다.
+function IdeaCard() {
+ return (
+ (null)
useEffect(() => {
@@ -15,10 +25,29 @@ function WatchWord({ handleView }: { handleView: (params: boolean) => void }) {
animationRef.current?.removeEventListener('animationend', animationend)
}
}, [])
+
+ useEffect(() => {
+ const timer = setTimeout(() => {
+ {
+ onAnimationEnd && onAnimationEnd()
+ }
+ }, 2000)
+
+ return () => clearTimeout(timer)
+ }, [])
+
+ const handleAnimationEnd = () => {
+ onAnimationEnd && onAnimationEnd()
+ }
+
return (
-
+
+
+ )
+}
+
+export default IdeaCard
diff --git a/app/(route)/mypage/mypage.module.css b/app/(route)/mypage/mypage.module.css
new file mode 100644
index 0000000..2744b1d
--- /dev/null
+++ b/app/(route)/mypage/mypage.module.css
@@ -0,0 +1,26 @@
+.wrapper {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ padding: 0 18px;
+ padding-bottom: 50px;
+}
+
+.sectionTitle {
+ font-size: 1.3rem;
+ font-weight: 700;
+ margin-top: 26px;
+}
+
+.sectionSubTitle {
+ font-size: 0.86rem;
+ font-weight: 300;
+}
+
+.ideaCardWrapper {
+ display: flex;
+ flex-direction: column;
+
+ gap: 17px;
+ margin: 12px 0 40px 0;
+}
diff --git a/app/(route)/mypage/page.tsx b/app/(route)/mypage/page.tsx
index cf4d881..f2644c4 100644
--- a/app/(route)/mypage/page.tsx
+++ b/app/(route)/mypage/page.tsx
@@ -1,5 +1,31 @@
+import Nav from '@/app/_common/nav'
+import Title from '@/app/_common/text/title'
+import IdeaCard from './_components/ideaCard'
+import S from './mypage.module.css'
+
+//TODO: 사용자 명, 아이디어 검증 수가 들어갑니다.
+//TODO: 완료된 아이디어, 입력 전 아이디어를 불러옵니다.(get)
function Mypage() {
- return
+ return (
+ <>
+
+
+
+
+ 아이디어 제목
+
+
+ 아이디어 툴
+열람
+
+
+
+
+ 완료
+
+ >
+ )
}
export default Mypage
diff --git a/app/(route)/onboard/Onboard.module.css b/app/(route)/onboard/Onboard.module.css
index 2284acd..9109c7f 100644
--- a/app/(route)/onboard/Onboard.module.css
+++ b/app/(route)/onboard/Onboard.module.css
@@ -135,5 +135,5 @@
}
.wrap:nth-child(3) {
- animation-delay: 2mss;
+ animation-delay: 2s;
}
diff --git a/app/(route)/onboard/_components/WatchWord.tsx b/app/(route)/onboard/_components/WatchWord.tsx
index ed9f223..df29f1e 100644
--- a/app/(route)/onboard/_components/WatchWord.tsx
+++ b/app/(route)/onboard/_components/WatchWord.tsx
@@ -1,7 +1,17 @@
import { useEffect, useRef } from 'react'
import styles from '../Onboard.module.css'
-function WatchWord({ handleView }: { handleView: (params: boolean) => void }) {
+function WatchWord({
+ handleView,
+ firstText = '당신의 아이디어가',
+ twoText = '로켓처럼 성장하도록.',
+ onAnimationEnd,
+}: {
+ handleView: (params: boolean) => void
+ firstText?: string
+ twoText?: string
+ onAnimationEnd?: () => void
+}) {
const animationRef = useRef투자 지표를 완료한 아이디어
+
+
+
+
+ 입력 전
+ 투자 지표를 입력하지 않은 아이디어
+
+
+
+
-
+ )}
+ >
+ )
+}
+
+export default Loading
diff --git a/app/(route)/result/result.module.css b/app/(route)/result/result.module.css
new file mode 100644
index 0000000..2284acd
--- /dev/null
+++ b/app/(route)/result/result.module.css
@@ -0,0 +1,139 @@
+.background {
+ background: var(--purple-700);
+ display: flex;
+ flex-direction: column;
+ padding: 0 22px;
+ min-height: 100vh;
+ height: auto;
+}
+
+.wordwrap {
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.wrap {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.word {
+ color: #fff;
+ text-align: center;
+ font-size: 2.6rem;
+ font-weight: 800;
+}
+
+.smallword {
+ color: #fff;
+ text-align: center;
+ font-size: 1.35rem;
+ font-weight: 600;
+}
+
+.nonMember {
+ font-size: 0.89rem;
+ color: #fbfbfb;
+}
+
+.largeword {
+ color: #fff;
+ text-align: center;
+ font-size: 4.3rem;
+ font-weight: 700;
+}
+
+.blue {
+ color: #183876;
+}
+
+.topmargin {
+ margin-top: 100px;
+}
+
+.leftmargin {
+ margin-left: 5px;
+ cursor: pointer;
+ color: white;
+ font-size: 0.93rem;
+}
+
+.flex {
+ margin: 13px 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.intosignin {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 55px;
+ gap: 7px;
+ margin-top: 22px;
+ border-radius: 8px;
+ background: #fff;
+ color: #121212;
+
+ font-size: 1.15rem;
+ font-weight: 700;
+ cursor: pointer;
+}
+
+.intosignin:hover {
+ opacity: 0.8;
+ transition: all 0.4s;
+}
+
+.img {
+ width: 430px;
+ height: 430px;
+ margin-top: 48.4px;
+}
+
+@keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ transform: translateY(20px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+.word {
+ opacity: 0;
+ animation: fadeInUp 2s ease forwards;
+}
+
+.word:nth-child(1) {
+ animation-delay: 0.5s;
+}
+
+.word:nth-child(2) {
+ animation-delay: 1.5s;
+}
+
+.wrap {
+ opacity: 0;
+ animation: fadeInUp 1.6s ease forwards;
+}
+
+.wrap:nth-child(1) {
+ animation-delay: 0.5s;
+}
+
+.wrap:nth-child(2) {
+ animation-delay: 2s;
+}
+
+.wrap:nth-child(3) {
+ animation-delay: 2mss;
+}
diff --git a/app/(route)/search/page.tsx b/app/(route)/search/page.tsx
index 3f50c66..5ca6c94 100644
--- a/app/(route)/search/page.tsx
+++ b/app/(route)/search/page.tsx
@@ -9,7 +9,10 @@ function Search() {
- 데이터를 모두 불러왔습니다.
+
+
>
)
당신의 아이디어가
-로켓처럼 성장하도록.
+
+
)
}
diff --git a/app/(route)/result/page.tsx b/app/(route)/result/page.tsx
new file mode 100644
index 0000000..285f9c1
--- /dev/null
+++ b/app/(route)/result/page.tsx
@@ -0,0 +1,33 @@
+'use client'
+
+import { useState } from 'react'
+import Result from '../indicators/_components/result'
+import styles from '../onboard/Onboard.module.css'
+import WatchWord from '../onboard/_components/WatchWord'
+
+function Loading() {
+ const [showWatchWord, setShowWatchWord] = useState(true)
+
+ const handleAnimationEnd = () => {
+ setShowWatchWord(false)
+ }
+
+ return (
+ <>
+ {showWatchWord ? (
+ {firstText}
+{twoText}
+
+
+ ) : (
+
+ 데이터를 모두 불러왔습니다.
+