Improved styling

+Added an icon for the side menu toggle
+Added side menu opening animation
*Refreshed some CSS
This commit is contained in:
izawartka 2025-06-09 14:53:51 +02:00
parent 6ba732b304
commit a5c74a15cc
6 changed files with 53 additions and 8 deletions

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="100mm" height="100mm" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="#000" stroke-linecap="round" stroke-width="10">
<path d="m20 25h60"/>
<path d="m20 50h60"/>
<path d="m20 75h60"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 302 B

View File

@ -11,4 +11,14 @@
flex-direction: row;
flex-wrap: wrap;
flex: 1;
}
.invis-button {
display: block;
background-color: transparent;
border: none;
padding: 0;
padding-block: 0;
padding-inline: 0;
appearance: none;
}

View File

@ -10,4 +10,15 @@
height: 100%;
background-color: #111;
z-index: 2000;
width: 15em;
transition: transform 0.3s ease-in-out;
}
.side-menu.closed {
transform: translateX(100%);
}
.layers-menu ul {
list-style-type: none;
padding-inline-start: 0;
}

View File

@ -7,13 +7,11 @@ import SelTrackColorMode from './SelTrackColorMode';
export default function SideMenu() {
const { sideMenuOpen } = useContext(MainContext);
if (!sideMenuOpen) {
return null;
}
const sideMenuClass = sideMenuOpen ? 'side-menu' : 'side-menu closed';
return (
<div className='side-menu-wrapper'>
<div className='side-menu'>
<div className={sideMenuClass}>
<LayersMenu />
<SelTrackColorMode />
</div>

View File

@ -1,8 +1,9 @@
import { useContext } from 'react';
import MainContext from '../../contexts/MainContext';
import { ReactSVG } from "react-svg";
export default function SideMenuToggle() {
const { sideMenuOpen, setSideMenuOpen } = useContext(MainContext);
const { setSideMenuOpen } = useContext(MainContext);
const toggleSideMenu = () => {
setSideMenuOpen((prev) => !prev);
@ -10,8 +11,10 @@ export default function SideMenuToggle() {
return (
<div className='side-menu-toggle'>
<button onClick={toggleSideMenu}>
{sideMenuOpen ? 'Hide Menu' : 'Show Menu'}
<button onClick={toggleSideMenu} className='invis-button'>
<ReactSVG
src="/assets/side-menu.svg"
/>
</button>
</div>
);

View File

@ -45,4 +45,19 @@
background-color: rgb(85, 204, 85);
opacity: 1;
animation: fadeOut 1s ease-in-out 2s forwards; /* Start fading out after 2 seconds */
}
}
.side-menu-toggle svg {
display: block;
height: 2rem;
width: 2rem;
}
.side-menu-toggle g {
stroke: #aaa;
}
.side-menu-toggle:hover g {
stroke: #fff;
}