diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/Chat.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/Chat.tsx
new file mode 100644
index 00000000..e904586b
--- /dev/null
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/Chat.tsx
@@ -0,0 +1,122 @@
+import { Plus, Send } from 'lucide-react'
+import React from 'react'
+const suggestions = [
+ {
+ id: 1,
+ icon: ,
+ suggestion: 'Generate a full presentation from my topic',
+
+ },
+ {
+ id: 2,
+ icon: ,
+ suggestion: 'Improve this slide content',
+ },
+ {
+ id: 3,
+ icon: ,
+ suggestion: 'Rewrite this content professionally',
+ },
+ {
+ id: 4,
+ icon: ,
+ suggestion: 'Add speaker notes to this slide',
+ }
+]
+const quickPrompts = ['Expand each section', 'Reorder for storytelling', 'Add missing sections', 'Convert to pitch flow']
+const Chat = () => {
+ return (
+
+
AI Assistant
+
+
SUGGESTIONS
+
+
+ {
+ suggestions.map((suggestion) => (
+
+ {suggestion.icon}
+
{suggestion.suggestion}
+
+ ))
+ }
+
+
+
+
QUICK PROMPTS
+
+ {
+ quickPrompts.map((prompt) => (
+
+ ))
+ }
+
+
+
+
+ )
+}
+
+export default Chat
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationHeader.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationHeader.tsx
index 141c0a42..2323cb87 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationHeader.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationHeader.tsx
@@ -416,12 +416,18 @@ const PresentationHeader = ({
return (
<>
-
- {presentationData && !isStreaming && !isEditingTitle ? (
-
{titleBlock}
- ) : (
- titleBlock
- )}
+
+
+
+
![]()
{
+ router.push("/dashboard");
+ }} src="/logo-with-bg.png" alt="" className="w-10 h-10 cursor-pointer object-contain" />
+ {presentationData && !isStreaming && !isEditingTitle ? (
+
{titleBlock}
+ ) : (
+ titleBlock
+ )}
+
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationPage.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationPage.tsx
index df336990..cdb7524f 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationPage.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/PresentationPage.tsx
@@ -23,6 +23,7 @@ import { applyPresentationThemeToElement } from "../utils/applyPresentationTheme
import { usePresentationUndoRedo } from "../hooks/PresentationUndoRedo";
import PresentationHeader from "./PresentationHeader";
+import Chat from "./Chat";
const PresentationPage: React.FC
= ({
presentation_id,
@@ -141,66 +142,63 @@ const PresentationPage: React.FC = ({
}
return (
-
+
-
-
-
-
-
-
-
-
- {!presentationData ||
- loading ||
- !presentationData?.slides ||
- presentationData?.slides.length === 0 ? (
-
-
- {Array.from({ length: 2 }).map((_, index) => (
-
- ))}
+
+
+
+
+
+
+
+
+ {!presentationData ||
+ loading ||
+ !presentationData?.slides ||
+ presentationData?.slides.length === 0 ? (
+
+
+ {Array.from({ length: 2 }).map((_, index) => (
+
+ ))}
+
+ {stream &&
}
- {stream &&
}
-
- ) : (
- <>
- {presentationData &&
- presentationData.slides &&
- presentationData.slides.length > 0 &&
- presentationData.slides.map((slide: any, index: number) => (
-
- ))}
- >
- )}
+ ) : (
+ <>
+ {presentationData &&
+ presentationData.slides &&
+ presentationData.slides.length > 0 &&
+ presentationData.slides.map((slide: any, index: number) => (
+
+ ))}
+ >
+ )}
+
+
+
+
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/SidePanel.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/SidePanel.tsx
index 6dea5336..2584d6d2 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/components/SidePanel.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/SidePanel.tsx
@@ -21,7 +21,7 @@ import { setPresentationData } from "@/store/slices/presentationGeneration";
import { SortableSlide } from "./SortableSlide";
import SlideScale from "../../components/PresentationRender";
import { Separator } from "@/components/ui/separator";
-import { usePathname, useRouter } from "next/navigation";
+import { usePathname } from "next/navigation";
import NewSlide from "./NewSlide";
import { trackEvent, MixpanelEvent } from "@/utils/mixpanel";
@@ -40,8 +40,6 @@ const SidePanel = ({
loading,
}: SidePanelProps) => {
-
- const router = useRouter();
const pathname = usePathname();
const [showNewSlideSelection, setShowNewSlideSelection] = useState(false);
@@ -132,32 +130,26 @@ const SidePanel = ({
}
return (
-
+
-
![]()
{
- router.push("/dashboard");
- }} src="/logo-with-bg.png" alt="" className="w-10 h-10 cursor-pointer object-contain" />
-
-
Slides ({presentationData?.slides?.length})
-
+
{isStreaming ? (
presentationData &&
presentationData?.slides.map((slide: any, index: number) => (
@@ -203,7 +195,7 @@ const SidePanel = ({