Skip to content

Commit 664bacf

Browse files
committed
[#103] ✨ add Header component
1 parent 2eb9937 commit 664bacf

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import { Link } from '@/components/common/button'
2+
import { Container } from '@/components/common/containers'
3+
import { Logo } from '@/components/common/logo'
4+
5+
import { HeaderUserMenu } from './HeaderUserMenu'
6+
7+
const headerTabs = [
8+
{ label: '포트폴리오', link: '/portfolio' },
9+
{ label: '프로젝트', link: '/project' },
10+
{ label: '팀원찾기', link: '/team' },
11+
{ label: '커뮤니티', link: '/community' },
12+
]
13+
14+
type HeaderProps = {
15+
isAuthenticated: boolean
16+
user: User | null
17+
}
18+
19+
const renderUserMenu = (isAuthenticated: boolean, user: User | null) => {
20+
return isAuthenticated && user ? (
21+
<HeaderUserMenu user={user} />
22+
) : (
23+
<Container className='flex items-center justify-between gap-12'>
24+
<Link href='/auth/sign-in' variant='outlined' size='lg'>
25+
로그인
26+
</Link>
27+
<Link href='/auth/sign-up' size='lg'>
28+
회원가입
29+
</Link>
30+
</Container>
31+
)
32+
}
33+
34+
export const Header = ({
35+
isAuthenticated,
36+
user = null,
37+
}: HeaderProps): JSX.Element => {
38+
return (
39+
<header className='flex w-full justify-center'>
40+
<Container className='flex h-72 w-full items-center justify-between'>
41+
<Logo />
42+
<Container className='flex items-center justify-between gap-48'>
43+
<Container className='flex items-center justify-between gap-40'>
44+
{headerTabs.map(headerTab => (
45+
<Link
46+
href={headerTab.link}
47+
variant='text'
48+
size='lg'
49+
className='w-118'
50+
key={headerTab.label}
51+
>
52+
{headerTab.label}
53+
</Link>
54+
))}
55+
</Container>
56+
{renderUserMenu(isAuthenticated, user)}
57+
</Container>
58+
</Container>
59+
</header>
60+
)
61+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Header } from './Header'
12
import { HeaderUserMenu } from './HeaderUserMenu'
23

3-
export { HeaderUserMenu }
4+
export { Header, HeaderUserMenu }

0 commit comments

Comments
 (0)