Files
mybabyguess/TODO.md
T
2026-05-03 21:58:59 +02:00

1.8 KiB

TODO — Le Juste Poids

Avatar / Photo de profil

1. Modifier la couleur de fond sans changer la photo

  • Problème : Dans le modal "Modifier la photo", changer la couleur de fond ne met à jour que la preview de crop local — mais si aucune nouvelle image n'est sélectionnée, le bouton "Enregistrer" ne fait rien (la condition if (!file && !selectedDefault) return bloque).
  • Solution : Permettre la sauvegarde de la bgColor seule via PATCH /users/me/avatar (ou un endpoint dédié). Si l'utilisateur n'a pas sélectionné de nouvelle image, envoyer uniquement la couleur + avatarUrl actuel.
  • La preview dans le modal devrait aussi afficher la photo actuelle avec la nouvelle couleur en arrière-plan pour que ce soit live.

2. Recadrer la photo existante

  • Question : Actuellement, à chaque "Enregistrer", un nouveau fichier PNG est généré par le canvas et uploadé. La position/zoom de crop n'est pas sauvegardée en base — seule l'image résultante l'est.
  • Conséquence : Pour recadrer différemment, il faudrait soit :
    • (A) Re-uploader le fichier original depuis le client (le navigateur ne peut pas relire un fichier déjà uploadé)
    • (B) Stocker l'image originale côté serveur (dans un champ profileImageOriginalUrl) et laisser le client la recharger pour recadrer
    • (Recommandé) Option B : À l'upload, sauvegarder aussi l'original non-croppé. En mode "recadrage", charger l'original dans le canvas et permettre de repositionner/zoomer → sauvegarder un nouveau crop sans supprimer/re-uploader.
  • À implémenter :
    • API : champ profileImageOriginalUrl dans le schéma Prisma
    • API : stocker l'original à l'upload (POST /users/me/photo)
    • Frontend : bouton "Recadrer" → charge l'original dans le modal en mode crop directement