From b0aae415a3b9337120a498d0abad709c3c1d70c8 Mon Sep 17 00:00:00 2001 From: shiva raj badu Date: Sat, 23 Aug 2025 19:17:20 +0545 Subject: [PATCH] feat(Nextjs): add speaker notes functionality to slides --- .../pdf-maker/PdfMakerPage.tsx | 2 +- .../presentation/components/SlideContent.tsx | 25 ++++++++++++++++++- .../(presentation-generator)/types/slide.ts | 2 ++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx b/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx index dcfd31e8..1c95bc44 100644 --- a/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx +++ b/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx @@ -122,7 +122,7 @@ const PresentationPage = ({ presentation_id }: { presentation_id: string }) => { presentationData.slides.length > 0 && presentationData.slides.map((slide: any, index: number) => ( // [data-speaker-note] is used to extract the speaker note from the slide for export to pptx -
+
{renderSlideContent(slide, true)}
))} diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx index 342e7be1..689840f3 100644 --- a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx +++ b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState, useMemo } from "react"; -import { Loader2, PlusIcon, Trash2, WandSparkles } from "lucide-react"; +import { Loader2, PlusIcon, Trash2, WandSparkles, StickyNote } from "lucide-react"; import { Popover, PopoverContent, @@ -174,6 +174,7 @@ const SlideContent = ({ slide, index, presentationId }: SlideContentProps) => { presentationId={presentationId} /> )} + {!isStreaming && !loading && (
{
)} + {/* Speaker Notes */} + {!isStreaming && slide?.speaker_note && ( +
+ + +
+ + + +
+
+ +
+

Speaker notes

+
+ {slide.speaker_note} +
+
+
+
+
+ )}
diff --git a/servers/nextjs/app/(presentation-generator)/types/slide.ts b/servers/nextjs/app/(presentation-generator)/types/slide.ts index c5dd82b5..05dd38df 100644 --- a/servers/nextjs/app/(presentation-generator)/types/slide.ts +++ b/servers/nextjs/app/(presentation-generator)/types/slide.ts @@ -32,5 +32,7 @@ export interface Slide { icons: string[] | null; graph_id: string | null; presentation?: string; + speaker_note?: string; + content: SlideContent; }