'use client'; import { Badge } from '@workspace/ui/components/badge'; import { Label } from '@workspace/ui/components/label'; import { RadioGroup, RadioGroupItem } from '@workspace/ui/components/radio-group'; import { useTranslations } from 'next-intl'; import React, { useCallback } from 'react'; interface DurationSelectorProps { quantity: number; unitTime?: string; discounts?: Array<{ quantity: number; discount: number }>; onChange: (value: number) => void; } const DurationSelector: React.FC = ({ quantity, unitTime = 'Month', discounts = [], onChange, }) => { const t = useTranslations('subscribe'); const handleChange = useCallback( (value: string) => { onChange(Number(value)); }, [onChange], ); const DurationOption: React.FC<{ value: string; label: string }> = ({ value, label }) => (
); const currentDiscount = discounts?.find((item) => item.quantity === quantity)?.discount; const discountPercentage = currentDiscount ? 100 - currentDiscount : 0; return ( <>
{t('purchaseDuration')}
{unitTime !== 'Minute' && } {discounts?.map((item) => ( ))}
{t('discountInfo')}: {discountPercentage > 0 ? ( -{discountPercentage}% {t('discount')} ) : ( -- )}
); }; export default DurationSelector;