import Combobox from '@/components/combobox'; import InputError from '@/components/input-error'; import LoadingButton from '@/components/loading-button'; import { Accordion, AccordionContent, AccordionItem } from '@/components/ui/accordion'; import { Card } from '@/components/ui/card'; import { Checkbox } from '@/components/ui/checkbox'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; import courseDurations from '@/data/course-durations'; import { useForm, usePage } from '@inertiajs/react'; import { ExamUpdateProps } from '../../update'; const Pricing = () => { const { props } = usePage(); const { tab, exam, translate } = props; const { input } = translate; const { data, setData, post, errors, processing } = useForm({ tab: tab, pricing_type: exam.pricing_type || 'paid', price: exam.price || '', discount: Boolean(exam.discount) || false, discount_price: exam.discount_price || '', expiry_type: exam.expiry_type || '', expiry_duration: exam.expiry_duration || '', }); // Handle form submission const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); post(route('exams.update', { exam: exam.id })); }; const pricingTypes = ['free', 'paid']; return (
setData('pricing_type', value)} > {pricingTypes.map((type) => (
))}
setData('price', e.target.value)} placeholder="Enter your exam price ($0)" />
{ setData('discount', checked === true); }} />
{data.discount && (
setData('discount_price', e.target.value)} placeholder="Enter discount price" />
)}
setData('expiry_type', value)} > {['lifetime', 'limited_time'].map((expiry) => (
))}
setData('expiry_duration', selected.value)} />
Save Changes
); }; export default Pricing;