Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 9 additions & 122 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,129 +1,16 @@
'use client';
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

λžœλ”©νŽ˜μ΄μ§€λΌμ„œ λΈŒλΌμš°μ € μΈν„°λ ‰μ…˜μ΄ 없을 것 같은데
'use client';λŠ” μ™œ μžˆλŠ”κ±΄κ°€μš”???

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μΆ”ν›„ 좔가될 것 κ°™μ•„μ„œ λ„£μ–΄λ’€λŠ”λ° μš°μ„ μ€ λΆˆν•„μš”ν•˜λ‹ˆκΉŒ μ œκ±°ν•˜κ² μŠ΅λ‹ˆλ‹€ 🫑


import Link from 'next/link';
import EmailIcon from '/public/icons/email.svg';
import FacebookIcon from '/public/icons/facebook.svg';
import InstagramIcon from '/public/icons/instagram.svg';
import CustomLogo from '@/components/root/CustomLogo';
import ImageWrapper from '@/components/root/ImageWrapper';
import styles from './page.module.css';
import MainCard from '@/components/root/MainCard';
import MiniCard from '@/components/root/MiniCard';
import Layout from '@/components/landing/layout';
import HeroSection from '@/components/landing/Section/HeroSection';
import PrimarySection from '@/components/landing/Section/PrimarySection';
import SecondarySection from '@/components/landing/Section/SecondarySection';

