AI Analysis: show match score on index and dashboard
This commit is contained in:
@@ -144,6 +144,7 @@ const sortedCandidates = computed(() => {
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</th>
|
</th>
|
||||||
|
<th class="px-6 py-4 font-semibold text-slate-700 dark:text-slate-300">Adéquation IA</th>
|
||||||
<th class="px-6 py-4 font-semibold text-slate-700 dark:text-slate-300">Documents</th>
|
<th class="px-6 py-4 font-semibold text-slate-700 dark:text-slate-300">Documents</th>
|
||||||
<th class="px-6 py-4 font-semibold text-slate-700 dark:text-slate-300 text-right">Actions</th>
|
<th class="px-6 py-4 font-semibold text-slate-700 dark:text-slate-300 text-right">Actions</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -191,6 +192,22 @@ const sortedCandidates = computed(() => {
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="px-6 py-4">
|
||||||
|
<div v-if="candidate.ai_analysis" class="flex items-center gap-2">
|
||||||
|
<div
|
||||||
|
class="px-2 py-0.5 rounded text-[10px] font-black"
|
||||||
|
:class="[
|
||||||
|
candidate.ai_analysis.match_score >= 80 ? 'bg-emerald-100 text-emerald-700' :
|
||||||
|
candidate.ai_analysis.match_score >= 60 ? 'bg-amber-100 text-amber-700' :
|
||||||
|
'bg-red-100 text-red-700'
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
{{ candidate.ai_analysis.match_score }}%
|
||||||
|
</div>
|
||||||
|
<span class="text-[10px] font-bold text-slate-400 uppercase truncate max-w-[60px]">{{ candidate.ai_analysis.verdict }}</span>
|
||||||
|
</div>
|
||||||
|
<span v-else class="text-[10px] text-slate-300 italic">Non analysé</span>
|
||||||
|
</td>
|
||||||
<td class="px-6 py-4">
|
<td class="px-6 py-4">
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<button
|
<button
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ const getStatusColor = (status) => {
|
|||||||
<tr class="bg-slate-50/50 dark:bg-slate-900/30">
|
<tr class="bg-slate-50/50 dark:bg-slate-900/30">
|
||||||
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Candidat</th>
|
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Candidat</th>
|
||||||
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Score Pondéré</th>
|
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Score Pondéré</th>
|
||||||
|
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Adéquation IA</th>
|
||||||
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Statut</th>
|
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400">Statut</th>
|
||||||
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400 text-right">Actions</th>
|
<th class="px-8 py-4 text-[10px] font-black uppercase tracking-[0.2em] text-slate-400 text-right">Actions</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -85,6 +86,21 @@ const getStatusColor = (status) => {
|
|||||||
{{ candidate.weighted_score }} / 20
|
{{ candidate.weighted_score }} / 20
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="px-8 py-5">
|
||||||
|
<div v-if="candidate.ai_analysis" class="flex items-center gap-2">
|
||||||
|
<div
|
||||||
|
class="px-2 py-0.5 rounded text-[10px] font-black"
|
||||||
|
:class="[
|
||||||
|
candidate.ai_analysis.match_score >= 80 ? 'bg-emerald-100 text-emerald-700' :
|
||||||
|
candidate.ai_analysis.match_score >= 60 ? 'bg-amber-100 text-amber-700' :
|
||||||
|
'bg-red-100 text-red-700'
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
{{ candidate.ai_analysis.match_score }}%
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<span v-else class="text-[10px] text-slate-300 italic font-medium">Non analysé</span>
|
||||||
|
</td>
|
||||||
<td class="px-8 py-5">
|
<td class="px-8 py-5">
|
||||||
<span
|
<span
|
||||||
class="px-3 py-1 text-[10px] font-black uppercase tracking-widest rounded-full"
|
class="px-3 py-1 text-[10px] font-black uppercase tracking-widest rounded-full"
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ Route::get('/dashboard', function () {
|
|||||||
'name' => $candidate->user->name,
|
'name' => $candidate->user->name,
|
||||||
'email' => $candidate->user->email,
|
'email' => $candidate->user->email,
|
||||||
'status' => $candidate->status,
|
'status' => $candidate->status,
|
||||||
'weighted_score' => $candidate->weighted_score
|
'weighted_score' => $candidate->weighted_score,
|
||||||
|
'ai_analysis' => $candidate->ai_analysis
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
->values()
|
->values()
|
||||||
|
|||||||
Reference in New Issue
Block a user