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 DashboardLayout from '@/layouts/dashboard/layout'; import { onHandleChange } from '@/lib/inertia'; import { useForm, usePage } from '@inertiajs/react'; import { ReactNode } from 'react'; import { CourseUpdateProps } from '../update'; const Pricing = () => { const { props } = usePage(); const { translate } = props; const { dashboard, input, button } = translate; const { tab, prices, expiries, course } = props; const { data, setData, post, errors, processing } = useForm({ tab: tab, pricing_type: course.pricing_type || '', price: course.price || '', discount: Boolean(course.discount) || false, discount_price: course.discount_price || '', expiry_type: course.expiry_type || '', expiry_duration: course.expiry_duration || '', }); // Handle form submission const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); post(route('courses.update', { id: course.id })); }; return (
setData('pricing_type', value)} > {prices.map((price) => (
))}
onHandleChange(e, setData)} placeholder={input.course_price_placeholder} />
{ setData('discount', checked as any); }} />
{data.discount && (
onHandleChange(e, setData)} placeholder={input.discount_price_placeholder} />
)}
setData('expiry_type', value)} > {expiries.map((expiry) => (
))}
setData('expiry_duration', selected.value)} />
{button.save_changes}
); }; Pricing.layout = (page: ReactNode) => ; export default Pricing;