Feature: Remplacement de tous les prompts par des modaux + Fix RSS refresh

Modaux :
- Création ConfirmModal pour confirmations avec variants (default/destructive)
- Création InputModal pour saisie de texte/URL/mot de passe
- Création AddUserModal pour création d'utilisateur avec admin checkbox
- Remplacement de tous les prompt() et confirm() par des modaux modernes
- Modaux pour : suppression note, ajout todo, ajout RSS, ajout utilisateur, suppression utilisateur, changement mot de passe, ajout todo dans note

Fix RSS :
- Ajout route POST /api/rss/refresh (alias de /api/rss/fetch)
- Fix uploadImage retour avec result.image || result

UX améliorée :
- Plus de popups navigateur natifs
- Interface cohérente et moderne
- Validation dans les modaux
- Support touche Entrée dans les InputModals
- Auto-focus sur le champ de saisie
This commit is contained in:
Claude committed 2025-11-12 09:24:16 +00:00
1 parent 702d0c2088
commit f8ec63b5ef
6 files changed
+409 -81

No files matched your search

+5 -4
View File
@@ -130,7 +130,7 @@ class NotesService {
async uploadImage(noteId: number, file: File): Promise<Image | null> {
const formData = new FormData();
formData.append("image", file);
try {
const response = await fetch(`/api/notes/${noteId}/images`, {
method: "POST",
@@ -139,12 +139,13 @@ class NotesService {
},
body: formData
});
if (!response.ok) {
throw new Error("Erreur lors de l'upload de l'image");
}
return await response.json();
const result = await response.json();
return result.image || result;
} catch (error) {
showError(error instanceof Error ? error.message : "Erreur serveur");
return null;