diff --git a/servers/nextjs/app/dashboard/api/dashboard.ts b/servers/nextjs/app/dashboard/api/dashboard.ts index 89d7fbde..9de09536 100644 --- a/servers/nextjs/app/dashboard/api/dashboard.ts +++ b/servers/nextjs/app/dashboard/api/dashboard.ts @@ -19,7 +19,7 @@ export interface PresentationResponse { vector_store: any; thumbnail: string; - slide: any; + slides: any[]; } export class DashboardApi { diff --git a/servers/nextjs/app/dashboard/components/PresentationCard.tsx b/servers/nextjs/app/dashboard/components/PresentationCard.tsx index a8f4dde2..8b32b7e7 100644 --- a/servers/nextjs/app/dashboard/components/PresentationCard.tsx +++ b/servers/nextjs/app/dashboard/components/PresentationCard.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useMemo } from "react"; import { Card } from "@/components/ui/card"; import { DashboardApi } from "../api/dashboard"; @@ -11,23 +11,23 @@ import { import { useRouter } from "next/navigation"; import { toast } from "@/hooks/use-toast"; import { renderSlideContent } from "@/app/(presentation-generator)/components/slide_config"; +import { useLayout } from "@/app/(presentation-generator)/context/LayoutContext"; export const PresentationCard = ({ id, title, created_at, - thumbnail, - theme, slide }: { id: string; title: string; created_at: string; - thumbnail: string; - theme: any; slide: any }) => { + console.log('slide', slide) const router = useRouter(); + const { getLayout, loading } = useLayout(); + const handlePreview = (e: React.MouseEvent) => { e.preventDefault(); @@ -61,25 +61,27 @@ 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; + const LayoutComponent = useMemo(() => { + const Layout = getLayout(slide.layout); + if (!Layout) { + return () =>
- No thumbnail yet -
-- Will be added shortly -
-