mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
Merge pull request #125 from R0m1k3/claude/fix-notes-sync-issue-01AMeEdrKQErsM7bvhKkqEEF
fix: improve image upload error handling on mobile and desktop
This commit is contained in:
2 files changed
+30
-5
No files matched your search
+15
-3
@@ -1335,17 +1335,29 @@ const Index = () => {
|
||||
<input
|
||||
id="image-upload"
|
||||
type="file"
|
||||
accept="image/*"
|
||||
accept="image/jpeg,image/png,image/webp,image/gif"
|
||||
className="hidden"
|
||||
onChange={async (e) => {
|
||||
if (e.target.files && e.target.files[0] && openNote?.id) {
|
||||
const file = e.target.files[0];
|
||||
|
||||
// Vérifier la taille du fichier (5MB max)
|
||||
const maxSize = 5 * 1024 * 1024; // 5MB
|
||||
if (file.size > maxSize) {
|
||||
showError("L'image est trop grande (max 5MB)");
|
||||
e.target.value = '';
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const image = await NotesService.uploadImage(openNote.id, e.target.files[0]);
|
||||
const image = await NotesService.uploadImage(openNote.id, file);
|
||||
if (image) {
|
||||
const updatedImages = [...(openNote.images || []), image];
|
||||
setOpenNote({ ...openNote, images: updatedImages });
|
||||
await handleUpdateNote({ images: updatedImages });
|
||||
setNotes(prev => prev.map(note => note.id === openNote.id ? { ...note, images: updatedImages } : note));
|
||||
showSuccess("Image ajoutée");
|
||||
} else {
|
||||
showError("Erreur lors de l'upload de l'image");
|
||||
}
|
||||
} catch (error) {
|
||||
showError("Erreur lors de l'upload de l'image");
|
||||
|
||||
@@ -118,12 +118,25 @@ export default function NoteDetailPage() {
|
||||
|
||||
const handleImageUpload = async (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
if (!e.target.files || !e.target.files[0] || !note?.id) return;
|
||||
|
||||
const file = e.target.files[0];
|
||||
|
||||
// Vérifier la taille du fichier (5MB max)
|
||||
const maxSize = 5 * 1024 * 1024; // 5MB
|
||||
if (file.size > maxSize) {
|
||||
showError("L'image est trop grande (max 5MB)");
|
||||
e.target.value = '';
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const image = await NotesService.uploadImage(note.id, e.target.files[0]);
|
||||
const image = await NotesService.uploadImage(note.id, file);
|
||||
if (image) {
|
||||
const updatedImages = [...(note.images || []), image];
|
||||
setNote({ ...note, images: updatedImages });
|
||||
showSuccess("Image ajoutée");
|
||||
} else {
|
||||
showError("Erreur lors de l'upload de l'image");
|
||||
}
|
||||
} catch (error) {
|
||||
showError("Erreur lors de l'upload");
|
||||
@@ -228,7 +241,7 @@ export default function NoteDetailPage() {
|
||||
<input
|
||||
id="image-upload"
|
||||
type="file"
|
||||
accept="image/*"
|
||||
accept="image/jpeg,image/png,image/webp,image/gif"
|
||||
className="hidden"
|
||||
onChange={handleImageUpload}
|
||||
/>
|
||||
|
||||
Reference in new issue
Block a user