"use client" import { Input } from "@/components/ui/input"; import { CellContext } from "@tanstack/react-table"; import { updateField } from "app/lib/update"; import { useState } from "react"; import { z } from "zod"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { toast } from "@/components/ui/use-toast"; import { Form, FormControl, FormField, FormItem, FormMessage } from "@/components/ui/form"; export default function InputCell(props: CellContext) { const [isActive, setIsActive] = useState(false) const table = props.table.options.meta.tableName const id = props.row.original.id const column = props.column.id const pathname = props.table.options.meta.pathname const formSchema = props.column.columnDef.meta.formSchema.pick({ [column]: true }) const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { [column]: props.cell.getValue() }, }) const type = typeof props.cell.getValue() console.log(type) function onSubmit(value: z.infer) { toast({ title: "You submitted the following values:", description: (
          {JSON.stringify(value, null, 2)}
        
), }) updateField({ id, table, [type]: value[column], column, pathname }) } function onErrors(errors) { toast({ title: "You have errors", description: (
          {JSON.stringify(errors, null, 2)}
        
), }) console.log(JSON.stringify(errors)) } return (
setIsActive(prev => !prev)} className="w-full h-fit flex items-center justify-center" tabIndex={0} onKeyDown={e => { if (e.code === "Space" && !isActive) { setIsActive(true) } }} > {isActive ?
( setIsActive(false)} > )} /> :

{props.cell.getValue()}

}
) }