'use client' import * as z from "zod" import { zodResolver } from "@hookform/resolvers/zod" import { useForm } from "react-hook-form" import { Button } from "@/components/ui/button" import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form" import { Input } from "@/components/ui/input" import ScopeInput from './ScopeInput'; const formSchema = z.object({ instance: z.string().trim(), clientName: z.string().trim(), redirectUris: z.string().url().trim(), scopes: z.string().array().nonempty().optional(), website: z.string().trim().optional() }) const InputForm = () => { const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { clientName: '', redirectUris: 'urn:ietf:wg:oauth:2.0:oob', }, }) function onSubmit(values: z.infer) { // Do something with the form values. // ✅ This will be type-safe and validated. console.log(values) } return (

M-OAuth

( Instance )} /> ( Application name )} /> ( Application Website )} /> ( Redirect URI Use urn:ietf:wg:oauth:2.0:oob for local tests )} /> ( Scopes )} /> ); }; export default InputForm;