From 21bfa76db0bb38f5dbb38816681d6b24cf6fd325 Mon Sep 17 00:00:00 2001 From: Henrik Larsson Date: Tue, 29 Aug 2023 20:56:11 +0200 Subject: [PATCH] Replace clsx with cn util --- components/cart/add-to-cart.tsx | 4 ++-- components/cart/close-cart.tsx | 10 --------- components/cart/delete-item-button.tsx | 4 ++-- components/cart/edit-item-quantity-button.tsx | 3 +-- components/cart/open-cart.tsx | 7 ++----- .../header/mobile-menu/open-mobile-menu.tsx | 4 ++-- .../layout/header/search/open-search.tsx | 5 +++-- .../header/user-menu/open-user-menu.tsx | 7 ++----- components/loading-dots.tsx | 8 +++---- components/product/variant-selector.tsx | 3 +-- components/prose.tsx | 21 ------------------- 11 files changed, 19 insertions(+), 57 deletions(-) delete mode 100644 components/cart/close-cart.tsx delete mode 100644 components/prose.tsx diff --git a/components/cart/add-to-cart.tsx b/components/cart/add-to-cart.tsx index c33456e2a..03001a827 100644 --- a/components/cart/add-to-cart.tsx +++ b/components/cart/add-to-cart.tsx @@ -1,7 +1,7 @@ 'use client'; +import { cn } from '@/lib/utils'; import { PlusIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; import { addItem } from 'components/cart/actions'; import LoadingDots from 'components/loading-dots'; import { ProductVariant } from 'lib/shopify/types'; @@ -51,7 +51,7 @@ export function AddToCart({ router.refresh(); }); }} - className={clsx( + className={cn( 'bg-blue-600 relative flex w-full items-center justify-center rounded-full p-4 tracking-wide text-white hover:opacity-90', { 'cursor-not-allowed opacity-60 hover:opacity-60': !availableForSale || !selectedVariantId, diff --git a/components/cart/close-cart.tsx b/components/cart/close-cart.tsx deleted file mode 100644 index 515b94843..000000000 --- a/components/cart/close-cart.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { XMarkIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; - -export default function CloseCart({ className }: { className?: string }) { - return ( -
- -
- ); -} diff --git a/components/cart/delete-item-button.tsx b/components/cart/delete-item-button.tsx index 45613730c..2a507c2c0 100644 --- a/components/cart/delete-item-button.tsx +++ b/components/cart/delete-item-button.tsx @@ -1,8 +1,8 @@ import LoadingDots from 'components/loading-dots'; import { useRouter } from 'next/navigation'; +import { cn } from '@/lib/utils'; import { XMarkIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; import { removeItem } from 'components/cart/actions'; import type { CartItem } from 'lib/shopify/types'; import { useTransition } from 'react'; @@ -28,7 +28,7 @@ export default function DeleteItemButton({ item }: { item: CartItem }) { }); }} disabled={isPending} - className={clsx( + className={cn( 'ease flex h-[17px] w-[17px] items-center justify-center rounded-full bg-neutral-500 transition-all duration-200', { 'cursor-not-allowed px-0': isPending diff --git a/components/cart/edit-item-quantity-button.tsx b/components/cart/edit-item-quantity-button.tsx index a032bd768..1ea08cf2d 100644 --- a/components/cart/edit-item-quantity-button.tsx +++ b/components/cart/edit-item-quantity-button.tsx @@ -2,7 +2,6 @@ import { useRouter } from 'next/navigation'; import { useTransition } from 'react'; import { MinusIcon, PlusIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; import { removeItem, updateItemQuantity } from 'components/cart/actions'; import LoadingDots from 'components/loading-dots'; import type { CartItem } from 'lib/shopify/types'; @@ -41,7 +40,7 @@ export default function EditItemQuantityButton({ }); }} disabled={isPending} - className={clsx( + className={cn( 'ease flex h-full min-w-[36px] max-w-[36px] flex-none items-center justify-center rounded-full px-2 transition-all duration-200 hover:border-neutral-800 hover:opacity-80', { 'cursor-not-allowed': isPending, diff --git a/components/cart/open-cart.tsx b/components/cart/open-cart.tsx index 3d7e98e3b..0019dbf91 100644 --- a/components/cart/open-cart.tsx +++ b/components/cart/open-cart.tsx @@ -1,5 +1,5 @@ +import { cn } from '@/lib/utils'; import { ShoppingBagIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; export default function OpenCart({ className, @@ -11,10 +11,7 @@ export default function OpenCart({ return (
{quantity ? ( diff --git a/components/layout/header/mobile-menu/open-mobile-menu.tsx b/components/layout/header/mobile-menu/open-mobile-menu.tsx index ebfd3a966..cc1fe3343 100644 --- a/components/layout/header/mobile-menu/open-mobile-menu.tsx +++ b/components/layout/header/mobile-menu/open-mobile-menu.tsx @@ -1,11 +1,11 @@ +import { cn } from '@/lib/utils'; import { Bars3Icon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; export default function OpenMobileMenu({ className }: { className?: string }) { return (
); diff --git a/components/layout/header/user-menu/open-user-menu.tsx b/components/layout/header/user-menu/open-user-menu.tsx index 2b88e6b37..9beb412e8 100644 --- a/components/layout/header/user-menu/open-user-menu.tsx +++ b/components/layout/header/user-menu/open-user-menu.tsx @@ -1,14 +1,11 @@ +import { cn } from '@/lib/utils'; import { UserCircleIcon } from '@heroicons/react/24/outline'; -import clsx from 'clsx'; export default function OpenUserMenu({ className }: { className?: string }) { return (
); diff --git a/components/loading-dots.tsx b/components/loading-dots.tsx index 10e642229..bfe242f6f 100644 --- a/components/loading-dots.tsx +++ b/components/loading-dots.tsx @@ -1,13 +1,13 @@ -import clsx from 'clsx'; +import { cn } from '@/lib/utils'; const dots = 'mx-[1px] inline-block h-1 w-1 animate-blink rounded-md'; const LoadingDots = ({ className }: { className: string }) => { return ( - - - + + + ); }; diff --git a/components/product/variant-selector.tsx b/components/product/variant-selector.tsx index 84b26b57a..8ba987ee5 100644 --- a/components/product/variant-selector.tsx +++ b/components/product/variant-selector.tsx @@ -1,6 +1,5 @@ 'use client'; -import clsx from 'clsx'; import { ProductOption, ProductVariant } from 'lib/shopify/types'; import { createUrl } from 'lib/utils'; import Link from 'next-intl/link'; @@ -88,7 +87,7 @@ export function VariantSelector({ aria-disabled={!isAvailableForSale} href={optionUrl} title={`${option.name} ${value}${!isAvailableForSale ? ' (Out of Stock)' : ''}`} - className={clsx( + className={cn( 'flex min-w-[48px] items-center justify-center rounded-full border bg-neutral-100 px-2 py-1 text-sm dark:border-neutral-800 dark:bg-neutral-900', { 'ring-blue-600 cursor-default ring-2': isActive, diff --git a/components/prose.tsx b/components/prose.tsx deleted file mode 100644 index f910d2296..000000000 --- a/components/prose.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import clsx from 'clsx'; -import type { FunctionComponent } from 'react'; - -interface TextProps { - html: string; - className?: string; -} - -const Prose: FunctionComponent = ({ html, className }) => { - return ( -
- ); -}; - -export default Prose;