Files
item_opina/hooks/useForm.ts
gestions-UO 838bec205e first commit
2026-05-11 20:50:44 +02:00

30 lines
783 B
TypeScript

"use client";
import { useState } from 'react';
import { supabase } from '@/lib/supabase/client';
export const useFormSubmit = (tableName: string) => {
const [isSubmitting, setIsSubmitting] = useState(false);
const [success, setSuccess] = useState(false);
const [error, setError] = useState<string | null>(null);
const submit = async (data: any) => {
setIsSubmitting(true);
setError(null);
try {
const { error: sbError } = await supabase
.from(tableName)
.insert([data]);
if (sbError) throw sbError;
setSuccess(true);
} catch (err: any) {
setError(err.message || 'Error al enviar los datos');
} finally {
setIsSubmitting(false);
}
};
return { submit, isSubmitting, success, error };
};