From 9d14e89aaa0b826c37122e96ba8a7e0920dd0166 Mon Sep 17 00:00:00 2001 From: Anoop M D Date: Sun, 2 Jan 2022 13:45:13 +0530 Subject: [PATCH] feat: top level collection dropdown --- .../src/components/Navbar/index.js | 2 +- .../src/components/Sidebar/StyledWrapper.js | 27 ++++++++++++ .../src/components/Sidebar/index.js | 42 ++++++++++++++++--- 3 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 packages/grafnode-components/src/components/Sidebar/StyledWrapper.js diff --git a/packages/grafnode-components/src/components/Navbar/index.js b/packages/grafnode-components/src/components/Navbar/index.js index fa4ce30df..59415f8de 100644 --- a/packages/grafnode-components/src/components/Navbar/index.js +++ b/packages/grafnode-components/src/components/Navbar/index.js @@ -7,7 +7,7 @@ import StyledWrapper from './StyledWrapper'; const Navbar = () => { return ( - + My Workspace diff --git a/packages/grafnode-components/src/components/Sidebar/StyledWrapper.js b/packages/grafnode-components/src/components/Sidebar/StyledWrapper.js new file mode 100644 index 000000000..6ef7bda54 --- /dev/null +++ b/packages/grafnode-components/src/components/Sidebar/StyledWrapper.js @@ -0,0 +1,27 @@ +import styled from 'styled-components'; + +const Wrapper = styled.aside` + .collection-title { + line-height: 1.5; + .collection-dropdown { + .dropdown-icon { + display: none; + color: rgb(110 110 110); + } + } + + &:hover { + background: #f7f7f7; + .dropdown-icon { + display: flex; + } + } + + div.tippy-box { + position: relative; + top: -0.625rem; + } + } +`; + +export default Wrapper; diff --git a/packages/grafnode-components/src/components/Sidebar/index.js b/packages/grafnode-components/src/components/Sidebar/index.js index 57737a374..da2ca3e0f 100644 --- a/packages/grafnode-components/src/components/Sidebar/index.js +++ b/packages/grafnode-components/src/components/Sidebar/index.js @@ -1,16 +1,46 @@ -import React from 'react'; +import React, { forwardRef, useRef } from 'react'; import Collections from './Collections'; import Navbar from '../Navbar'; -import { IconBox, IconSearch } from '@tabler/icons'; +import Dropdown from '../Dropdown'; +import { IconBox, IconSearch, IconDots } from '@tabler/icons'; +import StyledWrapper from './StyledWrapper'; const Sidebar = ({collections, actions, dispatch, activeRequestTabId}) => { + const menuDropdownTippyRef = useRef(); + const onMenuDropdownCreate = (ref) => menuDropdownTippyRef.current = ref; + const MenuIcon = forwardRef((props, ref) => { + return ( +
+ +
+ ); + }); + return ( - + ); };