Skip to content

Commit

Permalink
Merge pull request #9 from primus-teoSprint/feat/#5
Browse files Browse the repository at this point in the history
[#5]์˜จ๋ณด๋”ฉํŽ˜์ด์ง€ ui ๊ตฌํ˜„ ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„
  • Loading branch information
chaduhwan authored Apr 6, 2024
2 parents fb88de7 + 5c5cda8 commit da8ac7b
Show file tree
Hide file tree
Showing 10 changed files with 301 additions and 3 deletions.
135 changes: 135 additions & 0 deletions app/(route)/onboard/Onboard.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
.background {
background: #6C76F4;
width: 100%;
height: 100%;

overflow: hidden;
}

.wordwrap {
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
.wrap{
height: 100%;
display: flex;
flex-direction: column;
align-items: center;

}

.word {
color: #FFF;
text-align: center;
font-size: 36px;
font-style: normal;
font-weight: 600;
line-height: normal;
}

.smallword{
color: #FFF;
text-align: center;
font-size: 20px;
font-style: normal;
font-weight: 600;
line-height: normal;
}

.largeword {
color: #FFF;
text-align: center;
font-size: 64px;
font-style: normal;
font-weight: 800;
line-height: normal;
}

.gray {
color: #E8E8E8;
}
.blue {
color: #183876;
}
.topmargin {
margin-top: 100px;
}
.leftmargin {
margin-left: 10px;
cursor: pointer;
}
.leftmargin:hover {
color: #04030D;
}
.flex {
margin-top: 10px;
display: flex;
align-items: center;
justify-content: center;
}

.intosignin {
width: 360px;
height: 60px;
border-radius: 7px;
background: #FFF;

display: flex;
align-items: center;
justify-content: center;

color: #04030D;
text-align: center;
font-size: 20px;

font-style: normal;
font-weight: 600;
letter-spacing: 0.1px;

cursor: pointer;
}

.intosignin:hover {
opacity: 0.8;
}

@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: 1s;
}

.wrap{
opacity: 0;
animation: fadeInUp 1s ease forwards;
}
.wrap:nth-child(1) {
animation-delay: 0.5s;
}

.wrap:nth-child(2) {
animation-delay: 1s;
}
.wrap:nth-child(3) {
animation-delay: 2s;
}
Empty file.
20 changes: 20 additions & 0 deletions app/(route)/onboard/_components/OnBoardPage.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
'use client'

import { useState } from 'react';
import Onboarding from "../_components/OnBoarding";
import WatchWord from "../_components/WatchWord";
import styles from '../Onboard.module.css';

function OnboardPage() {
const [showWatchWord, setShowWatchWord] = useState(true);


return (
<div className={styles.background}>
{showWatchWord && <WatchWord handleView={setShowWatchWord}/>}
{!showWatchWord && <Onboarding />}
</div>
);
}

export default OnboardPage;
45 changes: 45 additions & 0 deletions app/(route)/onboard/_components/OnBoarding.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
'use client'

import styles from '../Onboard.module.css';
import rocketLogo from '../../../_assets/_images/rocketLogo.png';
import Image from 'next/image';
import { useRouter } from 'next/navigation';

function Onboarding(){

const router = useRouter()

const handleClickSignin = () => {
router.push('/signin')
}

const handleCilckSignup = () => {
router.push('/singup')
}

return(
<div className={styles.wrap}>
<div className={styles.topmargin}>
<p className={styles.smallword}>์•„์ด๋””์–ด ๊ฒ€์ฆ ํˆด ์„œ๋น„์Šค</p>
<p className={styles.largeword}>ํ”„๋ฆฌ๋ฌด์Šค</p>
</div>
<div style={{ width: '370px', height: '370px' }}>
<Image
src={rocketLogo}
alt='๋กœ์ผ“๋กœ๊ณ '
layout="responsive"
width={370}
height={370}/>
</div>
<div className={styles.topmargin}>
<div className={styles.intosignin} onClick={handleClickSignin}>์•„์ด๋””์–ด ๊ฒ€์ฆํ•˜๋Ÿฌ ๊ฐ€๊ธฐ</div>
<div className={styles.flex}>
<div className={`${styles.smallword} ${styles.gray}`}>์•„์ง ํšŒ์›์ด ์•„๋‹ˆ์‹œ๋ผ๋ฉด?</div>
<div className={`${styles.smallword} ${styles.leftmargin}`} onClick={handleCilckSignup}>ํšŒ์›๊ฐ€์ž…</div>
</div>
</div>
</div>
);
}

export default Onboarding;
26 changes: 26 additions & 0 deletions app/(route)/onboard/_components/WatchWord.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { useEffect,useRef } from 'react';
import styles from '../Onboard.module.css';

function WatchWord ({ handleView }: { handleView: any }) {
const animationRef = useRef<HTMLDivElement>(null);

useEffect(() => {
const animationend = () => {
handleView(false)
}

animationRef.current?.addEventListener('animationend', animationend);

return () => {
animationRef.current?.removeEventListener('animationend', animationend);
};
}, []);
return (
<div className={styles.wordwrap} ref={animationRef}>
<p className={styles.word}>๋‹น์‹ ์˜ ์•„์ด๋””์–ด๊ฐ€</p>
<p className={styles.word}>๋กœ์ผ“์ฒ˜๋Ÿผ ์„ฑ์žฅํ•˜๋„๋ก</p>
</div>
);
}

export default WatchWord;
10 changes: 8 additions & 2 deletions app/(route)/onboard/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import OnboardPage from "./_components/OnBoardPage";

function Onboard() {
return


return (
<OnboardPage/>
);
}

export default Onboard
export default Onboard;
40 changes: 40 additions & 0 deletions app/(route)/signin/Signin.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
.background {
background: #6C76F4;
width: 100%;
height: 100%;
}

.wordwrap {
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}

.word {
color: #FFF;
text-align: center;
font-size: 36px;
font-style: normal;
font-weight: 600;
line-height: normal;
}

.intosignup {
width: 360px;
height: 60px;
border-radius: 7px;
background: #FFF;

display: flex;
align-items: center;
justify-content: center;

color: #04030D;
text-align: center;
font-size: 20px;

font-style: normal;
font-weight: 600;
letter-spacing: 0.1px;
}
Empty file.
23 changes: 23 additions & 0 deletions app/(route)/signin/_components/Login.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import rocketLogo from '../../../_assets/_images/rocketLogo.png';
import Image from 'next/image';

function Login(){
return(

<div>
<p>์•ˆ๋…•ํ•˜์„ธ์š”</p>
<p>ํ”„๋ฆฌ๋ฌด์Šค์ž…๋‹ˆ๋‹ค</p>
<p>์„œ๋น„์Šค ์ด์šฉ์„ ์œ„ํ•ด์„œ ๋กœ๊ทธ์ธ ํ•ด์ฃผ์„ธ์š”</p>
<Image
src={rocketLogo}
alt='๋กœ์ผ“๋กœ๊ณ '
layout="responsive"
width={370}
height={370}/>
<div>์นด์นด์˜ค๋กœ ์‹œ์ž‘ํ•˜๊ธฐ</div>
<div>๋น„ํšŒ์›์œผ๋กœ ๋‘˜๋Ÿฌ๋ณด๊ธฐ</div>
</div>
)
}

export default Login
5 changes: 4 additions & 1 deletion app/(route)/signin/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import Login from "./_components/Login"
function Signin() {
return
return (
<Login/>
)
}

export default Signin

0 comments on commit da8ac7b

Please sign in to comment.