diff --git a/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/templates/components/TemplatePanel.tsx b/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/templates/components/TemplatePanel.tsx index fca4e5ce..80a01e04 100644 --- a/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/templates/components/TemplatePanel.tsx +++ b/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/templates/components/TemplatePanel.tsx @@ -114,7 +114,7 @@ const InbuiltTemplateCard = React.memo(function InbuiltTemplateCard({ onClick={handleOpen} > - Layouts- {template.layouts.length} + {template.layouts.length} {template.layouts.length === 1 ? 'Layout' : 'Layouts'}
@@ -174,9 +174,6 @@ const LayoutPreview = () => { const handleOpenPreview = useCallback((id: string) => router.push(`/template-preview?slug=${id}`), [router]); - - - const inbuiltTemplateCards = useMemo( () => templates.map((template: TemplateLayoutsWithSettings) => ( diff --git a/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/theme/components/ThemePanel/index.tsx b/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/theme/components/ThemePanel/index.tsx index 61be7627..3d0d4593 100644 --- a/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/theme/components/ThemePanel/index.tsx +++ b/electron/servers/nextjs/app/(presentation-generator)/(dashboard)/theme/components/ThemePanel/index.tsx @@ -148,7 +148,13 @@ const ThemePanel: React.FC = () => { const loadUserFonts = async () => { try { const userFonts = await ThemeApi.getUserFonts() - setUserFonts(userFonts) + setUserFonts({ + fonts: userFonts.fonts.map((font: any) => ({ + name: font.name, + url: `${process.env.NEXT_PUBLIC_FAST_API}${font.url}`, + })), + }) + } catch (error: any) { console.error('Failed to load user fonts', error) toast.error(error?.message || 'Failed to load user fonts') @@ -243,6 +249,8 @@ const ThemePanel: React.FC = () => { slideContainerRef.current!.style.setProperty('font-family', `"${theme.data.fonts.textFont.name}"`) slideContainerRef.current!.style.setProperty('--heading-font-family', `"${theme.data.fonts.textFont.name}"`) // Load font + console.log(theme.data.fonts) + console.log('userfonts', userFonts) useFontLoader({ [theme.data.fonts.textFont.name]: theme.data.fonts.textFont.url }) } } @@ -437,20 +445,21 @@ const ThemePanel: React.FC = () => { const handleCustomFontChange = async (fontFile: File) => { try { setIsFontUploading(true) - const { name, url } = await ThemeApi.uploadFont(fontFile) + const { font_name, font_url } = await ThemeApi.uploadFont(fontFile) setCustomFonts({ textFont: { - name: name, - url: url, + name: font_name, + url: `${process.env.NEXT_PUBLIC_FAST_API}${font_url}`, } }) + // Add the newly uploaded font to userFonts if not already present - if (!userFonts.fonts.find(f => f.name === name)) { + if (!userFonts.fonts.find(f => f.name === font_name)) { setUserFonts(prev => ({ - fonts: [...prev.fonts, { name, url }] + fonts: [...prev.fonts, { name: font_name, url: `${process.env.NEXT_PUBLIC_FAST_API}${font_url}` }] })) } - toast.success(`Font "${name}" uploaded successfully`) + toast.success(`Font "${font_name}" uploaded successfully`) } catch (error: any) { console.error('Failed to upload font', error) toast.error(error?.message || 'Failed to upload font') diff --git a/electron/servers/nextjs/app/(presentation-generator)/custom-template/hooks/useFontManagement.ts b/electron/servers/nextjs/app/(presentation-generator)/custom-template/hooks/useFontManagement.ts index 5d5daab3..fd957960 100644 --- a/electron/servers/nextjs/app/(presentation-generator)/custom-template/hooks/useFontManagement.ts +++ b/electron/servers/nextjs/app/(presentation-generator)/custom-template/hooks/useFontManagement.ts @@ -83,7 +83,7 @@ export const useFontManagement = () => { const formData = new FormData(); formData.append("font_file", file); - const response = await fetch(getApiUrl("/api/v1/ppt/fonts/upload"), { + const response = await fetch(getApiUrl(`${process.env.NEXT_PUBLIC_FAST_API}/api/v1/ppt/fonts/upload`), { method: "POST", body: formData, }); diff --git a/electron/servers/nextjs/app/(presentation-generator)/services/api/theme.ts b/electron/servers/nextjs/app/(presentation-generator)/services/api/theme.ts index 928bf424..5d03373f 100644 --- a/electron/servers/nextjs/app/(presentation-generator)/services/api/theme.ts +++ b/electron/servers/nextjs/app/(presentation-generator)/services/api/theme.ts @@ -90,8 +90,8 @@ class ThemeApi { static async uploadFont(font: File) { try { const formData = new FormData(); - formData.append("file", font); - const response = await fetch(getApiUrl(`/api/v1/ppt/fonts/upload`), { + formData.append("font_file", font); + const response = await fetch(getApiUrl(`${process.env.NEXT_PUBLIC_FAST_API}/api/v1/ppt/fonts/upload`), { method: "POST", headers: getHeaderForFormData(), body: formData, @@ -105,7 +105,7 @@ class ThemeApi { } static async getUserFonts() { try { - const response = await fetch(getApiUrl(`/api/v1/ppt/fonts/uploaded`), { + const response = await fetch(getApiUrl(`${process.env.NEXT_PUBLIC_FAST_API}/api/v1/ppt/fonts/uploaded`), { method: "GET", headers: getHeader(), }) diff --git a/electron/servers/nextjs/app/(presentation-generator)/upload/components/ConfigurationSelects.tsx b/electron/servers/nextjs/app/(presentation-generator)/upload/components/ConfigurationSelects.tsx index 64a4f768..19a1f54e 100644 --- a/electron/servers/nextjs/app/(presentation-generator)/upload/components/ConfigurationSelects.tsx +++ b/electron/servers/nextjs/app/(presentation-generator)/upload/components/ConfigurationSelects.tsx @@ -7,7 +7,7 @@ import { } from "@/components/ui/select"; import { LanguageType, PresentationConfig, ToneType, VerbosityType } from "../type"; import { useState } from "react"; -import { Check, ChevronsUpDown, GalleryVertical, Languages, SlidersHorizontal } from "lucide-react"; +import { Check, ChevronsUp, ChevronsUpDown, ChevronUp, GalleryVertical, Languages, SlidersHorizontal } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Command, @@ -157,7 +157,7 @@ const LanguageSelect: React.FC<{ {value || "Select language"} - +