From 17e8d4c4daf43788ffb563fd5adecf55b57e97d2 Mon Sep 17 00:00:00 2001 From: Bel Curcio Date: Tue, 15 Mar 2022 19:28:13 +0100 Subject: [PATCH] Dropdown fix --- site/components/common/Layout/Layout.tsx | 6 +- .../common/SidebarLayout/SidebarLayout.tsx | 5 +- .../AuthMenuSidebarView.module.css | 3 - .../AuthMenuSidebarView.tsx | 11 ---- .../UserNav/AuthMenuSidebarView/index.ts | 1 - .../CustomerMenuContent.module.css | 17 ++++- .../CustomerMenuContent.tsx | 31 +++++++-- .../UserNav/CustomerMenuContent/index.ts | 2 +- site/components/common/UserNav/UserNav.tsx | 63 +++++++------------ site/components/common/UserNav/index.ts | 1 - .../ui/Dropdown/Dropdown.module.css | 4 +- site/components/ui/index.ts | 1 + 12 files changed, 70 insertions(+), 75 deletions(-) delete mode 100644 site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.module.css delete mode 100644 site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.tsx delete mode 100644 site/components/common/UserNav/AuthMenuSidebarView/index.ts diff --git a/site/components/common/Layout/Layout.tsx b/site/components/common/Layout/Layout.tsx index b0f31f63a..f9956f063 100644 --- a/site/components/common/Layout/Layout.tsx +++ b/site/components/common/Layout/Layout.tsx @@ -13,10 +13,7 @@ import { Sidebar, Button, LoadingDots } from '@components/ui' import PaymentMethodView from '@components/checkout/PaymentMethodView' import CheckoutSidebarView from '@components/checkout/CheckoutSidebarView' import { CheckoutProvider } from '@components/checkout/context' -import { - AuthMenuSidebarView, - MenuSidebarView, -} from '@components/common/UserNav' +import { MenuSidebarView } from '@components/common/UserNav' import type { Page } from '@commerce/types/page' import type { Category } from '@commerce/types/site' import type { Link as LinkProps } from '../UserNav/MenuSidebarView' @@ -89,7 +86,6 @@ const SidebarView: React.FC<{ {sidebarView === 'CHECKOUT_VIEW' && } {sidebarView === 'PAYMENT_VIEW' && } {sidebarView === 'SHIPPING_VIEW' && } - {sidebarView === 'MOBILE_CUSTOMERMENU_VIEW' && } {sidebarView === 'MOBILE_MENU_VIEW' && } ) diff --git a/site/components/common/SidebarLayout/SidebarLayout.tsx b/site/components/common/SidebarLayout/SidebarLayout.tsx index 407a938ea..dd994e9aa 100644 --- a/site/components/common/SidebarLayout/SidebarLayout.tsx +++ b/site/components/common/SidebarLayout/SidebarLayout.tsx @@ -38,9 +38,8 @@ const SidebarLayout: FC = ({ Back )} - - - + +
{children}
diff --git a/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.module.css b/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.module.css deleted file mode 100644 index bb1b4d30c..000000000 --- a/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.root { - min-height: 100vh; -} diff --git a/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.tsx b/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.tsx deleted file mode 100644 index 4342fcd56..000000000 --- a/site/components/common/UserNav/AuthMenuSidebarView/AuthMenuSidebarView.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { useUI } from '@components/ui/context' -import SidebarLayout from '@components/common/SidebarLayout' - -export default function AuthMenuSidebarView() { - const { closeSidebar } = useUI() - return ( - closeSidebar()}> - THIS IS A SIDEBAR VIEW - - ) -} diff --git a/site/components/common/UserNav/AuthMenuSidebarView/index.ts b/site/components/common/UserNav/AuthMenuSidebarView/index.ts deleted file mode 100644 index 70b8846dc..000000000 --- a/site/components/common/UserNav/AuthMenuSidebarView/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './AuthMenuSidebarView' diff --git a/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.module.css b/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.module.css index 4a6b9afc6..11bc84853 100644 --- a/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.module.css +++ b/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.module.css @@ -14,11 +14,22 @@ } .root { - display: hidden; + @apply inset-0 fixed; + left: 72px; + z-index: 10; + height: 100vh; + min-width: 100vw; + transition: none; } -@media (min-width: 767px) { +.placeholder { + height: 68px; +} + +@media screen(lg) { .root { - display: block; + @apply static; + min-width: inherit; + height: inherit; } } diff --git a/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.tsx b/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.tsx index 30ccc30b4..d576e769c 100644 --- a/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.tsx +++ b/site/components/common/UserNav/CustomerMenuContent/CustomerMenuContent.tsx @@ -1,12 +1,15 @@ import cn from 'clsx' import { useTheme } from 'next-themes' import { useRouter } from 'next/router' -import { Moon, Sun } from '@components/icons' +import { UserNav } from '@components/common' +import { Moon, Sun, Cross } from '@components/icons' import s from './CustomerMenuContent.module.css' import useLogout from '@framework/auth/use-logout' import { + Dropdown as DropdownRoot, DropdownMenuItem, DropdownContent, + DropdownTrigger, } from '@components/ui/Dropdown/Dropdown' const LINKS = [ @@ -24,6 +27,8 @@ const LINKS = [ }, ] +export const Dropdown = + export default function CustomerMenuContent() { const router = useRouter() const logout = useLogout() @@ -35,14 +40,32 @@ export default function CustomerMenuContent() { } return ( - + + {/*
+ +
+ +
+
*/} {LINKS.map(({ name, href }) => ( handleClick(e, href)} className={cn(s.link, { [s.active]: pathname === href, })} + onClick={(e) => handleClick(e, href)} > {name} @@ -52,7 +75,7 @@ export default function CustomerMenuContent() { { - theme === 'dark' ? setTheme('light') : setTheme('dark') + setTheme(theme === 'dark' ? 'light' : 'dark') }} >
diff --git a/site/components/common/UserNav/CustomerMenuContent/index.ts b/site/components/common/UserNav/CustomerMenuContent/index.ts index b465e81d6..2802f9d01 100644 --- a/site/components/common/UserNav/CustomerMenuContent/index.ts +++ b/site/components/common/UserNav/CustomerMenuContent/index.ts @@ -1 +1 @@ -export { default } from './CustomerMenuContent' +export { default as CustomerMenuContent } from './CustomerMenuContent' diff --git a/site/components/common/UserNav/UserNav.tsx b/site/components/common/UserNav/UserNav.tsx index 6e3549797..7de19c76e 100644 --- a/site/components/common/UserNav/UserNav.tsx +++ b/site/components/common/UserNav/UserNav.tsx @@ -1,19 +1,18 @@ import cn from 'clsx' import Link from 'next/link' import s from './UserNav.module.css' -import useCart from '@framework/cart/use-cart' -import CustomerMenuContent from './CustomerMenuContent' -import Button from '@components/ui/Button' -import { useUI } from '@components/ui/context' import { Avatar } from '@components/common' +import useCart from '@framework/cart/use-cart' +import { useUI } from '@components/ui/context' import { Heart, Bag, Menu } from '@components/icons' +import { CustomerMenuContent, Dropwdown } from './CustomerMenuContent' import useCustomer from '@framework/customer/use-customer' +import React from 'react' import { Dropdown, - DropdownContent, - DropdownTrigger, - DropdownMenuItem, -} from '@components/ui/Dropdown/Dropdown' + DropdownTrigger as DropdownTriggerInst, + Button, +} from '@components/ui' import type { LineItem } from '@commerce/types/cart' @@ -33,6 +32,9 @@ const UserNav: React.FC<{ } = useUI() const itemsCount = data?.lineItems.reduce(countItem, 0) ?? 0 + const DropdownTrigger = isCustomerLoggedIn + ? DropdownTriggerInst + : React.Fragment return (