diff --git a/servers/nextjs/app/(presentation-generator)/hooks/useGroupLayouts.tsx b/servers/nextjs/app/(presentation-generator)/hooks/useGroupLayouts.tsx index e7450a14..3624ea76 100644 --- a/servers/nextjs/app/(presentation-generator)/hooks/useGroupLayouts.tsx +++ b/servers/nextjs/app/(presentation-generator)/hooks/useGroupLayouts.tsx @@ -36,6 +36,7 @@ export const useGroupLayouts = () => { // Render slide content with group validation, automatic Tiptap text editing, and editable images/icons const renderSlideContent = useMemo(() => { return (slide: any, isEditMode: boolean) => { + console.time("renderSlideContent"); const Layout = getGroupLayout(slide.layout, slide.layout_group); if (!Layout) { return ( @@ -75,8 +76,10 @@ export const useGroupLayouts = () => { ); } + console.timeEnd("renderSlideContent"); return ; }; + }, [getGroupLayout, dispatch]); return { diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/Header.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/Header.tsx index 3d907c52..bb0afebf 100644 --- a/servers/nextjs/app/(presentation-generator)/presentation/components/Header.tsx +++ b/servers/nextjs/app/(presentation-generator)/presentation/components/Header.tsx @@ -162,15 +162,15 @@ const Header = ({ {/* Desktop Export Button with Popover */} -
- +
+ - + @@ -186,7 +186,7 @@ const Header = ({ return (
+ }} className="bg-[#5146E5] w-full shadow-lg sticky top-0"> = ({ presentation_id }) ); - - const onSlideChange = (newSlide: number) => { handleSlideChange(newSlide, presentationData); }; diff --git a/servers/nextjs/presentation-layouts/default/Type10SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type10SlideLayout.tsx index d124c960..409d7213 100644 --- a/servers/nextjs/presentation-layouts/default/Type10SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type10SlideLayout.tsx @@ -108,17 +108,12 @@ export const Schema = type10SlideSchema export type Type10SlideData = z.infer interface Type10SlideLayoutProps { - data?: Partial + data: Partial } const Type10SlideLayout: React.FC = ({ data: slideData }) => { - const chartData = slideData?.data || []; - const chartType = slideData?.chartType || 'line'; - const color = slideData?.color || '#3b82f6'; - const dataKey = slideData?.dataKey || 'value'; - const categoryKey = slideData?.categoryKey || 'name'; - const showLegend = slideData?.showLegend || false; - const showTooltip = slideData?.showTooltip || true; + const { title, items, chartData, chartType = 'line', color = '#3b82f6', dataKey = 'value', categoryKey = 'name', showLegend = false, showTooltip = true } = slideData; + const renderChart = () => { const commonProps = { data: chartData, @@ -188,7 +183,7 @@ const Type10SlideLayout: React.FC = ({ data: slideData } dataKey={dataKey} label={({ name, percent }) => `${name} ${(percent * 100).toFixed(0)}%`} > - {chartData.map((entry, index) => ( + {chartData.map((entry: any, index: number) => ( ))} @@ -219,9 +214,9 @@ const Type10SlideLayout: React.FC = ({ data: slideData } >
-

- {slideData?.title || 'Chart Analysis'} -

+ {title &&

+ {title || 'Chart Analysis'} +

}
@@ -234,7 +229,7 @@ const Type10SlideLayout: React.FC = ({ data: slideData }
- {slideData?.items?.map((item, index) => ( + {items && items.map((item, index) => (
= ({ data: slideData }
- {item.icon?.__icon_query__ + />}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
diff --git a/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx index 05247cf6..75b945ed 100644 --- a/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type1SlideLayout.tsx @@ -26,10 +26,11 @@ export const Schema = type1SlideSchema export type Type1SlideData = z.infer interface Type1SlideLayoutProps { - data?: Partial + data: Partial } const Type1SlideLayout: React.FC = ({ data: slideData }) => { + const { title, description, image } = slideData; return (
= ({ data: slideData })
{/* Title */} -

- {slideData?.title || ' This is the title of slide'} -

+ {title &&

+ {title} +

} {/* Description */} -

- {slideData?.description || 'This is a test of the hot reload system! If you can see this text, hot reload is working perfectly. Changes should appear instantly without page refresh.'} -

+ {description &&

+ {description} +

}
{/* Image */}
- {slideData?.image?.__image_prompt__ + />}
diff --git a/servers/nextjs/presentation-layouts/default/Type2NumberedSlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type2NumberedSlideLayout.tsx index 3a2dacdc..e03a3cf3 100644 --- a/servers/nextjs/presentation-layouts/default/Type2NumberedSlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type2NumberedSlideLayout.tsx @@ -39,18 +39,18 @@ export const Schema = type2NumberedSlideSchema export type Type2NumberedSlideData = z.infer interface Type2NumberedSlideLayoutProps { - data?: Partial + data: Partial } const Type2NumberedSlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] - const isGridLayout = items.length >= 4 + const { title, items } = slideData; + const isGridLayout = items?.length && items?.length >= 4 const numberTranslations: string[] = ['01', '02', '03', '04', '05', '06'] const renderGridContent = () => { return (
- {items.map((item, index) => ( + {items?.map((item, index) => (
= ({ dat {numberTranslations[index] || `0${index + 1}`}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
@@ -80,7 +80,7 @@ const Type2NumberedSlideLayout: React.FC = ({ dat const renderHorizontalContent = () => { return (
- {items.map((item, index) => ( + {items?.map((item, index) => (
= ({ dat {numberTranslations[index] || `0${index + 1}`}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -111,9 +111,9 @@ const Type2NumberedSlideLayout: React.FC = ({ dat >
-

- {slideData?.title || 'Main Title'} -

+ {title &&

+ {title} +

}
{isGridLayout ? renderGridContent() : renderHorizontalContent()} diff --git a/servers/nextjs/presentation-layouts/default/Type2SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type2SlideLayout.tsx index 30c875e5..0d72d880 100644 --- a/servers/nextjs/presentation-layouts/default/Type2SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type2SlideLayout.tsx @@ -39,29 +39,29 @@ export const Schema = type2SlideSchema export type Type2SlideData = z.infer interface Type2SlideLayoutProps { - data?: Partial + data: Partial } const Type2SlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] - const isGridLayout = items.length >= 4 + const { title, items } = slideData; + const isGridLayout = items?.length && items?.length >= 4 const renderGridContent = () => { return (
- {items.map((item, index) => ( + {items?.map((item, index) => (
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -72,19 +72,19 @@ const Type2SlideLayout: React.FC = ({ data: slideData }) const renderHorizontalContent = () => { return (
- {items.map((item, index) => ( + {items?.map((item, index) => (
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -98,9 +98,9 @@ const Type2SlideLayout: React.FC = ({ data: slideData }) >
-

- {slideData?.title || 'Main Title'} -

+ {title &&

+ {title} +

}
{isGridLayout ? renderGridContent() : renderHorizontalContent()} diff --git a/servers/nextjs/presentation-layouts/default/Type2TimelineSlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type2TimelineSlideLayout.tsx index f29d3b39..3e5942e9 100644 --- a/servers/nextjs/presentation-layouts/default/Type2TimelineSlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type2TimelineSlideLayout.tsx @@ -39,12 +39,11 @@ export const Schema = type2TimelineSlideSchema export type Type2TimelineSlideData = z.infer interface Type2TimelineSlideLayoutProps { - data?: Partial + data: Partial } const Type2TimelineSlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] - const numberTranslations: string[] = ['01', '02', '03', '04', '05', '06'] + const { title, items } = slideData; const renderTimelineContent = () => { return ( @@ -55,27 +54,27 @@ const Type2TimelineSlideLayout: React.FC = ({ dat
{/* Timeline Numbers */} - {items.map((_, index) => ( + {items && items.map((_, index) => (
- {numberTranslations[index] || `0${index + 1}`} + `0${index + 1}`
))}
{/* Timeline Content */}
- {items.map((item, index) => ( + {items && items.map((item, index) => (
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -89,9 +88,9 @@ const Type2TimelineSlideLayout: React.FC = ({ dat className=" rounded-sm max-w-[1280px] w-full shadow-lg px-3 sm:px-12 lg:px-20 py-[10px] sm:py-[40px] flex flex-col items-center justify-center max-h-[720px] aspect-video bg-white relative z-20 mx-auto" >
-

- {slideData?.title || 'Main Title'} -

+ {title &&

+ {title} +

}
{renderTimelineContent()} diff --git a/servers/nextjs/presentation-layouts/default/Type3SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type3SlideLayout.tsx index c860b9b5..c07b8090 100644 --- a/servers/nextjs/presentation-layouts/default/Type3SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type3SlideLayout.tsx @@ -55,11 +55,11 @@ export const Schema = type3SlideSchema export type Type3SlideData = z.infer interface Type3SlideLayoutProps { - data?: Partial + data: Partial } const Type3SlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] + const { title, items } = slideData; const getGridCols = (length: number) => { switch (length) { @@ -77,13 +77,13 @@ const Type3SlideLayout: React.FC = ({ data: slideData }) >
-

- {slideData?.title || 'Featured Content'} -

+ {title &&

+ {title} +

}
-
- {items.map((item, index) => ( +
+ {items && items.map((item, index) => (
= ({ data: slideData }) {/* Content */}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} diff --git a/servers/nextjs/presentation-layouts/default/Type4SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type4SlideLayout.tsx index d103b18a..7b863ff1 100644 --- a/servers/nextjs/presentation-layouts/default/Type4SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type4SlideLayout.tsx @@ -1,6 +1,6 @@ import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart'; import React from 'react' -import { BarChart, Bar, LineChart, Line, PieChart, Pie, AreaChart, Area, ScatterChart, Scatter, XAxis, YAxis, CartesianGrid, Cell, ResponsiveContainer } from "recharts"; +import { BarChart, Bar, LineChart, Line, PieChart, Pie, AreaChart, Area, ScatterChart, Scatter, XAxis, YAxis, CartesianGrid, Cell } from "recharts"; import * as z from "zod"; export const layoutId = 'type4-slide' @@ -77,17 +77,14 @@ export const Schema = type4SlideSchema export type Type4SlideData = z.infer interface Type4SlideLayoutProps { - data?: Partial + data: Partial } const Type4SlideLayout: React.FC = ({ data: slideData }) => { - const chartData = slideData?.data || []; - const chartType = slideData?.chartType || 'line'; - const color = slideData?.color || '#3b82f6'; - const dataKey = slideData?.dataKey || 'value'; - const categoryKey = slideData?.categoryKey || 'name'; - const showLegend = slideData?.showLegend || false; - const showTooltip = slideData?.showTooltip || true; + + const { title, description, data, dataKey, categoryKey, color, showLegend = false, showTooltip = true, chartType = 'bar' } = slideData; + + const chartData = data || []; const renderChart = () => { const commonProps = { data: chartData, @@ -103,7 +100,7 @@ const Type4SlideLayout: React.FC = ({ data: slideData }) {showTooltip && } />} {showLegend && } />} - + ); @@ -117,7 +114,7 @@ const Type4SlideLayout: React.FC = ({ data: slideData }) {showLegend && } />} = ({ data: slideData }) {showLegend && } />} = ({ data: slideData }) cy="40%" outerRadius={70} fill={color} - dataKey={dataKey} + dataKey={dataKey || 'value'} label={({ name, percent }) => `${name} ${(percent * 100).toFixed(0)}%`} > {chartData.map((entry, index) => ( @@ -172,7 +169,7 @@ const Type4SlideLayout: React.FC = ({ data: slideData }) {showTooltip && } />} {showLegend && } />} - + ); @@ -186,9 +183,9 @@ const Type4SlideLayout: React.FC = ({ data: slideData }) className=" rounded-sm w-full max-w-[1280px] px-3 py-[10px] sm:px-12 lg:px-20 sm:py-[40px] lg:py-[86px] shadow-lg max-h-[720px] flex flex-col items-center justify-center aspect-video bg-white relative z-20 mx-auto" > -

- {slideData?.title || 'Chart Analysis'} -

+ {title &&

+ {title} +

}
@@ -199,9 +196,9 @@ const Type4SlideLayout: React.FC = ({ data: slideData })
-

- {slideData?.description || 'This chart shows important data trends and insights that help understand the current situation and make informed decisions.'} -

+ {description &&

+ {description} +

}
diff --git a/servers/nextjs/presentation-layouts/default/Type5SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type5SlideLayout.tsx index 3ba077f1..75fc2daa 100644 --- a/servers/nextjs/presentation-layouts/default/Type5SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type5SlideLayout.tsx @@ -42,11 +42,12 @@ export const Schema = type5SlideSchema export type Type5SlideData = z.infer interface Type5SlideLayoutProps { - data?: Partial + data: Partial } const Type5SlideLayout: React.FC = ({ data: slideData }) => { + const { title, description, items } = slideData; return (
= ({ data: slideData })
{/* Left section - Title and Description */}
-

- {slideData?.title || 'Key Points'} -

+ {title &&

+ {title} +

} -

- {slideData?.description || 'Here is the main description that provides context and introduction to the numbered points on the right side.'} -

+ {description &&

+ {description} +

}
{/* Right section - Numbered items */} @@ -80,12 +81,12 @@ const Type5SlideLayout: React.FC = ({ data: slideData }) {`0${index + 1}`}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
diff --git a/servers/nextjs/presentation-layouts/default/Type6SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type6SlideLayout.tsx index f7e4a517..f7d6fff6 100644 --- a/servers/nextjs/presentation-layouts/default/Type6SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type6SlideLayout.tsx @@ -61,12 +61,12 @@ export const Schema = type6SlideSchema export type Type6SlideData = z.infer interface Type6SlideLayoutProps { - data?: Partial + data: Partial } const Type6SlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] - const isGridLayout = items.length >= 4 + const { title, items } = slideData; + const isGridLayout = items && items.length >= 4 const getGridCols = (length: number) => { switch (length) { @@ -82,8 +82,8 @@ const Type6SlideLayout: React.FC = ({ data: slideData }) const renderGridContent = () => { return ( -
4 ? 'md:grid-cols-3' : 'md:grid-cols-2'} gap-4 sm:gap-6 lg:gap-8 mt-4 lg:mt-12 w-full`}> - {items.map((item, index) => ( +
4 ? 'md:grid-cols-3' : 'md:grid-cols-2'} gap-4 sm:gap-6 lg:gap-8 mt-4 lg:mt-12 w-full`}> + {items && items.map((item, index) => (
= ({ data: slideData }) const renderHorizontalContent = () => { return ( -
- {items.map((item, index) => ( +
+ {items && items.map((item, index) => (
= ({ data: slideData })
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -148,9 +148,9 @@ const Type6SlideLayout: React.FC = ({ data: slideData }) >
-

- {slideData?.title || 'Our Services'} -

+ {title &&

+ {title} +

}
{isGridLayout ? renderGridContent() : renderHorizontalContent()} diff --git a/servers/nextjs/presentation-layouts/default/Type7SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type7SlideLayout.tsx index c802e405..7c40b72e 100644 --- a/servers/nextjs/presentation-layouts/default/Type7SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type7SlideLayout.tsx @@ -66,12 +66,12 @@ export const Schema = type7SlideSchema export type Type7SlideData = z.infer interface Type7SlideLayoutProps { - data?: Partial + data: Partial } const Type7SlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] - const isGridLayout = items.length >= 4 + const { title, items } = slideData; + const isGridLayout = items && items.length >= 4 const getGridCols = (length: number) => { switch (length) { @@ -87,8 +87,8 @@ const Type7SlideLayout: React.FC = ({ data: slideData }) const renderGridContent = () => { return ( -
4 ? 'md:grid-cols-3' : 'md:grid-cols-2'} gap-4 sm:gap-6 lg:gap-8 mt-4 lg:mt-12 w-full`}> - {items.map((item, index) => ( +
4 ? 'md:grid-cols-3' : 'md:grid-cols-2'} gap-4 sm:gap-6 lg:gap-8 mt-4 lg:mt-12 w-full`}> + {items && items.map((item, index) => (
= ({ data: slideData })
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
@@ -123,8 +123,8 @@ const Type7SlideLayout: React.FC = ({ data: slideData }) const renderHorizontalContent = () => { return ( -
- {items.map((item, index) => ( +
+ {items && items.map((item, index) => (
= ({ data: slideData }) >
- {item.icon?.__icon_query__ + />}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -160,9 +160,9 @@ const Type7SlideLayout: React.FC = ({ data: slideData }) className=" rounded-sm w-full max-w-[1280px] font-inter shadow-lg px-3 sm:px-12 lg:px-20 py-[10px] sm:py-[40px] lg:py-[86px] flex flex-col items-center justify-center max-h-[720px] aspect-video bg-white relative z-20 mx-auto" >
-

- {slideData?.title || 'Our Services'} -

+ {title &&

+ {title} +

}
{isGridLayout ? renderGridContent() : renderHorizontalContent()} diff --git a/servers/nextjs/presentation-layouts/default/Type8SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type8SlideLayout.tsx index d234a0c7..94e2a502 100644 --- a/servers/nextjs/presentation-layouts/default/Type8SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type8SlideLayout.tsx @@ -61,18 +61,18 @@ export const Schema = type8SlideSchema export type Type8SlideData = z.infer interface Type8SlideLayoutProps { - data?: Partial + data: Partial } const Type8SlideLayout: React.FC = ({ data: slideData }) => { - const items = slideData?.items || [] + const { title, description, items } = slideData; const renderItems = () => { - if (items.length === 2) { + if (items && items.length === 2) { // Vertical stacked layout for 2 items return (
- {items.map((item, index) => ( + {items && items.map((item, index) => (
= ({ data: slideData }) >
- {item.icon?.__icon_query__ + />}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
))} @@ -105,7 +105,7 @@ const Type8SlideLayout: React.FC = ({ data: slideData }) // Horizontal layout with side icons for 3+ items return (
- {items.map((item, index) => ( + {items && items.map((item, index) => (
= ({ data: slideData })
- {item.icon?.__icon_query__ + />}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
@@ -146,13 +146,13 @@ const Type8SlideLayout: React.FC = ({ data: slideData })
{/* Left section - Title and Description */}
-

- {slideData?.title || 'Key Features'} -

+ {title &&

+ {title} +

} -

- {slideData?.description || 'Here is the main description that provides context and introduces the key features outlined on the right side.'} -

+ {description &&

+ {description} +

}
{/* Right section - Items */} diff --git a/servers/nextjs/presentation-layouts/default/Type9SlideLayout.tsx b/servers/nextjs/presentation-layouts/default/Type9SlideLayout.tsx index 61d1d71d..f49e4296 100644 --- a/servers/nextjs/presentation-layouts/default/Type9SlideLayout.tsx +++ b/servers/nextjs/presentation-layouts/default/Type9SlideLayout.tsx @@ -97,17 +97,11 @@ export const Schema = type9SlideSchema export type Type9SlideData = z.infer interface Type9SlideLayoutProps { - data?: Partial + data: Partial } const Type9SlideLayout: React.FC = ({ data: slideData }) => { - const chartData = slideData?.data || []; - const chartType = slideData?.chartType || 'line'; - const color = slideData?.color || '#3b82f6'; - const dataKey = slideData?.dataKey || 'value'; - const categoryKey = slideData?.categoryKey || 'name'; - const showLegend = slideData?.showLegend || false; - const showTooltip = slideData?.showTooltip || true; + const { title, items, chartData, chartType = 'line', color = '#3b82f6', dataKey = 'value', categoryKey = 'name', showLegend = false, showTooltip = true } = slideData; const renderChart = () => { const commonProps = { data: chartData, @@ -177,7 +171,7 @@ const Type9SlideLayout: React.FC = ({ data: slideData }) dataKey={dataKey} label={({ name, percent }) => `${name} ${(percent * 100).toFixed(0)}%`} > - {chartData.map((entry, index) => ( + {chartData.map((entry: any, index: number) => ( ))} @@ -206,9 +200,9 @@ const Type9SlideLayout: React.FC = ({ data: slideData }) className=" rounded-sm w-full max-w-[1280px] px-3 py-[10px] sm:px-12 lg:px-20 sm:py-[40px] lg:py-[86px] shadow-lg max-h-[720px] flex flex-col items-center justify-center aspect-video bg-white relative z-20 mx-auto" > -

- {slideData?.title || 'Chart Analysis'} -

+ {title &&

+ {title} +

}
@@ -220,7 +214,7 @@ const Type9SlideLayout: React.FC = ({ data: slideData })
- {slideData?.items?.map((item, index) => ( + {items && items.map((item, index) => (
= ({ data: slideData }) {`0${index + 1}`}
-

+ {item.heading &&

{item.heading} -

-

+ } + {item.description &&

{item.description} -

+

}
diff --git a/servers/nextjs/presentation-layouts/pitch-deck/AboutUsSlide.tsx b/servers/nextjs/presentation-layouts/pitch-deck/AboutUsSlide.tsx index ef9e3a40..bb8abc9d 100644 --- a/servers/nextjs/presentation-layouts/pitch-deck/AboutUsSlide.tsx +++ b/servers/nextjs/presentation-layouts/pitch-deck/AboutUsSlide.tsx @@ -74,7 +74,7 @@ export const Schema = z.object({ // Type inference type SchemaType = z.infer; -// Component definition +// Component definitionz const AboutUsSlide = ({ data }: { data: Partial }) => { const { sectionTitle, sectionSubtitle, organizationDescription, additionalContext, featuredImage, showVisualAccents, showColorBlocks, showAccentSquare } = data;