Added left-hand side menu.
This commit is contained in:
+86
-9
@@ -4,7 +4,33 @@
|
|||||||
overflow: hidden;
|
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;
|
height: 100vh;
|
||||||
width: 0;
|
width: 0;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@@ -13,10 +39,15 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
background: white;
|
background: white;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
transition: 0.15s ease-out;
|
transition: 0.5s ease-out;
|
||||||
box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
|
box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rightMenuWrapper {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Large - Landscape Tablets / Desktops */
|
/* Large - Landscape Tablets / Desktops */
|
||||||
/* Medium - Portrait Tablets */
|
/* Medium - Portrait Tablets */
|
||||||
/* Horizontal layout, vertically scrolling picker and palette content */
|
/* Horizontal layout, vertically scrolling picker and palette content */
|
||||||
@@ -85,14 +116,35 @@
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu {
|
.leftMobileMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu.open {
|
.leftMobileMenu.open {
|
||||||
width: 80vh;
|
width: 80vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu .closeButton {
|
.leftMenuWrapper {
|
||||||
|
width: 80vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMobileMenu .topNav {
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenuWrapper .closeButton {
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu {
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu.open {
|
||||||
|
width: 80vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMenuWrapper {
|
||||||
|
width: 80vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu .closeButton {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +191,11 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menuButton {
|
.leftMenuButton {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMenuButton {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,14 +205,35 @@
|
|||||||
.mobileBetaZone {
|
.mobileBetaZone {
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu {
|
.leftMobileMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu.open {
|
.leftMobileMenu.open {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobileMenu .closeButton {
|
.leftMenuWrapper {
|
||||||
|
width: 80vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMobileMenu .topNav {
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenuWrapper .closeButton {
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu {
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu.open {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMenuWrapper {
|
||||||
|
width: 80vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightMobileMenu .closeButton {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+43
-9
@@ -5,11 +5,19 @@ import ColorValues from "./components/ColorValues/ColorValues";
|
|||||||
import clsx from "clsx";
|
import clsx from "clsx";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const [menuOpen, setMenuOpen] = useState(false);
|
const [rightMenuOpen, setRightMenuOpen] = useState(false);
|
||||||
|
const [leftMenuOpen, setLeftMenuOpen] = useState(false);
|
||||||
|
|
||||||
const toggleMenu = () => setMenuOpen(!menuOpen);
|
const toggleRightMenu = () => setRightMenuOpen(!rightMenuOpen);
|
||||||
const MenuButton = () => (
|
const toggleLeftMenu = () => setLeftMenuOpen(!leftMenuOpen);
|
||||||
<button className={styles.menuButton} onClick={toggleMenu}>
|
|
||||||
|
const RightMenuButton = () => (
|
||||||
|
<button className={styles.rightMenuButton} onClick={toggleRightMenu}>
|
||||||
|
☰
|
||||||
|
</button>
|
||||||
|
);
|
||||||
|
const LeftMenuButton = () => (
|
||||||
|
<button className={styles.leftMenuButton} onClick={toggleLeftMenu}>
|
||||||
☰
|
☰
|
||||||
</button>
|
</button>
|
||||||
);
|
);
|
||||||
@@ -18,9 +26,12 @@ function App() {
|
|||||||
<div className={styles.appContainer}>
|
<div className={styles.appContainer}>
|
||||||
<div className={styles.mobileContent}>
|
<div className={styles.mobileContent}>
|
||||||
<div className={styles.mobileTopNav}>
|
<div className={styles.mobileTopNav}>
|
||||||
<MenuButton />
|
<LeftMenuButton />
|
||||||
|
<RightMenuButton />
|
||||||
|
</div>
|
||||||
|
<div className={styles.mobileLeftNav}>
|
||||||
|
<LeftMenuButton />
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.mobileLeftNav}></div>
|
|
||||||
<div className={styles.mobileAlphaZone}>
|
<div className={styles.mobileAlphaZone}>
|
||||||
<div className={styles.tabbedContainer}>
|
<div className={styles.tabbedContainer}>
|
||||||
<div className={clsx(styles.tab, styles.colorPickerContainer)}>
|
<div className={clsx(styles.tab, styles.colorPickerContainer)}>
|
||||||
@@ -35,16 +46,39 @@ function App() {
|
|||||||
<div className={styles.paletteEditorContainer}></div>
|
<div className={styles.paletteEditorContainer}></div>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.mobileRightNav}>
|
<div className={styles.mobileRightNav}>
|
||||||
<MenuButton />
|
<RightMenuButton />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className={clsx(styles.mobileMenu, { [styles.open]: menuOpen })}>
|
<div
|
||||||
<button className={styles.closeButton} onClick={toggleMenu}>
|
className={clsx(styles.leftMobileMenu, {
|
||||||
|
[styles.open]: leftMenuOpen,
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<div className={styles.leftMenuWrapper}>
|
||||||
|
<div className={styles.topNav}>
|
||||||
|
<button className={styles.closeButton} onClick={toggleLeftMenu}>
|
||||||
×
|
×
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className={styles.paletteLibraryContainer}>User Info</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
className={clsx(styles.rightMobileMenu, {
|
||||||
|
[styles.open]: rightMenuOpen,
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<div className={styles.rightMenuWrapper}>
|
||||||
|
<div className={styles.topNav}>
|
||||||
|
<button className={styles.closeButton} onClick={toggleRightMenu}>
|
||||||
|
×
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div className={styles.paletteLibraryContainer}>Palette Library</div>
|
<div className={styles.paletteLibraryContainer}>Palette Library</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className={styles.mainContent}>
|
<div className={styles.mainContent}>
|
||||||
<div className={styles.alphaZone}>
|
<div className={styles.alphaZone}>
|
||||||
|
|||||||
Reference in New Issue
Block a user