feat: 사이드바 추가
This commit is contained in:
parent
3530d867ec
commit
0642b55e33
5
frontend/src/components/SideBar/SideBar.jsx
Normal file
5
frontend/src/components/SideBar/SideBar.jsx
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import styles from './SideBar.module.css';
|
||||||
|
|
||||||
|
export default function SideBar({ children }) {
|
||||||
|
return <aside className={styles.sidebar}>{children}</aside>;
|
||||||
|
}
|
15
frontend/src/components/SideBar/SideBar.module.css
Normal file
15
frontend/src/components/SideBar/SideBar.module.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.sidebar {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 20px;
|
||||||
|
width: 320px;
|
||||||
|
|
||||||
|
& > ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
10
frontend/src/components/SideBar/SideItem.jsx
Normal file
10
frontend/src/components/SideBar/SideItem.jsx
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import styles from './SideItem.module.css';
|
||||||
|
|
||||||
|
export default function SideItem({ name, sub }) {
|
||||||
|
return (
|
||||||
|
<li className={styles.item}>
|
||||||
|
<div>{name}</div>
|
||||||
|
<div className={styles.sub}>{sub}</div>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
16
frontend/src/components/SideBar/SideItem.module.css
Normal file
16
frontend/src/components/SideBar/SideItem.module.css
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--text-color);
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub {
|
||||||
|
color: var(--text-color-secondary);
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
15
frontend/src/components/SideBar/SideLink.jsx
Normal file
15
frontend/src/components/SideBar/SideLink.jsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
import styles from './SideLink.module.css';
|
||||||
|
|
||||||
|
export default function SideLink({ children, path }) {
|
||||||
|
return (
|
||||||
|
<li>
|
||||||
|
<Link
|
||||||
|
to={path}
|
||||||
|
className={styles.link}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
8
frontend/src/components/SideBar/SideLink.module.css
Normal file
8
frontend/src/components/SideBar/SideLink.module.css
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.link {
|
||||||
|
width: 100%;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--text-color);
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
5
frontend/src/components/SideBar/SideTitle.jsx
Normal file
5
frontend/src/components/SideBar/SideTitle.jsx
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import styles from './SideTitle.module.css';
|
||||||
|
|
||||||
|
export default function SideTitle({ children }) {
|
||||||
|
return <div className={styles.title}>{children}</div>;
|
||||||
|
}
|
7
frontend/src/components/SideBar/SideTitle.module.css
Normal file
7
frontend/src/components/SideBar/SideTitle.module.css
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
.title {
|
||||||
|
width: 100%;
|
||||||
|
color: var(--text-color);
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
4
frontend/src/components/SideBar/index.js
Normal file
4
frontend/src/components/SideBar/index.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export { default as SideBar } from './SideBar';
|
||||||
|
export { default as SideItem } from './SideItem';
|
||||||
|
export { default as SideLink } from './SideLink';
|
||||||
|
export { default as SideTitle } from './SideTitle';
|
Loading…
Reference in New Issue
Block a user