import React from 'react' import * as z from "zod"; import { ImageSchema } from './defaultSchemes'; export const layoutId = 'first-slide' export const layoutName = 'First Slide' export const layoutDescription = 'A slide with a title, subtitle, author, date, company, and background image' const firstSlideSchema = z.object({ title: z.string().min(3).max(100).default('Welcome to Our Presentation').meta({ description: "Main title of the presentation", }), subtitle: z.string().min(10).max(200).default('Subtitle for the slide').optional().meta({ description: "Optional subtitle or tagline", }), author: z.string().max(100).default('John Doe').optional().meta({ description: "Author or presenter name", }), date: z.string().optional().meta({ description: "Presentation date", }), company: z.string().max(100).default('Company Name').optional().meta({ description: "Company or organization name", }), backgroundImage: ImageSchema.optional().meta({ description: "Background image for the slide", }) }) export const Schema = firstSlideSchema export type FirstSlideData = z.infer interface FirstSlideLayoutProps { data?: Partial } const FirstSlideLayout: React.FC = ({ data: slideData }) => { return (
{/* Content */}
{/* Header */}
{/* Title */}

{slideData?.title?.split(' ').slice(0, -1).join(' ')}{' '} {slideData?.title?.split(' ').slice(-1)[0]}

{/* Subtitle */} {slideData?.subtitle && (

{slideData.subtitle}

)} {/* Date */} {slideData?.date && (

{slideData.date}

)}
{/* Footer with Author and Company */}
{slideData?.author && (

{slideData.author}

)} {slideData?.company && (

{slideData.company}

)}
{/* Bottom accent */}
{/* Glow effect */}
{/* Corner accents */}
) } export default FirstSlideLayout