From ec5b091cde991be8eb3786fc29cde96981a1cb81 Mon Sep 17 00:00:00 2001 From: shiva raj badu Date: Sun, 3 Aug 2025 00:13:02 +0545 Subject: [PATCH] fix(Nextjs): ImageEditor and Tiptap components for improved functionality --- servers/fastapi/chroma/chroma.sqlite3 | Bin 4329472 -> 4329472 bytes .../components/ImageEditor.tsx | 210 +++++++++++------- .../components/TiptapText.tsx | 2 + .../components/TiptapTextReplacer.tsx | 2 + .../pdf-maker/PdfMakerPage.tsx | 196 ++++++++-------- .../presentation/components/SlideContent.tsx | 19 +- 6 files changed, 239 insertions(+), 190 deletions(-) diff --git a/servers/fastapi/chroma/chroma.sqlite3 b/servers/fastapi/chroma/chroma.sqlite3 index 5f337926f6fb73ea274d91e3b2941259bc5ba34a..c35454c7e39142dab91db807cb46c2a859c5b2f7 100644 GIT binary patch delta 306 zcmWm9HxdB>06JpFz)>bNM9 zdQEO6^|^br%^_JBZti^L<^LY!qtH%5lVF4iW>{c_4R$!-gbQwX;Drny{0Jb35W { // State management const [previewImages, setPreviewImages] = useState(initialImage); - const [previousGeneratedImages, setPreviousGeneratedImages] = useState([]); + const [previousGeneratedImages, setPreviousGeneratedImages] = useState< + PreviousGeneratedImagesResponse[] + >([]); const [prompt, setPrompt] = useState(""); const [isGenerating, setIsGenerating] = useState(false); const [error, setError] = useState(null); @@ -65,7 +63,7 @@ const ImageEditor = ({ (properties && properties[imageIdx] && properties[imageIdx].initialObjectFit) || - "cover" + "cover" ); // Refs @@ -75,7 +73,6 @@ const ImageEditor = ({ setPreviewImages(initialImage); }, [initialImage]); - useEffect(() => { if (isOpen && !previousGeneratedImages.length) { getPreviousGeneratedImage(); @@ -91,26 +88,25 @@ const ImageEditor = ({ }, 300); // Match the Sheet animation duration }; - const getPreviousGeneratedImage = async () => { try { - const response = await PresentationGenerationApi.getPreviousGeneratedImages(); + const response = + await PresentationGenerationApi.getPreviousGeneratedImages(); setPreviousGeneratedImages(response); } catch (error: any) { toast.error("Failed to get previous generated images. Please try again."); console.error("error in getting previous generated images", error); - setError(error.message || "Failed to get previous generated images. Please try again."); + setError( + error.message || + "Failed to get previous generated images. Please try again." + ); } - } - - + }; /** * Handles image selection and calls the parent callback */ const handleImageChange = (newImage: string) => { - - if (onImageChange) { onImageChange(newImage, promptContent); setPreviewImages(newImage); @@ -230,17 +226,17 @@ const ImageEditor = ({ setUploadError(null); const formData = new FormData(); - formData.append('file', file); + formData.append("file", file); - const response = await fetch('/api/upload-image', { - method: 'POST', + const response = await fetch("/api/upload-image", { + method: "POST", body: formData, }); const result = await response.json(); if (!response.ok) { - throw new Error(result.error || 'Upload failed'); + throw new Error(result.error || "Upload failed"); } setUploadedImageUrl(result.filePath); @@ -254,8 +250,6 @@ const ImageEditor = ({ return (
- - handleClose()}> Upload - Edit + + Edit + {/* Generate Tab */} @@ -287,7 +283,9 @@ const ImageEditor = ({
-

Image Description

+

+ Image Description +