# Synchronisation des notes : Auto-déclaration → Staff/Salariés

## Problème résolu

Les notes saisies par les salariés dans le formulaire d'auto-déclaration n'étaient **pas visibles** dans la section "Notes" de la page staff/salaries.

### Situation avant correction

- ✅ Les notes étaient sauvegardées dans `justificatifs_personnels` (format JSON)
- ❌ Les notes n'étaient PAS enregistrées dans le champ `notes`
- ❌ Le staff ne pouvait pas voir ces notes dans l'interface staff/salaries

**Conséquence** : Les informations importantes communiquées par les salariés restaient invisibles pour le staff.

## Solution appliquée

### Modifications dans `/app/api/auto-declaration/route.ts`

La logique d'enregistrement des notes a été améliorée pour :

1. **Récupérer les notes existantes** avant d'ajouter les nouvelles
2. **Ajouter la nouvelle note avec horodatage** au champ `notes` visible par le staff
3. **Préserver l'historique** dans `justificatifs_personnels` (format JSON)

### Code modifié

```typescript
if (updateData.notes) {
  // Récupérer les notes existantes pour les préserver
  const { data: currentSalarie } = await sb
    .from('salaries')
    .select('notes, justificatifs_personnels')
    .eq('id', tokenData.salarie_id)
    .single();
  
  // Préparer la nouvelle note avec horodatage
  const currentDate = new Date().toISOString().split('T')[0];
  const currentTime = new Date().toLocaleString('fr-FR');
  const newNote = `[${currentTime} - Auto-déclaration]\n${updateData.notes}`;
  
  // Ajouter aux notes existantes ou créer une nouvelle note
  if (currentSalarie?.notes) {
    dataToUpdate.notes = `${currentSalarie.notes}\n\n${newNote}`;
  } else {
    dataToUpdate.notes = newNote;
  }
  
  // Également ajouter aux justificatifs personnels (format JSON) pour historique
  const noteEntry = {
    date: currentDate,
    source: 'auto-declaration',
    notes: updateData.notes
  };
  
  dataToUpdate.justificatifs_personnels = JSON.stringify([noteEntry]);
}
```

## Fonctionnement

### 1. Horodatage automatique
Chaque note de l'auto-déclaration est précédée de :
```
[17/10/2025 à 14:30:25 - Auto-déclaration]
```

### 2. Préservation des notes existantes
- Si le salarié avait déjà des notes (ajoutées par le staff), elles sont conservées
- La nouvelle note est ajoutée à la suite avec une double ligne de séparation (`\n\n`)

### 3. Double sauvegarde
- **Champ `notes`** : Visible immédiatement par le staff sur staff/salaries
- **Champ `justificatifs_personnels`** : Historique structuré au format JSON

## Format des notes

### Exemple avec première note
```
[17/10/2025 à 14:30:25 - Auto-déclaration]
Je suis disponible pour commencer le contrat dès le 20 octobre. 
J'ai déjà travaillé sur des productions similaires.
```

### Exemple avec notes multiples
```
[15/10/2025 à 10:00:00 - Staff]
Candidat intéressant pour le projet XYZ

[17/10/2025 à 14:30:25 - Auto-déclaration]
Je suis disponible pour commencer le contrat dès le 20 octobre. 
J'ai déjà travaillé sur des productions similaires.
```

## Avantages

### ✅ Visibilité immédiate
- Les notes des salariés apparaissent instantanément dans l'interface staff
- Pas besoin de chercher dans les justificatifs personnels

### ✅ Traçabilité
- Horodatage précis de chaque note
- Source clairement identifiée (Auto-déclaration vs Staff)
- Historique complet préservé

### ✅ Communication améliorée
- Le staff peut voir les informations importantes des salariés
- Facilite le suivi et la coordination
- Évite les oublis ou pertes d'information

## Interface utilisateur

### Page auto-déclaration
Le salarié voit :
```
Section "Notes"
┌─────────────────────────────────────────────┐
│ Informations complémentaires               │
│ ┌─────────────────────────────────────────┐ │
│ │ [Zone de texte libre]                   │ │
│ │                                         │ │
│ │                                         │ │
│ └─────────────────────────────────────────┘ │
│ Utilisez ce champ libre si vous devez     │
│ mentionner toutes les informations        │
│ complémentaires.                          │
└─────────────────────────────────────────────┘
```

### Page staff/salaries
Le staff voit la note dans le panneau latéral :
```
Section "Notes"
┌─────────────────────────────────────────────┐
│ [17/10/2025 à 14:30:25 - Auto-déclaration] │
│ Je suis disponible pour commencer le       │
│ contrat dès le 20 octobre.                 │
└─────────────────────────────────────────────┘
```

## Tests recommandés

1. ✅ Saisir une note sur l'auto-déclaration
2. ✅ Vérifier qu'elle apparaît dans staff/salaries
3. ✅ Vérifier l'horodatage et la source
4. ✅ Ajouter une deuxième note et vérifier la concaténation
5. ✅ Vérifier que les notes staff existantes sont préservées
6. ✅ Tester avec un salarié sans note existante
7. ✅ Tester avec un salarié ayant déjà des notes staff

## Fichiers modifiés

- ✅ `/app/api/auto-declaration/route.ts` - Logique d'enregistrement des notes

## Rétrocompatibilité

- ✅ Les anciennes notes (si existantes) sont préservées
- ✅ Le format JSON dans `justificatifs_personnels` reste fonctionnel
- ✅ Aucune migration de données nécessaire
