diff --git a/components/core/UserNav/UserNav.module.css b/components/core/UserNav/UserNav.module.css index 45749a588..21b149f80 100644 --- a/components/core/UserNav/UserNav.module.css +++ b/components/core/UserNav/UserNav.module.css @@ -2,12 +2,11 @@ } .list { - @apply flex flex-row items-center; + @apply flex flex-row items-center h-full; } .item { - @apply mr-6 cursor-pointer relative transition ease-in-out duration-100 text-base; - + @apply mr-6 cursor-pointer relative transition ease-in-out duration-100 text-base flex items-center; &:hover { @apply text-accents-8; } diff --git a/components/ui/Button/Button.module.css b/components/ui/Button/Button.module.css index ba05a2c48..266e9e78d 100644 --- a/components/ui/Button/Button.module.css +++ b/components/ui/Button/Button.module.css @@ -20,3 +20,7 @@ .loading { @apply bg-accents-1 text-accents-3 border-accents-2 cursor-not-allowed; } + +.slim { + @apply py-2 transform-none normal-case; +} diff --git a/components/ui/Button/Button.tsx b/components/ui/Button/Button.tsx index 9d4213612..22e5b3605 100644 --- a/components/ui/Button/Button.tsx +++ b/components/ui/Button/Button.tsx @@ -13,7 +13,7 @@ import { LoadingDots } from '@components/ui' export interface ButtonProps extends ButtonHTMLAttributes { href?: string className?: string - variant?: 'filled' | 'outlined' | 'flat' | 'none' + variant?: 'flat' | 'slim' active?: boolean type?: 'submit' | 'reset' | 'button' Component?: string | JSXElementConstructor @@ -24,7 +24,7 @@ export interface ButtonProps extends ButtonHTMLAttributes { const Button: React.FC = forwardRef((props, buttonRef) => { const { className, - variant = 'filled', + variant = 'flat', children, active, onClick, @@ -50,6 +50,7 @@ const Button: React.FC = forwardRef((props, buttonRef) => { const rootClassName = cn( s.root, { + [s.slim]: variant === 'slim', [s.loading]: loading, }, className @@ -57,16 +58,16 @@ const Button: React.FC = forwardRef((props, buttonRef) => { return ( {children} {loading && ( diff --git a/components/ui/Logo/Logo.tsx b/components/ui/Logo/Logo.tsx index 616a73965..f15bde40a 100644 --- a/components/ui/Logo/Logo.tsx +++ b/components/ui/Logo/Logo.tsx @@ -1,12 +1,14 @@ -const Logo = () => ( +const Logo = ({ className = '', ...props }) => ( - + void +} + +const Modal: FC = ({ + className, + children, + show = true, + close, + ...props +}) => { + const rootClassName = cn(s.root, className) + let ref = useRef() as React.MutableRefObject + usePreventScroll() + let { modalProps } = useModal() + let { overlayProps } = useOverlay(props, ref) + let { dialogProps } = useDialog(props, ref) + + return ( +
+ +
+ {children} +
+
+
+ ) +} + +export default Modal diff --git a/components/ui/Modal/index.ts b/components/ui/Modal/index.ts new file mode 100644 index 000000000..e24753a1e --- /dev/null +++ b/components/ui/Modal/index.ts @@ -0,0 +1 @@ +export { default } from './Modal' diff --git a/components/ui/index.ts b/components/ui/index.ts index 6d0da5544..33de8eb71 100644 --- a/components/ui/index.ts +++ b/components/ui/index.ts @@ -7,3 +7,4 @@ export { default as Marquee } from './Marquee' export { default as Container } from './Container' export { default as LoadingDots } from './LoadingDots' export { default as Skeleton } from './Skeleton' +export { default as Modal } from './Modal' diff --git a/lib/commerce/cart/use-cart.tsx b/lib/commerce/cart/use-cart.tsx index bd1af710c..18afba7ba 100644 --- a/lib/commerce/cart/use-cart.tsx +++ b/lib/commerce/cart/use-cart.tsx @@ -19,10 +19,12 @@ export default function useCart( swrOptions?: ConfigInterface ) { const { cartCookie } = useCommerce() + const fetcher: typeof fetcherFn = (options, input, fetch) => { input.cartId = Cookies.get(cartCookie) return fetcherFn(options, input, fetch) } + const response = useData(options, input, fetcher, swrOptions) return Object.assign(response, { isEmpty: true }) as CartResponse diff --git a/pages/login.tsx b/pages/login.tsx new file mode 100644 index 000000000..b9cec445e --- /dev/null +++ b/pages/login.tsx @@ -0,0 +1,40 @@ +import { Layout } from '@components/core' +import { Logo, Modal, Button } from '@components/ui' + +export default function Login() { + return ( +
+ {}}> +
+
+ +
+
+
+ +
+
+ +
+ + + Don't have an account? + {` `} + + Sign Up + + +
+
+
+
+ ) +} + +Login.Layout = Layout