fix(nextjs): changes max(4) in schemas to max(3)

This commit is contained in:
sauravniraula 2025-07-24 02:02:02 +05:45
parent 50fb7528e5
commit 24be8a8829
No known key found for this signature in database
GPG key ID: 60FCC1B5A5E83326
19 changed files with 19 additions and 158 deletions

View file

@ -24,7 +24,7 @@ const bulletIconsOnlySlideSchema = z.object({
description: "Optional short subtitle or brief explanation",
}),
icon: IconSchema,
})).min(2).max(4).default([
})).min(2).max(3).default([
{
title: 'Custom Software',
subtitle: 'We create tailored software to optimize processes and boost efficiency.',

View file

@ -23,7 +23,7 @@ const numberedBulletsSlideSchema = z.object({
description: z.string().min(10).max(150).meta({
description: "Bullet point description",
}),
})).min(1).max(4).default([
})).min(1).max(3).default([
{
title: 'Customer Insights',
description: 'Surveys reveal that 78% of businesses are planning to invest in digital solutions, with 85% preferring customized approaches.'

View file

@ -26,7 +26,7 @@ const metricsWithImageSlideSchema = z.object({
value: z.string().min(1).max(20).meta({
description: "Metric value (e.g., 200+, 95%, 50%)"
}),
})).min(1).max(4).default([
})).min(1).max(3).default([
{
label: 'Satisfied Clients',
value: '200+'

View file

@ -16,7 +16,7 @@ const type2NumberedSlideSchema = z.object({
description: z.string().min(10).max(130).meta({
description: "Item description",
})
})).min(2).max(4).default([
})).min(2).max(3).default([
{
heading: 'First Point',
description: 'Description for the first key point that explains important details'

View file

@ -16,7 +16,7 @@ const type2SlideSchema = z.object({
description: z.string().min(10).max(130).meta({
description: "Item description",
})
})).min(2).max(4).default([
})).min(2).max(3).default([
{
heading: 'First Point',
description: 'Description for the first key point that explains important details'

View file

@ -16,7 +16,7 @@ const type2TimelineSlideSchema = z.object({
description: z.string().min(10).max(130).meta({
description: "Item description",
})
})).min(2).max(4).default([
})).min(2).max(3).default([
{
heading: 'First Point',
description: 'Description for the first key point that explains important details'

View file

@ -20,7 +20,7 @@ const type3SlideSchema = z.object({
image: ImageSchema.meta({
description: "Item image",
})
})).min(2).max(4).default([
})).min(2).max(3).default([
{
heading: 'First Feature',
description: 'Description for the first featured item with detailed information',

View file

@ -24,7 +24,7 @@ const bulletIconsOnlySlideSchema = z.object({
description: "Optional short subtitle or brief explanation",
}),
icon: IconSchema,
})).min(2).max(4).default([
})).min(2).max(3).default([
{
title: 'Custom Software',
subtitle: 'We create tailored software to optimize processes and boost efficiency.',

View file

@ -26,7 +26,7 @@ const metricsWithImageSlideSchema = z.object({
value: z.string().min(1).max(20).meta({
description: "Metric value (e.g., 200+, 95%, 50%)"
}),
})).min(1).max(4).default([
})).min(1).max(3).default([
{
label: 'Satisfied Clients',
value: '200+'

View file

@ -23,7 +23,7 @@ const numberedBulletsSlideSchema = z.object({
description: z.string().min(10).max(150).meta({
description: "Bullet point description",
}),
})).min(1).max(4).default([
})).min(1).max(3).default([
{
title: 'Customer Insights',
description: 'Surveys reveal that 78% of businesses are planning to invest in digital solutions, with 85% preferring customized approaches.'

View file

@ -26,7 +26,7 @@ const teamSlideSchema = z.object({
companyDescription: z.string().min(10).max(150).default('Ginyard International Co. is a leading provider of innovative digital solutions tailored for businesses. Our mission is to empower organizations to achieve their goals through cutting-edge technology and strategic partnerships.').meta({
description: "Company description or team introduction text",
}),
teamMembers: z.array(teamMemberSchema).min(2).max(4).default([
teamMembers: z.array(teamMemberSchema).min(2).max(3).default([
{
name: 'Juliana Silva',
position: 'CEO',

View file

@ -36,7 +36,7 @@ const problemStatementSlideSchema = z.object({
}),
)
.min(2)
.max(4)
.max(3)
.default([
{
title: "Inefficiency",

View file

@ -22,7 +22,7 @@ const solutionSlideSchema = z.object({
.min(20)
.max(300)
.default(
"Show that we offer a solution that solves the problems previously described and identified. Make sure that the solutions we offer uphold the values of effectiveness, efficiency, and are highly relevant to the market situation and societyshiva raj badu is here and what is hsd sdksdf klfdslkf lkflkfsldkf.",
"Show that we offer a solution that solves the problems previously described and identified. Make sure that the solutions we offer uphold the values of effectiveness, efficiency, and are highly relevant to the market situation and society is here and what is hsd sdksdf klfdslkf lkflkfsldkf.",
)
.meta({
description: "Main content text describing the solution",
@ -42,7 +42,7 @@ const solutionSlideSchema = z.object({
}),
)
.min(2)
.max(4)
.max(3)
.default([
{
title: "Market",

View file

@ -33,7 +33,7 @@ const modernTeamSlideSchema = z.object({
teamMembers: z
.array(teamMemberSchema)
.min(2)
.max(4)
.max(3)
.default([
{
name: "Sarah Johnson",

View file

@ -1,139 +0,0 @@
import * as z from "zod";
import { ImageSchema, IconSchema } from "../defaultSchemes";
// Schema definition
export const Schema = z.object({
sectionTitle: z.string()
.min(3)
.max(30)
.default("WELCOME!")
.meta({
description: "Main greeting or welcome message - can be 'Hello!', 'Welcome!', 'Greetings!', or similar",
}),
sectionSubtitle: z.string()
.min(10)
.max(60)
.default("WE'RE EXCITED TO SHARE OUR STORY")
.meta({
description: "Supporting message that sets the tone and builds connection with the audience",
}),
welcomeMessage: z.string()
.min(30)
.max(200)
.default("Thank you for joining us today. We're thrilled to have this opportunity to connect with you and share our journey, insights, and vision for the future.")
.meta({
description: "Main welcome or introductory message that engages the audience personally",
}),
callToActionText: z.string()
.min(5)
.max(25)
.default("Let's Get Started")
.meta({
description: "Action button text that encourages audience engagement or progression",
}),
speakerImage: ImageSchema.default({
__image_url__: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
__image_prompt__: "Professional presenter or team representative in business setting"
}).meta({
description: "Image of the presenter, team representative, or welcoming figure",
}),
showDecorations: z.boolean()
.default(true)
.meta({
description: "Whether to display decorative visual elements like underlines and accents",
}),
showCallToAction: z.boolean()
.default(true)
.meta({
description: "Whether to show the call-to-action button",
}),
})
// Type inference
type SchemaType = z.infer<typeof Schema>;
// Component definition
const HelloFriendsSlide = ({ data }: { data: Partial<SchemaType> }) => {
const { sectionTitle, sectionSubtitle, welcomeMessage, callToActionText, speakerImage, showDecorations, showCallToAction } = data;
return (
<div className="aspect-video max-w-[1280px] w-full bg-white relative overflow-hidden">
{/* Main Content Area */}
<div className="h-full flex">
{/* Left Side - Teal Background */}
<div className="w-1/3 relative bg-teal-600">
{/* Speech Bubble */}
{/* Decorative Circle */}
</div>
{/* Right Side - White Background */}
<div className="w-2/3 relative bg-white">
{/* Content */}
<div className="pl-32 pr-16 py-12 h-full flex flex-col justify-center">
{/* Title Section */}
<div className="mb-8">
{sectionTitle && (
<h1 className="text-4xl lg:text-5xl font-black text-teal-700 leading-tight mb-4">
{sectionTitle}
</h1>
)}
{sectionSubtitle && (
<p className="text-base font-semibold text-gray-800 tracking-wide mb-6">
{sectionSubtitle}
</p>
)}
{/* Decorative underline */}
{showDecorations && (
<div className="w-32 h-1 bg-yellow-300 mb-8"></div>
)}
</div>
{/* Welcome Text */}
{welcomeMessage && (
<div className="mb-8">
<p className="text-base leading-relaxed text-gray-700">
{welcomeMessage}
</p>
</div>
)}
{/* Thank You Button */}
{showCallToAction && (
<div>
<button className="bg-teal-600 hover:bg-teal-700 text-white font-semibold px-8 py-3 rounded-full transition-colors duration-200">
{callToActionText}
</button>
</div>
)}
</div>
</div>
</div>
{/* Overlapping Circular Office Image */}
{speakerImage?.__image_url__ && (
<div className="absolute top-1/2 left-72 transform -translate-x-1/2 -translate-y-1/2 ">
<div className="w-96 h-96 rounded-full overflow-hidden bg-white p-2 shadow-2xl">
<img
src={speakerImage.__image_url__}
alt={speakerImage.__image_prompt__}
className="w-full h-full object-cover rounded-full"
/>
</div>
</div>
)}
</div>
);
};
export default HelloFriendsSlide;

View file

@ -25,7 +25,7 @@ export const Schema = z.object({
marketType: z.string().min(3).max(30),
marketDescription: z.string().min(20).max(150),
marketValue: z.string().min(3).max(25).optional()
})).min(2).max(4).default([
})).min(2).max(3).default([
{
marketType: "Total Addressable Market (TAM)",
marketDescription: "The overall revenue opportunity available if we achieved 100% market share across all segments and geographies.",

View file

@ -25,7 +25,7 @@ export const Schema = z.object({
itemNumber: z.string().min(1).max(3),
challengeTitle: z.string().min(5).max(40),
challengeDescription: z.string().min(20).max(200)
})).min(2).max(4).default([
})).min(2).max(3).default([
{
itemNumber: "01",
challengeTitle: "Inefficient Processes",

View file

@ -25,7 +25,7 @@ export const Schema = z.object({
itemNumber: z.string().min(1).max(3),
solutionTitle: z.string().min(5).max(40),
solutionDescription: z.string().min(20).max(200)
})).min(2).max(4).default([
})).min(2).max(3).default([
{
itemNumber: "01",
solutionTitle: "Process Optimization",

View file

@ -35,7 +35,7 @@ export const Schema = z.object({
testimonialText: z.string().min(50).max(300),
rating: z.number().min(1).max(5),
clientPhoto: ImageSchema
})).min(2).max(4).default([
})).min(2).max(3).default([
{
clientName: "Sarah Johnson",
clientTitle: "Chief Executive Officer",