feat: middle save
This commit is contained in:
parent
a2f00ac83e
commit
039ea6fb52
2 changed files with 45 additions and 5 deletions
19
src/App.scss
19
src/App.scss
|
@ -26,3 +26,22 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ka-menu {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 300px;
|
||||||
|
height: 100%;
|
||||||
|
position: fixed;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
background-color: var(--nav-color);
|
||||||
|
transition: transform 0.3s ease-in-out;
|
||||||
|
|
||||||
|
&.open {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
31
src/App.tsx
31
src/App.tsx
|
@ -4,7 +4,7 @@ import { useEffect, useState } from "react";
|
||||||
|
|
||||||
import "./App.scss";
|
import "./App.scss";
|
||||||
import kuma from "./assets/kuma.png";
|
import kuma from "./assets/kuma.png";
|
||||||
import { Menu } from "lucide-react";
|
import { Menu, PanelLeftClose } from "lucide-react";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
|
@ -42,18 +42,39 @@ function Dashboard() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function Header() {
|
function Header() {
|
||||||
|
const [open, setOpen] = useState(false);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<nav className="ka-nav">
|
<nav className="ka-nav">
|
||||||
<div className="title">
|
<a className="title">
|
||||||
<img src={kuma} alt="" />
|
<img src={kuma} alt="" />
|
||||||
<h4 className="title-content">Kuma Archive</h4>
|
<h4 className="title-content">Kuma Archive</h4>
|
||||||
</div>
|
</a>
|
||||||
|
|
||||||
<button>
|
<a onClick={ev => {
|
||||||
|
ev.preventDefault();
|
||||||
|
setOpen(!open);
|
||||||
|
}}>
|
||||||
<Menu />
|
<Menu />
|
||||||
</button>
|
</a>
|
||||||
|
<MenuView open={open} setOpen={setOpen} />
|
||||||
</nav>
|
</nav>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: create menu modal
|
||||||
|
function MenuView({ open, setOpen }: { open: boolean; setOpen: (value: boolean) => void }) {
|
||||||
|
return (
|
||||||
|
<div className={`ka-menu ${open ? "open" : ""}`}>
|
||||||
|
<a onClick={ev => {
|
||||||
|
ev.preventDefault();
|
||||||
|
setOpen(false);
|
||||||
|
}}>
|
||||||
|
<PanelLeftClose />
|
||||||
|
<span>Close</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
|
Loading…
Reference in a new issue