diff --git a/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx b/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx index 8825f3ac..cd2a6c6e 100644 --- a/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx +++ b/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx @@ -12,7 +12,7 @@ import { cn } from "@/lib/utils"; import { useDispatch, useSelector } from "react-redux"; import { PresentationGenerationApi } from "../services/api/presentation-generation"; import { RootState } from "@/store/store"; -import { usePathname } from "next/navigation"; +import { usePathname, useSearchParams } from "next/navigation"; import { Skeleton } from "@/components/ui/skeleton"; import { Button } from "@/components/ui/button"; import { updateSlideIcon } from "@/store/slices/presentationGeneration"; @@ -48,7 +48,7 @@ const IconsEditor = ({ icon_prompt?.[0] || "" ); const [loading, setLoading] = useState(true); - const path = usePathname(); + const searchParams = useSearchParams(); useEffect(() => { setIcon(initialIcon); @@ -66,12 +66,12 @@ const IconsEditor = ({ const handleIconSearch = async () => { setLoading(true); - const presentation_id = path.split("/")[2]; + const presentation_id = searchParams.get("id"); const query = searchQuery.length > 0 ? searchQuery : icon_prompt?.[0] || ""; try { const data = await PresentationGenerationApi.searchIcons({ - presentation_id, + presentation_id: presentation_id!, query, page: 1, limit: 40, diff --git a/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx b/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx index f6d1c8e2..1a7cb5d5 100644 --- a/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx +++ b/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx @@ -20,7 +20,7 @@ import { cn } from "@/lib/utils"; import { useDispatch, useSelector } from "react-redux"; import { PresentationGenerationApi } from "../services/api/presentation-generation"; import { RootState } from "@/store/store"; -import { usePathname } from "next/navigation"; +import { usePathname, useSearchParams } from "next/navigation"; import { Skeleton } from "@/components/ui/skeleton"; import { updateSlideImage, @@ -35,7 +35,6 @@ import { } from "@/components/ui/popover"; import ToolTip from "@/components/ToolTip"; import { getEnv } from "@/utils/constant"; -import { ipcRenderer } from "electron"; interface ImageEditorProps { initialImage: string | null; @@ -62,16 +61,14 @@ const ImageEditor = ({ const { currentTheme } = useSelector((state: RootState) => state.theme); - const path = usePathname(); + const searchParams = useSearchParams(); const [image, setImage] = useState(initialImage); const [previewImages, setPreviewImages] = useState([initialImage]); - const [searchedImages, setSearchedImages] = useState([]); + const [isEditorOpen, setIsEditorOpen] = useState(false); const [isToolbarOpen, setIsToolbarOpen] = useState(false); const [prompt, setPrompt] = useState(""); - const [searchQuery, setSearchQuery] = useState(""); const [isGenerating, setIsGenerating] = useState(false); - const [isSearching, setIsSearching] = useState(false); const [error, setError] = useState(null); const [isUploading, setIsUploading] = useState(false); const [uploadError, setUploadError] = useState(null); @@ -213,10 +210,10 @@ const ImageEditor = ({ setIsGenerating(true); setError(null); - const presentation_id = path.split("/")[2]; + const presentation_id = searchParams.get("id"); const response = await PresentationGenerationApi.generateImage({ - presentation_id, + presentation_id: presentation_id!, prompt: { theme_prompt: ThemeImagePrompt[currentTheme], image_prompt: prompt, @@ -235,7 +232,7 @@ const ImageEditor = ({ const handleFileUpload = async ( event: React.ChangeEvent ) => { - const presentation_id = path.split("/")[2]; + const presentation_id = searchParams.get("id"); const file = event.target.files?.[0]; if (!file) return;