From 0cacbcd20f0aea4b0c52f1ba6fe28feb7a2fb0a2 Mon Sep 17 00:00:00 2001 From: Developing-Gamer Date: Tue, 2 Jun 2026 10:57:31 -0700 Subject: [PATCH] Add PurchasePriceOption component for checkout pricing selection. Introduce a reusable radio-style price card used on the public purchase page. Co-authored-by: Cursor --- .../payments/purchase-price-option.tsx | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 apps/dashboard/src/components/payments/purchase-price-option.tsx diff --git a/apps/dashboard/src/components/payments/purchase-price-option.tsx b/apps/dashboard/src/components/payments/purchase-price-option.tsx new file mode 100644 index 000000000..f6425237b --- /dev/null +++ b/apps/dashboard/src/components/payments/purchase-price-option.tsx @@ -0,0 +1,56 @@ +"use client"; + +import { cn } from "@/lib/utils"; +import { getPriceLabel, shortenedInterval } from "./purchase-utils"; + +type PriceData = { + USD?: string, + interval?: [number, string], +}; + +type Props = { + priceId: string, + priceData: PriceData, + selected: boolean, + onSelect: (priceId: string) => void, +}; + +export function PurchasePriceOption({ priceId, priceData, selected, onSelect }: Props) { + return ( + + ); +}