- {renderMiniSlideContent(slide)}
+
onSlideClick(index)}
+ className={` cursor-pointer ring-2 p-1 rounded-md transition-all duration-200 ${selectedSlide === index ? ' ring-[#5141e5]' : 'ring-gray-200'
+ }`}
+ >
+
+
+
+ {renderSlideContent(slide, 'English')}
+
+
))
) : (
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx
index 1477e18c..987e2257 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx
@@ -116,7 +116,7 @@ const SlideContent = ({
<>
{isStreaming && (
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/SortableSlide.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/SortableSlide.tsx
index 1be86bd3..fc789137 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/components/SortableSlide.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/components/SortableSlide.tsx
@@ -1,6 +1,6 @@
import { useSortable } from '@dnd-kit/sortable';
import { CSS } from '@dnd-kit/utilities';
-import { renderMiniSlideContent } from '../../components/slide_config';
+import { renderSlideContent } from '../../components/slide_config';
import { Slide } from '../../types/slide';
import { useState } from 'react';
@@ -51,12 +51,15 @@ export function SortableSlide({ slide, index, selectedSlide, onSlideClick }: Sor
{...listeners}
onMouseDown={handleMouseDown}
onMouseUp={handleMouseUp}
- className={`flex justify-center items-center cursor-pointer ${selectedSlide === index
- ? 'ring-2 ring-[#5141e5]'
- : 'hover:ring-2 hover:ring-gray-200'
- } rounded-lg`}
+ className={` cursor-pointer border-[3px] p-1 shadow-lg rounded-md transition-all duration-200 ${selectedSlide === index ? ' border-[#5141e5]' : 'border-color'
+ }`}
>
- {renderMiniSlideContent(slide)}
+
+
+
+ {renderSlideContent(slide, 'English')}
+
+
);
}
\ No newline at end of file
diff --git a/servers/nextjs/app/(presentation-generator)/presentation/page.tsx b/servers/nextjs/app/(presentation-generator)/presentation/page.tsx
index d68b2cd0..0ccb7c51 100644
--- a/servers/nextjs/app/(presentation-generator)/presentation/page.tsx
+++ b/servers/nextjs/app/(presentation-generator)/presentation/page.tsx
@@ -19,9 +19,9 @@ const page = () => {
);
}
return (
-
-
-
+
+
+
);
};
export default page;
diff --git a/servers/nextjs/app/(presentation-generator)/styles/themes.css b/servers/nextjs/app/(presentation-generator)/styles/themes.css
index be47c697..0063ee06 100644
--- a/servers/nextjs/app/(presentation-generator)/styles/themes.css
+++ b/servers/nextjs/app/(presentation-generator)/styles/themes.css
@@ -99,6 +99,9 @@
transition: background-color 0.3s ease, color 0.3s ease;
}
+.slide-theme .border-color{
+ border-color: var(--slide-box);
+}
@keyframes progress {
diff --git a/servers/nextjs/app/dashboard/components/PresentationCard.tsx b/servers/nextjs/app/dashboard/components/PresentationCard.tsx
index bb4c73a4..4e0b815f 100644
--- a/servers/nextjs/app/dashboard/components/PresentationCard.tsx
+++ b/servers/nextjs/app/dashboard/components/PresentationCard.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Card } from "@/components/ui/card";
-import { DashboardApi, PresentationResponse } from "../api/dashboard";
+import { DashboardApi } from "../api/dashboard";
import { DotsVerticalIcon, TrashIcon } from "@radix-ui/react-icons";
import {
Popover,
@@ -10,21 +10,25 @@ import {
} from "@/components/ui/popover";
import { useRouter } from "next/navigation";
import { toast } from "@/hooks/use-toast";
-import { PresentationGenerationApi } from "@/app/(presentation-generator)/services/api/presentation-generation";
-import { getStaticFileUrl } from "@/app/(presentation-generator)/utils/others";
+import { renderSlideContent } from "@/app/(presentation-generator)/components/slide_config";
export const PresentationCard = ({
id,
title,
created_at,
thumbnail,
- type,
-}: PresentationResponse & { type: "video" | "slide" }) => {
+ theme,
+}: {
+ id: string;
+ title: string;
+ created_at: string;
+ thumbnail: string;
+ theme: any;
+}) => {
const router = useRouter();
const handlePreview = (e: React.MouseEvent) => {
e.preventDefault();
-
router.push(`/presentation?id=${id}`);
};
@@ -38,7 +42,7 @@ export const PresentationCard = ({
variant: "default",
});
const response = await DashboardApi.deletePresentation(id);
- console.log(response);
+
if (response) {
toast({
title: "Presentation deleted",
@@ -55,10 +59,25 @@ export const PresentationCard = ({
window.location.reload();
};
+ const themeName = theme.name;
+ // Create CSS variables object
+ const cssVariables = {
+ '--slide-bg': theme.colors.slideBg,
+ '--slide-title': theme.colors.slideTitle,
+ '--slide-heading': theme.colors.slideHeading,
+ '--slide-description': theme.colors.slideDescription,
+ '--slide-box': theme.colors.slideBox,
+ '--icon-bg': theme.colors.iconBg,
+ '--background': theme.colors.background,
+ '--font-family': theme.colors.fontFamily,
+ } as React.CSSProperties;
+
return (
{/* Date */}
@@ -83,7 +102,7 @@ export const PresentationCard = ({
{/* Thumbnail */}
-
+ {/*
{thumbnail ? (
)}
+
*/}
+
+
+
+ {renderSlideContent({
+ id: 'mock-slide-1',
+ type: 1,
+ index: 0,
+ design_index: 1,
+ properties: null,
+ images: ['/static/user_data/ee7cb066-86d0-45fc-adc9-15bf565eab30/images/af54ed41-483e-4983-aef0-b254aac48408.jpg'],
+ icons: [],
+ graph_id: null,
+ presentation: id,
+ content: {
+ title: title || 'Sample Presentation',
+ body: "This is a sample slide description to demonstrate the layout and styling. The content here helps visualize how actual presentation content would appear.",
+ infographics: [],
+ image_prompts: ['Sample image showing business growth']
+ },
+ }, 'English')}
+
{/* Icon and Title */}
- {type === "video" ? (
-
- ) : (
-
- )}
-
+
{title}
diff --git a/servers/nextjs/app/dashboard/components/PresentationGrid.tsx b/servers/nextjs/app/dashboard/components/PresentationGrid.tsx
index b6ab0abb..205ab709 100644
--- a/servers/nextjs/app/dashboard/components/PresentationGrid.tsx
+++ b/servers/nextjs/app/dashboard/components/PresentationGrid.tsx
@@ -102,7 +102,8 @@ export const PresentationGrid = ({
))}
diff --git a/servers/nextjs/app/layout.tsx b/servers/nextjs/app/layout.tsx
index d9fbcd08..783bf2b9 100644
--- a/servers/nextjs/app/layout.tsx
+++ b/servers/nextjs/app/layout.tsx
@@ -4,6 +4,7 @@ import { Fraunces, Montserrat, Inria_Serif, Roboto, Instrument_Sans } from "next
import "./globals.css";
import { Providers } from "./providers";
import { Toaster } from "@/components/ui/toaster";
+import { FooterProvider } from "./(presentation-generator)/context/footerContext";
const fraunces = Fraunces({
subsets: ["latin"],
@@ -100,7 +101,12 @@ export default function RootLayout({
- {children}
+
+
+
+ {children}
+
+