import AuthenticatedLayout from '@/Layouts/AuthenticatedLayout'; import { Head, Link, useForm } from '@inertiajs/react'; import { Button } from '@/Components/ui/button'; import { Badge } from '@/Components/ui/badge'; import { CardHeader, CardTitle, CardDescription } from '@/Components/ui/card'; import { Sparkles, ChevronRight, Check } from 'lucide-react'; import { PageProps } from '@/types'; import { FormEvent } from 'react'; import { ProjectForm, ProjectFormData, ProjectClassificationItem } from '../../Components/ProjectForm'; interface Employee { id: number; ulid: string; name: string } interface ParentProject { id: number; ulid: string; name: string; code: string } interface Props extends PageProps { employees: Employee[]; projects: ParentProject[]; classifications?: ProjectClassificationItem[]; } export default function Create({ employees, projects, classifications = [] }: Props) { const { data, setData, post, processing, errors } = useForm({ name: '', client_name: '', location: '', start_date: '', target_end_date: '', contract_duration: '', description: '', pm_id: '', contract_value: '', project_type: 'standard', classifications: [], parent_project_id: '', is_unprofitable: false, }); const handleSubmit = (e: FormEvent) => { e.preventDefault(); post(route('projects.store')); }; const stepsList = [ { id: 1, label: 'Details' }, { id: 2, label: 'Tasks' }, { id: 3, label: 'Materials' }, { id: 4, label: 'Manpower' }, { id: 5, label: 'Equipment' }, { id: 6, label: 'Estimation' }, { id: 7, label: 'Submit' } ]; return (

Project Wizard: {data.name || 'New Project'}

Guided Project Estimation Setup

under bidding } >
{/* Stepper Header */}
{stepsList.map((s) => { const isActive = s.id === 1; return (
{s.id}
{s.label}
); })}
{/* Step 1 Form Container */}
Step 1: Project Information Review and update project information parameters.
); }