Rocky_Mountain_Vending/components/cart-button.tsx
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

37 lines
841 B
TypeScript

'use client'
import { Button } from '@/components/ui/button'
import { Badge } from '@/components/ui/badge'
import { ShoppingCart } from 'lucide-react'
import { useCart } from '@/lib/cart/context'
interface CartButtonProps {
onClick: () => void
}
export function CartButton({ onClick }: CartButtonProps) {
const { getItemCount } = useCart()
const itemCount = getItemCount()
return (
<Button
variant="ghost"
size="icon"
onClick={onClick}
className="relative"
aria-label="Shopping cart"
>
<ShoppingCart className="h-5 w-5" />
{itemCount > 0 && (
<Badge
variant="default"
className="absolute -top-1 -right-1 h-5 w-5 rounded-full p-0 flex items-center justify-center text-xs"
>
{itemCount}
</Badge>
)}
</Button>
)
}