diff --git a/components/AccountModal/index.tsx b/components/AccountModal/index.tsx index 0567380e..d5337693 100644 --- a/components/AccountModal/index.tsx +++ b/components/AccountModal/index.tsx @@ -286,9 +286,9 @@ const AccountModal = (props: Props) => { return ( -
  • +
    {t('menu.settings')} -
  • +
    div { + section { display: flex; gap: $unit; } + img { + $diameter: 32px; + border-radius: calc($diameter / 2); + height: $diameter; + width: $diameter; + } + #DropdownWrapper { display: inline-block; padding-bottom: $unit; @@ -20,7 +27,7 @@ } &:hover { - padding-right: $unit-4x; + // padding-right: $unit-4x; .Button { background: var(--button-bg-hover); diff --git a/components/Header/index.tsx b/components/Header/index.tsx index d1c7250b..2fe2a72f 100644 --- a/components/Header/index.tsx +++ b/components/Header/index.tsx @@ -3,12 +3,13 @@ import { useSnapshot } from 'valtio' import { deleteCookie } from 'cookies-next' import { useRouter } from 'next/router' import { useTranslation } from 'next-i18next' - +import classNames from 'classnames' import clonedeep from 'lodash.clonedeep' import api from '~utils/api' import { accountState, initialAccountState } from '~utils/accountState' import { appState, initialAppState } from '~utils/appState' +import capitalizeFirstLetter from '~utils/capitalizeFirstLetter' import Button from '~components/Button' import HeaderMenu from '~components/HeaderMenu' @@ -16,10 +17,22 @@ import HeaderMenu from '~components/HeaderMenu' import AddIcon from '~public/icons/Add.svg' import LinkIcon from '~public/icons/Link.svg' import MenuIcon from '~public/icons/Menu.svg' +import ArrowIcon from '~public/icons/Arrow.svg' import SaveIcon from '~public/icons/Save.svg' -import classNames from 'classnames' import './index.scss' +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuSeparator, +} from '~components/DropdownMenuContent' +import Link from 'next/link' +import LoginModal from '~components/LoginModal' +import SignupModal from '~components/SignupModal' +import AccountModal from '~components/AccountModal' const Header = () => { // Localization @@ -30,19 +43,40 @@ const Header = () => { // State management const [open, setOpen] = useState(false) + const [leftMenuOpen, setLeftMenuOpen] = useState(false) + const [rightMenuOpen, setRightMenuOpen] = useState(false) // Snapshots const { account } = useSnapshot(accountState) const { party } = useSnapshot(appState) - function menuButtonClicked() { - setOpen(!open) + function handleLeftMenuButtonClicked() { + setLeftMenuOpen(!leftMenuOpen) + } + + function handleRightMenuButtonClicked() { + setRightMenuOpen(!rightMenuOpen) } function onClickOutsideMenu() { setOpen(false) } + function handleLeftMenuOpenChange(open: boolean) { + setLeftMenuOpen(open) + } + function handleRightMenuOpenChange(open: boolean) { + setRightMenuOpen(open) + } + + function closeLeftMenu() { + setLeftMenuOpen(false) + } + + function closeRightMenu() { + setRightMenuOpen(false) + } + function copyToClipboard() { const el = document.createElement('input') el.value = window.location.href @@ -69,6 +103,10 @@ const Header = () => { } function logout() { + // Close menu + closeRightMenu() + + // Delete cookies deleteCookie('account') deleteCookie('user') @@ -107,7 +145,7 @@ const Header = () => { if (router.route === '/p/[party]') return (