1.8 KiB
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) returnbloque). - Solution : Permettre la sauvegarde de la
bgColorseule viaPATCH /users/me/avatar(ou un endpoint dédié). Si l'utilisateur n'a pas sélectionné de nouvelle image, envoyer uniquement la couleur +avatarUrlactuel. - 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
profileImageOriginalUrldans 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
- API : champ