export default function Home() {
return (
<div className={styles.page}>
<header className={styles.header}>
<Link href="/" aria-label="ν™ˆμœΌλ‘œ 이동">
<CustomLogo className={styles.logo} />
</Link>
<nav className={styles.nav}>
<Link href="/login" className={styles.navLink}>
둜그인
</Link>
<Link href="/signup" className={styles.navLink}>
νšŒμ›κ°€μž…
</Link>
</nav>
</header>
<main className={styles.main}>
<section className={styles.section}>
<ImageWrapper
src="/images/home.png"
alt="일정 관리 μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜"
className={styles.homeImg}
priority={true}
/>
<div className={styles.homeTitleWrapper}>
<div className={styles.homeTitle}>μƒˆλ‘œμš΄ 일정관리</div>
<div className={styles.homeBrand}>Taskify</div>
</div>
<Link href="/login" className={styles.homeLoginBtn}>
λ‘œκ·ΈμΈν•˜κΈ°
</Link>
</section>
<section className={styles.section}>
<MainCard
title="일의 μš°μ„ μˆœμœ„λ₯Ό κ΄€λ¦¬ν•˜μ„Έμš”"
subTitle="Point 1"
src="/images/landing_lg_1.png"
alt="μš°μ„ μˆœμœ„ μ„€μ • κΈ°λŠ₯ μ†Œκ°œ"
className={styles.cardLg1}
/>
<MainCard
title="ν•΄μ•Ό ν•  일을 λ“±λ‘ν•˜μ„Έμš”"
subTitle="Point 2"
src="/images/landing_lg_2.png"
alt="ν•  일 μΉ΄λ“œ 생성 κΈ°λŠ₯ μ†Œκ°œ"
className={styles.cardLg2}
imgFirst={true}
/>
</section>
<section>
<div className={styles.supplementTitle}>
생산성을 λ†’μ΄λŠ” λ‹€μ–‘ν•œ μ„€μ • ⚑
</div>
<div className={styles.cardSmalls}>
<MiniCard
src="/images/landing_sm_1.png"
alt="λŒ€μ‹œλ³΄λ“œ μ„€μ • κΈ°λŠ₯ μ†Œκ°œ"
title="λŒ€μ‹œλ³΄λ“œ μ„€μ •"
desc="λŒ€μ‹œλ³΄λ“œ 사진과 이름을 λ³€κ²½ν•  수 μžˆμ–΄μš”."
className={styles.cardSm1}
/>
<MiniCard
src="/images/landing_sm_2.png"
alt="μ΄ˆλŒ€ν•˜κΈ° κΈ°λŠ₯ μ†Œκ°œ"
title="μ΄ˆλŒ€"
desc="μƒˆλ‘œμš΄ νŒ€μ›μ„ μ΄ˆλŒ€ν•  수 μžˆμ–΄μš”."
className={styles.cardSm2}
/>
<MiniCard
src="/images/landing_sm_3.png"
alt="ꡬ성원 κΈ°λŠ₯ μ†Œκ°œ"
title="ꡬ성원"
desc="ꡬ성원을 μ΄ˆλŒ€ν•˜κ³  내보낼 수 μžˆμ–΄μš”."
className={styles.cardSm3}
/>
</div>
</section>
</main>
<footer className={styles.footer}>
<div>Β©codeit - 2023</div>
<div className={styles.legalLinks}>
<Link href="/privacy-policy">Privacy Policy</Link>
<Link href="/faq">FAQ</Link>
</div>
<div className={styles.socialLinks}>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="이메일 λ°”λ‘œκ°€κΈ°"
>
<EmailIcon aria-hidden="true" />
</a>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="페이슀뢁 λ°”λ‘œκ°€κΈ°"
>
<FacebookIcon aria-hidden="true" />
</a>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="μΈμŠ€νƒ€κ·Έλž¨ λ°”λ‘œκ°€κΈ°"
>
<InstagramIcon aria-hidden="true" />
</a>
</div>
</footer>
</div>
<Layout>
<HeroSection />
<PrimarySection />
<SecondarySection />
</Layout>
);
}
1 change: 0 additions & 1 deletion src/app/reset.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ body {

body {
font-family: var(--font-pretendard), sans-serif;
height: 100vh;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 @devmanta λ‹˜μ΄ μΆ”κ°€ν•˜μ‹ κ±° 같은데
μ§€μš°μ‹  μ΄μœ κ°€ λ­”κ°€μš”??

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μœΌμ•… γ…  이거 μ—†μ–΄μ§€λ©΄ μ•ˆλŒ€λŠ”λ°γ… γ…œ

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

λ‹€μ‹œ λ„£μ—ˆμ–΄μš” πŸ˜‚

}

ul,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import styles from './ImageWrapper.module.css';
import Image from 'next/image';
import styles from './ImageWrapper.module.css';

interface Props {
src: string;
Expand Down
31 changes: 31 additions & 0 deletions src/components/landing/Footer/Footer.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.footer {
display: flex;
align-items: center;
justify-content: space-between;
padding: 40px 140px;
font-size: 16px;
font-weight: 400;
color: var(--gray-400);
}

.legalLinks {
display: flex;
gap: 32px;
}

.socialLinks {
display: flex;
align-items: center;
gap: 14px;
}

.socialLink:first-child {
width: 20px;
height: 20px;
}

.socialLink {
width: 22px;
height: 22px;
fill: white;
}
46 changes: 46 additions & 0 deletions src/components/landing/Footer/Footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import Link from 'next/link';
import EmailIcon from '/public/icons/email.svg';
import FacebookIcon from '/public/icons/facebook.svg';
import InstagramIcon from '/public/icons/instagram.svg';
import styles from './Footer.module.css';

export default function Footer() {
return (
<footer className={styles.footer}>
<div>Β©codeit - 2023</div>
<div className={styles.legalLinks}>
<Link href="/privacy-policy">Privacy Policy</Link>
<Link href="/faq">FAQ</Link>
</div>
<div className={styles.socialLinks}>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="이메일 λ°”λ‘œκ°€κΈ°"
>
<EmailIcon aria-hidden="true" />
</a>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="페이슀뢁 λ°”λ‘œκ°€κΈ°"
>
<FacebookIcon aria-hidden="true" />
</a>
<a
href="#"
target="_blank"
rel="noopener noreferrer"
className={styles.socialLink}
aria-label="μΈμŠ€νƒ€κ·Έλž¨ λ°”λ‘œκ°€κΈ°"
>
<InstagramIcon aria-hidden="true" />
</a>
</div>
</footer>
);
}
28 changes: 28 additions & 0 deletions src/components/landing/Header/Header.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.header {
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
left: 0;
top: 0;
z-index: 999;
width: 100%;
height: 70px;
padding: 15px 80px;
background-color: inherit;
}

.logo {
fill: white;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

λ˜‘κ°™κ²Ÿμ§€λ§Œ 저희 variables에 whiteμž‡μ–΄μ„œ κ·Έκ±° κ°–λ‹€ 써도 μ’‹κ² λ„€μš”~

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

varλž‘ button도 λ§žμΆ°μ„œ κ³ μΉ˜κ² μŠ΅λ‹ˆλ‹€ γ…‹γ…‹γ…‹

}

.nav {
display: flex;
gap: 36px;
}

.navLink {
font-size: 16px;
font-weight: 400;
line-height: 26px;
}
21 changes: 21 additions & 0 deletions src/components/landing/Header/Header.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import Link from 'next/link';
import CustomLogo from '@/components/CustomLogo';
import styles from './Header.module.css';

export default function Header() {
return (
<header className={styles.header}>
<Link href="/" aria-label="ν™ˆμœΌλ‘œ 이동">
<CustomLogo className={styles.logo} />
</Link>
<nav className={styles.nav}>
<Link href="/login" className={styles.navLink}>
둜그인
</Link>
<Link href="/signup" className={styles.navLink}>
νšŒμ›κ°€μž…
</Link>
</nav>
</header>
);
}
48 changes: 48 additions & 0 deletions src/components/landing/Section/HeroSection.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.section {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
max-width: 1200px;
margin-bottom: 180px;
}

.homeTitleWrapper {
display: flex;
align-items: center;
margin-bottom: 110px;
margin-top: 40px;
gap: 28px;
}

.homeImg {
width: 722px;
height: 423px;
}

.homeTitle {
font-size: 76px;
font-weight: 700;
color: white;
line-height: 100px;
letter-spacing: 2px;
}

.homeBrand {
font-family: var(--font-montserrat);
font-size: 90px;
font-weight: 700;
color: var(--violet);
line-height: 65px;
letter-spacing: 1px;
}

.homeLoginBtn {
display: inline-flex;
flex-shrink: 0;
align-items: center;
height: 54px;
padding: 9px 101px;
border-radius: 8px;
background: var(--violet);
}
23 changes: 23 additions & 0 deletions src/components/landing/Section/HeroSection.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import ImageWrapper from '../../ImageWrapper';
import Link from 'next/link';
import styles from './HeroSection.module.css';

export default function HeroSection() {
return (
<section className={styles.section}>
<ImageWrapper
src="/images/home.png"
alt="일정 관리 μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜"
className={styles.homeImg}
priority={true}
/>
<div className={styles.homeTitleWrapper}>
<div className={styles.homeTitle}>μƒˆλ‘œμš΄ 일정관리</div>
<div className={styles.homeBrand}>Taskify</div>
</div>
<Link href="/login" className={styles.homeLoginBtn}>
λ‘œκ·ΈμΈν•˜κΈ°
</Link>
</section>
);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
.card {
display: flex;
flex-shrink: 0;
align-items: flex-end;
justify-content: flex-end;
width: 100%;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ImageWrapper from '@/components/root/ImageWrapper';
import ImageWrapper from '@/components/ImageWrapper';
import styles from './MainCard.module.css';

interface Props {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ImageWrapper from '@/components/root/ImageWrapper';
import ImageWrapper from '@/components/ImageWrapper';
import styles from './MiniCard.module.css';

interface Props {
Expand Down
9 changes: 9 additions & 0 deletions src/components/landing/Section/PrimarySection.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.cardLg1 {
width: 594px;
height: 498px;
}

.cardLg2 {
width: 436px;
height: 502px;
}
Loading