feat: auto-save ciblé au blur avec feedback violet sur tous les champs
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 7m6s
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 7m6s
- Nouvelle action updateDimensionScore pour sauvegarder un seul champ en base sans envoyer tout le formulaire - DimensionCard : blur sur notes, justification, exemples, confiance → upsert ciblé + bordure violette 800ms - CandidateForm : même pattern sur tous les champs du cartouche - Bouton save passe aussi en violet (cohérence visuelle) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -107,6 +107,30 @@ export interface UpdateEvaluationInput {
|
||||
}[];
|
||||
}
|
||||
|
||||
export async function updateDimensionScore(
|
||||
evaluationId: string,
|
||||
dimensionId: string,
|
||||
data: { score?: number | null; justification?: string | null; examplesObserved?: string | null; confidence?: string | null; candidateNotes?: string | null }
|
||||
): Promise<ActionResult> {
|
||||
const session = await auth();
|
||||
if (!session?.user) return { success: false, error: "Non authentifié" };
|
||||
|
||||
const hasAccess = await canAccessEvaluation(evaluationId, session.user.id, session.user.role === "admin");
|
||||
if (!hasAccess) return { success: false, error: "Accès refusé" };
|
||||
|
||||
try {
|
||||
await prisma.dimensionScore.upsert({
|
||||
where: { evaluationId_dimensionId: { evaluationId, dimensionId } },
|
||||
update: data,
|
||||
create: { evaluationId, dimensionId, ...data },
|
||||
});
|
||||
revalidatePath(`/evaluations/${evaluationId}`);
|
||||
return { success: true };
|
||||
} catch (e) {
|
||||
return { success: false, error: e instanceof Error ? e.message : "Erreur" };
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateEvaluation(id: string, data: UpdateEvaluationInput): Promise<ActionResult> {
|
||||
const session = await auth();
|
||||
if (!session?.user) return { success: false, error: "Non authentifié" };
|
||||
|
||||
Reference in New Issue
Block a user