From 38c5cbdff79f12a842744195ce113a2921752f59 Mon Sep 17 00:00:00 2001 From: Leon Serfaty G Date: Thu, 17 Jul 2025 10:25:08 +0000 Subject: [PATCH] this is how the next step should look like. extra options should be disp --- .../cost-estimator/cost-estimator-form.tsx | 24 +++ .../cost-estimator/step-2-service-type.tsx | 1 + .../cost-estimator/step-3-project-stage.tsx | 1 + .../cost-estimator/step-4-design-process.tsx | 1 + .../cost-estimator/step-5-page-count.tsx | 1 + .../cost-estimator/step-6-animations.tsx | 1 + .../cost-estimator/step-7-illustrations.tsx | 189 ++++++++++++++++++ 7 files changed, 218 insertions(+) create mode 100644 src/components/cost-estimator/step-7-illustrations.tsx diff --git a/src/components/cost-estimator/cost-estimator-form.tsx b/src/components/cost-estimator/cost-estimator-form.tsx index 8576a51..6fff748 100644 --- a/src/components/cost-estimator/cost-estimator-form.tsx +++ b/src/components/cost-estimator/cost-estimator-form.tsx @@ -7,9 +7,17 @@ import { Step3ProjectStage } from './step-3-project-stage'; import { Step4DesignProcess } from './step-4-design-process'; import { Step5PageCount } from './step-5-page-count'; import { Step6Animations } from './step-6-animations'; +import { Step7Illustrations } from './step-7-illustrations'; import { Card, CardContent } from '@/components/ui/card'; import { AnimatePresence, motion } from 'framer-motion'; +export type IllustrationSelection = { + has2d: boolean; + is2dAnimated: 'static' | 'animated' | null; + has3d: boolean; + is3dAnimated: 'static' | 'animated' | null; +}; + export type FormData = { projectType: 'website' | 'mobile-app' | 'platform' | null; serviceType: 'entire-project' | 'development' | 'ui-ux-design' | 'identity-branding' | null; @@ -17,6 +25,7 @@ export type FormData = { designProcess: 'custom' | 'mockups' | 'existing' | null; pageCount: number; animatedElements: boolean | null; + illustrations: IllustrationSelection; }; export function CostEstimatorForm() { @@ -28,6 +37,12 @@ export function CostEstimatorForm() { designProcess: null, pageCount: 0, animatedElements: null, + illustrations: { + has2d: false, + is2dAnimated: null, + has3d: false, + is3dAnimated: null, + }, }); const [isPending, startTransition] = useTransition(); @@ -101,6 +116,15 @@ export function CostEstimatorForm() { formData={formData} /> ); + case 7: + return ( + + ); default: return (
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ ); +}