diff --git a/servers/nextjs/app/(presentation-generator)/outline/components/GenerateButton.tsx b/servers/nextjs/app/(presentation-generator)/outline/components/GenerateButton.tsx index 08389f9e..62176970 100644 --- a/servers/nextjs/app/(presentation-generator)/outline/components/GenerateButton.tsx +++ b/servers/nextjs/app/(presentation-generator)/outline/components/GenerateButton.tsx @@ -35,7 +35,7 @@ const GenerateButton: React.FC = ({ - - {/* Error Toast */} - - - {/* Info Toast */} - - - {/* Warning Toast */} - - - {/* Loading Toast */} - - - - - {/* Promise Toast */} - - - - - - - - - - - - - - - - ) -} - -export default ToastTesting diff --git a/servers/nextjs/app/(presentation-generator)/upload/components/UploadPage.tsx b/servers/nextjs/app/(presentation-generator)/upload/components/UploadPage.tsx index a8e58058..45b196b4 100644 --- a/servers/nextjs/app/(presentation-generator)/upload/components/UploadPage.tsx +++ b/servers/nextjs/app/(presentation-generator)/upload/components/UploadPage.tsx @@ -25,7 +25,6 @@ import { PresentationGenerationApi } from "../../services/api/presentation-gener import { OverlayLoader } from "@/components/ui/overlay-loader"; import Wrapper from "@/components/Wrapper"; import { setPptGenUploadState } from "@/store/slices/presentationGenUpload"; -import ToastTesting from "./ToastTesting"; // Types for loading state interface LoadingState { diff --git a/servers/nextjs/app/(presentation-generator)/upload/page.tsx b/servers/nextjs/app/(presentation-generator)/upload/page.tsx index 0866a9a8..a2d2caf1 100644 --- a/servers/nextjs/app/(presentation-generator)/upload/page.tsx +++ b/servers/nextjs/app/(presentation-generator)/upload/page.tsx @@ -5,8 +5,8 @@ import Header from '@/app/dashboard/components/Header' import { Metadata } from 'next' export const metadata: Metadata = { - title: "Presenton | AI-Powered Presentation Generator & Design tool", - description: "Transform your data into compelling presentations. Upload your documents and let our AI generate professional, data-driven presentations tailored to your needs.", + title: "Presenton | Open Source AI presentation generator", + description: "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", alternates: { canonical: "https://presenton.ai/create" }, @@ -24,7 +24,7 @@ export const metadata: Metadata = { ], openGraph: { title: "Create Data Presentation | PresentOn", - description: "Transform your data into compelling presentations with AI", + description: "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", type: "website", url: "https://presenton.ai/create", siteName: "PresentOn" @@ -32,7 +32,7 @@ export const metadata: Metadata = { twitter: { card: "summary_large_image", title: "Create Data Presentation | PresentOn", - description: "Transform your data into compelling presentations with AI", + description: "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", site: "@presenton_ai", creator: "@presenton_ai" } diff --git a/servers/nextjs/app/globals.css b/servers/nextjs/app/globals.css index 7a5cb946..82300405 100644 --- a/servers/nextjs/app/globals.css +++ b/servers/nextjs/app/globals.css @@ -4,7 +4,7 @@ body { - font-family: Arial, Helvetica, sans-serif; + font-family: var(--font-inter), var(--font-roboto), sans-serif; } @layer utilities { diff --git a/servers/nextjs/app/layout.tsx b/servers/nextjs/app/layout.tsx index b42813e5..7002cb00 100644 --- a/servers/nextjs/app/layout.tsx +++ b/servers/nextjs/app/layout.tsx @@ -1,26 +1,11 @@ import type { Metadata } from "next"; import localFont from "next/font/local"; -import { Fraunces, Montserrat, Inria_Serif, Roboto, Instrument_Sans } from "next/font/google"; +import { Roboto, Instrument_Sans } from "next/font/google"; import "./globals.css"; import { Providers } from "./providers"; import { LayoutProvider } from "./(presentation-generator)/context/LayoutContext"; import { Toaster } from "sonner"; -const fraunces = Fraunces({ - subsets: ["latin"], - weight: ["400"], - variable: "--font-fraunces", -}); -const montserrat = Montserrat({ - subsets: ["latin"], - weight: ["400"], - variable: "--font-montserrat", -}); -const inria_serif = Inria_Serif({ - subsets: ["latin"], - weight: ["400"], - variable: "--font-inria-serif", -}); const inter = localFont({ src: [ @@ -33,26 +18,26 @@ const inter = localFont({ variable: "--font-inter", }); -const roboto = Roboto({ - subsets: ["latin"], - weight: ["400"], - variable: "--font-roboto", -}); - const instrument_sans = Instrument_Sans({ subsets: ["latin"], weight: ["400"], variable: "--font-instrument-sans", }); +const roboto = Roboto({ + subsets: ["latin"], + weight: ["400"], + variable: "--font-roboto", +}); + export const metadata: Metadata = { metadataBase: new URL("https://presenton.ai"), - title: "Presenton.ai - AI Presentation Maker for Data Storytelling", + title: "Presenton - Open Source AI presentation generator", description: - "Turn complex data into stunning, interactive presentations with Presenton.ai. Create professional slides from reports and analytics in minutes. Try now!", + "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", keywords: [ - "AI presentation maker", + "AI presentation generator", "data storytelling", "data visualization tool", "AI data presentation", @@ -62,17 +47,17 @@ export const metadata: Metadata = { "professional slides", ], openGraph: { - title: "Presenton.ai - AI-Powered Data Presentations", + title: "Presenton - Open Source AI presentation generator", description: - "Transform data into engaging presentations effortlessly with Presenton.ai, your go-to AI tool for stunning slides and data storytelling.", + "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", url: "https://presenton.ai", - siteName: "Presenton.ai", + siteName: "Presenton", images: [ { url: "https://presenton.ai/presenton-feature-graphics.png", width: 1200, height: 630, - alt: "Presenton.ai Logo", + alt: "Presenton Logo", }, ], type: "website", @@ -83,9 +68,9 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Presenton.ai - AI Presentation Maker for Data Storytelling", + title: "Presenton - Open Source AI presentation generator", description: - "Create stunning presentations from data with Presenton.ai. Simplify reports and analytics into interactive slides fast!", + "Open-source AI presentation generator with custom layouts, multi-model support (OpenAI, Gemini, Ollama), and PDF/PPTX export. A free Gamma alternative.", images: ["https://presenton.ai/presenton-feature-graphics.png"], }, }; @@ -99,13 +84,11 @@ export default function RootLayout({ return ( - {children} - diff --git a/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx index df4c74f2..05247cf6 100644 --- a/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx @@ -49,11 +49,11 @@ const Type1SlideLayout: React.FC = ({ data: slideData }) {/* Image */} -
+
{slideData?.image?.__image_prompt__
diff --git a/servers/nextjs/tailwind.config.ts b/servers/nextjs/tailwind.config.ts index 5b2e8834..a5b68ae1 100644 --- a/servers/nextjs/tailwind.config.ts +++ b/servers/nextjs/tailwind.config.ts @@ -83,12 +83,10 @@ const config: Config = { 'accordion-up': 'accordion-up 0.2s ease-out' }, fontFamily: { - 'instrument_sans':['var(--font-instrument-sans)'], + 'instrument_sans':['var(--font-instrument-sans)'], 'inter':['var(--font-inter)'], 'roboto':['var(--font-roboto)'], - 'fraunces':['var(--font-fraunces)'], - 'montserrat':['var(--font-montserrat)'], - 'inria_serif':['var(--font-inria-serif)'] + }, } },