"use client"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { harvestDetailsFormSchema } from "@/schemas/application.schema"; import { useForm } from "react-hook-form"; import { z } from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Button } from "@/components/ui/button"; type harvestSchema = z.infer; export default function HarvestDetailsForm({ onChange, }: { onChange: (data: harvestSchema) => void; }) { const form = useForm({ resolver: zodResolver(harvestDetailsFormSchema), defaultValues: { daysToFlower: 0, daysToMaturity: 0, harvestWindow: 0, estimatedLossRate: 0, harvestUnits: "", estimatedRevenue: 0, expectedYieldPer100ft: 0, expectedYieldPerAcre: 0, }, }); const onSubmit: (data: harvestSchema) => void = (data) => { onChange(data); }; return (
( Days To Flower
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Days To Maturity
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Harvest Window
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Estimated Loss Rate
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Harvest Units )} /> ( Estimated Revenue
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Expected Yield Per100ft
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} /> ( Expected Yield Per Acre
{ // convert to number const value = e.target.value ? parseInt(e.target.value, 10) : ""; field.onChange(value); }} />
)} />
); }