Skip to content

Commit b3fdb29

Browse files
Merge pull request #6 from tkyoun0421/develop
Feat: add sidebar
2 parents abb0338 + fb67774 commit b3fdb29

File tree

9 files changed

+157
-0
lines changed

9 files changed

+157
-0
lines changed

src/assets/company.svg

Lines changed: 10 additions & 0 deletions
Loading

src/assets/gallery.svg

Lines changed: 3 additions & 0 deletions
Loading

src/assets/home.svg

Lines changed: 3 additions & 0 deletions
Loading

src/assets/project.svg

Lines changed: 3 additions & 0 deletions
Loading

src/assets/right.svg

Lines changed: 3 additions & 0 deletions
Loading

src/components/SideBar.tsx

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import '../scss/components/_sidebar.scss';
2+
import { Link } from 'react-router-dom';
3+
4+
const SideBar = (): JSX.Element => {
5+
return (
6+
<>
7+
<aside className="nav">
8+
<ul className="nav__depth">
9+
<li className="nav__depth__item on">
10+
<Link to={'/'} className="nav__depth__link">
11+
<img src="./src/assets/home.svg" alt="홈" className="nav__depth__logo" />
12+
Home
13+
</Link>
14+
</li>
15+
<li className="nav__depth__item">
16+
<Link to={'/company'} className="nav__depth__link" data-type="toggle">
17+
<img src="./src/assets/company.svg" alt="회사 소개" className="nav__depth__logo" />
18+
회사 소개
19+
</Link>
20+
<ul className="nav__detail">
21+
<li className="nav__detail__item">
22+
<Link to={'/company/notice'} className="nav__detail__link on">
23+
공지사항
24+
</Link>
25+
</li>
26+
<li className="nav__detail__item">
27+
<Link to={'/company/chart'} className="nav__detail__link">
28+
회사 조직도
29+
</Link>
30+
</li>
31+
<li className="nav__detail__item">
32+
<Link to={'/company/bylaws'} className="nav__detail__link">
33+
회사 내규
34+
</Link>
35+
</li>
36+
</ul>
37+
</li>
38+
<li className="nav__depth__item">
39+
<Link to={'/project'} className="nav__depth__link">
40+
<img src="./src/assets/project.svg" alt="프로젝트" className="nav__depth__logo" />
41+
프로젝트
42+
</Link>
43+
</li>
44+
<li className="nav__depth__item">
45+
<Link to={'/gallery'} className="nav__depth__link">
46+
<img src="./src/assets/gallery.svg" alt="갤러리" className="nav__depth__logo" />
47+
갤러리
48+
</Link>
49+
</li>
50+
</ul>
51+
</aside>
52+
</>
53+
);
54+
};
55+
56+
export default SideBar;

src/scss/abstracts/_variables.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ $bg-light: #f8f9fc;
2222

2323
$failed: #e74a3b;
2424
$success: #1cc88a;
25+
26+
$gray: #3a3b45;
27+
$lightGray: #eaecf4;

src/scss/components/_sidebar.scss

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
@use '../abstracts/' as *;
2+
@use '../base/' as *;
3+
4+
.nav {
5+
width: 224px;
6+
height: 100vh;
7+
background-color: $blue;
8+
color: $white;
9+
font-size: 1.4rem;
10+
.nav__depth {
11+
display: flex;
12+
flex-direction: column;
13+
text-align: center;
14+
padding-left: 0;
15+
color: $white;
16+
&__item {
17+
list-style: none;
18+
position: relative;
19+
&.on {
20+
font-weight: $font-bold700;
21+
}
22+
}
23+
&__link {
24+
padding: 20px 16px;
25+
display: flex;
26+
align-items: center;
27+
text-decoration: none;
28+
color: $white;
29+
&:hover {
30+
background-color: $darkBlue;
31+
}
32+
}
33+
&__link[data-type='toggle']::after {
34+
content: '';
35+
width: 10px;
36+
height: 12px;
37+
background: url('../../assets/right.svg');
38+
background-position: center;
39+
background-repeat: no-repeat;
40+
margin-left: auto;
41+
}
42+
&__logo {
43+
margin-right: 10px;
44+
}
45+
.nav__detail {
46+
background-color: $white;
47+
width: 180px;
48+
height: 120px;
49+
display: flex;
50+
flex-direction: column;
51+
justify-content: space-around;
52+
margin: 0 auto;
53+
border-radius: 5px;
54+
&__item {
55+
width: 100%;
56+
}
57+
&__link {
58+
display: flex;
59+
color: $gray;
60+
font-size: 1.2rem;
61+
border-radius: 5px;
62+
margin: 0 5px;
63+
padding: 8px 16px;
64+
&.on {
65+
color: $blue;
66+
font-weight: $font-bold700;
67+
}
68+
&:hover {
69+
background-color: $lightGray;
70+
}
71+
}
72+
}
73+
}
74+
}

src/views/LandingPage.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import React from 'react';
22
import Header from '../components/Header';
33
import '../scss/base/_index.scss';
4+
import SideBar from '../components/SideBar';
45

56
export const LandingPage = (): JSX.Element => {
67
return (
78
<div>
89
<Header />
10+
<SideBar />
911
</div>
1012
);
1113
};

0 commit comments

Comments
 (0)