refactoring majeur (code dupliqué, mort, ...)

- Économie : ~1240 lignes de code dupliqué
- Réduction : ~60% du code modal
- Amélioration : Cohérence et maintenabilité
This commit is contained in:
Yannick Le Duc
2025-08-27 12:45:37 +02:00
parent 6acc7d9d35
commit dc388bf371
25 changed files with 1446 additions and 1821 deletions

30
src/lib/form-utils.ts Normal file
View File

@@ -0,0 +1,30 @@
/**
* Utilitaires centralisés pour la gestion des formulaires
*/
export function handleFormError(err: any, operation: string): string {
const errorMessage = err?.message || err?.details || `Erreur lors de ${operation}`;
console.error(`Erreur lors de ${operation}:`, err);
return errorMessage;
}
export function validateRequiredFields(data: Record<string, any>, requiredFields: string[]): string[] {
const errors: string[] = [];
for (const field of requiredFields) {
if (!data[field] || (typeof data[field] === 'string' && data[field].trim() === '')) {
errors.push(`Le champ "${field}" est requis`);
}
}
return errors;
}
export function validateEmail(email: string): boolean {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
export function formatErrorMessage(errors: string[]): string {
return errors.join('. ');
}