31 lines
998 B
TypeScript
31 lines
998 B
TypeScript
import { useState } from 'react';
|
|
import { pb } from '@/services/pocketbase';
|
|
|
|
export const useEvolutionRequest = () => {
|
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
const [submitSuccess, setSubmitSuccess] = useState(false);
|
|
const [error, setError] = useState<string | null>(null);
|
|
|
|
const submitRequest = async (subject: string, description: string) => {
|
|
setIsSubmitting(true);
|
|
setError(null);
|
|
try {
|
|
await pb.collection('aegis_tickets').create({
|
|
author: pb.authStore.model?.id,
|
|
company: pb.authStore.model?.company,
|
|
category: "Évolution",
|
|
subject,
|
|
description,
|
|
status: "Ouvert"
|
|
});
|
|
setSubmitSuccess(true);
|
|
} catch (err) {
|
|
console.error("Erreur ticket d'évolution :", err);
|
|
setError("Une erreur de communication est survenue. Nos systèmes sont alertés.");
|
|
} finally {
|
|
setIsSubmitting(false);
|
|
}
|
|
};
|
|
|
|
return { submitRequest, isSubmitting, submitSuccess, error };
|
|
}; |