"use client"; import React, { useState } from "react"; import Link from "next/link"; import Image from "next/image"; export default function Careerform() { const [formData, setFormData] = useState({ fullName: '', email: '', phone: '', roles: '', resume: null }); const [uploadStatus, setUploadStatus] = useState(''); const [isSubmitting, setIsSubmitting] = useState(false); const [submitStatus, setSubmitStatus] = useState(null); const handleInputChange = (e) => { const { id, value } = e.target; setFormData(prev => ({ ...prev, [id]: value })); }; const handleFileUpload = (e) => { const file = e.target.files[0]; if (file) { // Validate file type const allowedTypes = ['.pdf', '.doc', '.docx']; const fileExtension = '.' + file.name.split('.').pop().toLowerCase(); if (!allowedTypes.includes(fileExtension)) { setUploadStatus('Please upload a PDF, DOC, or DOCX file'); return; } // Validate file size (5MB limit) if (file.size > 5 * 1024 * 1024) { setUploadStatus('File size must be less than 5MB'); return; } // Convert file to base64 const reader = new FileReader(); reader.onload = () => { const base64 = reader.result.split(',')[1]; // Remove data:mime;base64, prefix setFormData(prev => ({ ...prev, resume: { name: file.name, data: base64, type: file.type } })); setUploadStatus(`${file.name} uploaded successfully`); }; reader.readAsDataURL(file); } }; const handleSubmit = async (e) => { e.preventDefault(); // Basic form validation if (!formData.fullName || !formData.email || !formData.phone || !formData.roles) { alert('Please fill in all required fields'); return; } if (!formData.resume) { alert('Please upload your resume'); return; } setIsSubmitting(true); setSubmitStatus(null); try { const response = await fetch('/api/contact', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ type: 'career', ...formData, }), }); if (response.ok) { setSubmitStatus('success'); // Reset form setFormData({ fullName: '', email: '', phone: '', roles: '', resume: null }); setUploadStatus(''); // Reset file input const fileInput = document.getElementById('resume-upload'); if (fileInput) fileInput.value = ''; } else { setSubmitStatus('error'); } } catch (error) { console.error('Error:', error); setSubmitStatus('error'); } finally { setIsSubmitting(false); setTimeout(() => setSubmitStatus(null), 5000); } }; return (

Ready to join our team? Let's build something amazing together!

+91 90954 50005

Call us for career inquiries

{submitStatus && (
{submitStatus === 'success' ? 'Application submitted successfully! We will review your application and get back to you soon.' : 'Failed to submit application. Please try again.'}
)}
{/* File Upload Section */}
{uploadStatus && (

{uploadStatus}

)} Accepted formats: PDF, DOC, DOCX (Max size: 5MB)
); }