From c689dd346190c073a8e12e4eb319571ba90fae4b Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 16 Jun 2025 17:26:43 -0400 Subject: [PATCH] Added left-hand side menu. --- src/App.module.css | 95 +++++++++++++++++++++++++++++++++++++++++----- src/App.tsx | 58 ++++++++++++++++++++++------ 2 files changed, 132 insertions(+), 21 deletions(-) diff --git a/src/App.module.css b/src/App.module.css index 6a2138a..5e5331a 100644 --- a/src/App.module.css +++ b/src/App.module.css @@ -4,7 +4,33 @@ overflow: hidden; } -.mobileMenu { +.leftMobileMenu { + height: 100vh; + width: 0; + position: fixed; + z-index: 30; + top: 0; + left: 0; + background: white; + overflow-x: hidden; + transition: 0.5s ease-out; + box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); +} + +.leftMenuWrapper { + position: absolute; + right: 0; +} + +.leftMobileMenu .topNav { + display: flex; +} + +.leftMenuWrapper .closeButton { + margin: 10px 10px 10px auto; +} + +.rightMobileMenu { height: 100vh; width: 0; position: fixed; @@ -13,10 +39,15 @@ right: 0; background: white; overflow-x: hidden; - transition: 0.15s ease-out; + transition: 0.5s ease-out; box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2); } +.rightMenuWrapper { + position: absolute; + left: 0; +} + /* Large - Landscape Tablets / Desktops */ /* Medium - Portrait Tablets */ /* Horizontal layout, vertically scrolling picker and palette content */ @@ -85,14 +116,35 @@ flex: 1; } - .mobileMenu { + .leftMobileMenu { } - .mobileMenu.open { + .leftMobileMenu.open { width: 80vh; } - .mobileMenu .closeButton { + .leftMenuWrapper { + width: 80vh; + } + + .leftMobileMenu .topNav { + } + + .leftMenuWrapper .closeButton { + } + + .rightMobileMenu { + } + + .rightMobileMenu.open { + width: 80vh; + } + + .rightMenuWrapper { + width: 80vh; + } + + .rightMobileMenu .closeButton { margin: 10px; } @@ -139,7 +191,11 @@ display: flex; } - .menuButton { + .leftMenuButton { + margin-right: auto; + } + + .rightMenuButton { margin-left: auto; } @@ -149,14 +205,35 @@ .mobileBetaZone { } - .mobileMenu { + .leftMobileMenu { } - .mobileMenu.open { + .leftMobileMenu.open { width: 80%; } - .mobileMenu .closeButton { + .leftMenuWrapper { + width: 80vw; + } + + .leftMobileMenu .topNav { + } + + .leftMenuWrapper .closeButton { + } + + .rightMobileMenu { + } + + .rightMobileMenu.open { + width: 80%; + } + + .rightMenuWrapper { + width: 80vw; + } + + .rightMobileMenu .closeButton { margin: 10px; } diff --git a/src/App.tsx b/src/App.tsx index 65b8c86..a6e6f3e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5,11 +5,19 @@ import ColorValues from "./components/ColorValues/ColorValues"; import clsx from "clsx"; function App() { - const [menuOpen, setMenuOpen] = useState(false); + const [rightMenuOpen, setRightMenuOpen] = useState(false); + const [leftMenuOpen, setLeftMenuOpen] = useState(false); - const toggleMenu = () => setMenuOpen(!menuOpen); - const MenuButton = () => ( - + ); + const LeftMenuButton = () => ( + ); @@ -18,9 +26,12 @@ function App() {
- + + +
+
+
-
@@ -35,15 +46,38 @@ function App() {
- +
-
- -
Palette Library
+
+
+
+ +
+
User Info
+
+
+ +
+
+
+ +
+
Palette Library
+