{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "software-purchase-card", "type": "registry:ui", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "card", "badge" ], "files": [ { "path": "components/ui/software-purchase-card.tsx", "content": "\"use client\"\n\nimport { Calendar, CreditCard, DollarSign, Users } from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\n\nexport interface SoftwarePurchaseCardProps {\n softwareName?: string\n startDate?: string\n seats?: number\n pricingType?: \"per-seat\" | \"flat-rate\" | \"usage-based\"\n price?: string\n onApprove?: () => void\n onDiscard?: () => void\n}\n\nexport function SoftwarePurchaseCard({\n softwareName = \"Enterprise Cloud Suite\",\n startDate = \"2025-01-15\",\n seats = 50,\n pricingType = \"per-seat\",\n price = \"$2,500\",\n onApprove,\n onDiscard,\n}: SoftwarePurchaseCardProps) {\n const pricingTypeLabel = {\n \"per-seat\": \"Per Seat\",\n \"flat-rate\": \"Flat Rate\",\n \"usage-based\": \"Usage Based\",\n }[pricingType]\n\n return (\n \n \n \n {softwareName}\n {pricingTypeLabel}\n \n \n \n
\n \n
\n Start Date\n \n {new Date(startDate).toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n })}\n \n
\n
\n\n
\n \n
\n Seats\n {seats} users\n
\n
\n\n
\n \n
\n Pricing Type\n {pricingTypeLabel}\n
\n
\n\n
\n \n
\n \n {pricingType === \"per-seat\" ? \"Monthly Cost\" : \"Price\"}\n \n {price}\n
\n
\n
\n \n \n \n \n
\n )\n}\n", "type": "registry:ui" } ] }