diff --git a/resources/js/Pages/Admin/Candidates/Show.vue b/resources/js/Pages/Admin/Candidates/Show.vue index ed58ae3..476ac46 100644 --- a/resources/js/Pages/Admin/Candidates/Show.vue +++ b/resources/js/Pages/Admin/Candidates/Show.vue @@ -126,9 +126,14 @@ const aiAnalysis = ref(props.candidate.ai_analysis || null); const isAnalyzing = ref(false); const selectedProvider = ref(props.ai_config?.default || 'ollama'); +// Error Modal state +const showErrorModal = ref(false); +const modalErrorMessage = ref(""); + const runAI = async () => { if (!props.candidate.job_position_id) { - alert("Veuillez d'abord associer une fiche de poste à ce candidat."); + modalErrorMessage.value = "Veuillez d'abord associer une fiche de poste à ce candidat."; + showErrorModal.value = true; return; } @@ -140,7 +145,8 @@ const runAI = async () => { aiAnalysis.value = response.data; } catch (error) { console.error('AI Analysis Error:', error); - alert(error.response?.data?.error || "Une erreur est survenue lors de l'analyse."); + modalErrorMessage.value = error.response?.data?.error || "Une erreur est survenue lors de l'analyse."; + showErrorModal.value = true; } finally { isAnalyzing.value = false; } @@ -696,4 +702,28 @@ const runAI = async () => { + + + +
+
+
+ + + +
+

Attention

+
+ +

+ {{ modalErrorMessage }} +

+ +
+ + Fermer + +
+
+