feat(directory): add layout scaffold

This commit is contained in:
Haoyu Xu
2023-02-24 19:27:24 -05:00
parent 9c26de493a
commit e98bf8d7ea
18 changed files with 765 additions and 33 deletions

View File

@@ -0,0 +1,47 @@
import {
useState,
useEffect
} from 'react'
import './dropdown.css'
export default function Dropdown(props) {
const [hidden, setHidden] = useState(true)
const toggleDropdown = () => {
setHidden(!hidden)
}
return (
<>
<section className='dropdown'>
<section
className='text'
onClick={() => toggleDropdown()}
>
<span className='content'>{props.text}</span>
<span className={`icon ${hidden ? '' : 'active'}`}></span>
</section>
<ul className={`menu ${hidden ? '' : 'active'}`}>
{
props.menu.map((item) => {
return (
<li
key={item.name}
className={`item${item.name === props.text ? ' active' : ''}`}
onClick={() => props.onClick(item)}
>
{item.name}
</li>
)
})
}
</ul>
<section
className='overlay'
hidden={hidden}
onClick={() => toggleDropdown()}
/>
</section>
</>
)
}