diff --git a/src/app/service-request/page.tsx b/src/app/service-request/page.tsx new file mode 100644 index 0000000..548655a --- /dev/null +++ b/src/app/service-request/page.tsx @@ -0,0 +1,258 @@ +"use client"; + +import { ThemeProvider } from "@/components/theme/ThemeProvider"; +import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; +import { useState } from "react"; +import { Upload } from "lucide-react"; + +const navItems = [ + { name: "Home", id: "/" }, + { name: "Membership", id: "/membership" }, + { name: "Services", id: "#services" }, + { name: "Dashboard", id: "/dashboard" }, +]; + +interface ServiceRequestFormData { + memberName: string; + phone: string; + address: string; + membershipPlan: string; + issueType: string; + description: string; + photoFile: File | null; +} + +export default function ServiceRequestPage() { + const [formData, setFormData] = useState({ + memberName: "", phone: "", address: "", membershipPlan: "", issueType: "", description: "", photoFile: null, + }); + + const [submitted, setSubmitted] = useState(false); + + const handleInputChange = ( + e: React.ChangeEvent< + HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement + > + ) => { + const { name, value } = e.target; + setFormData((prev) => ({ + ...prev, + [name]: value, + })); + }; + + const handleFileChange = (e: React.ChangeEvent) => { + if (e.target.files && e.target.files[0]) { + setFormData((prev) => ({ + ...prev, + photoFile: e.target.files![0], + })); + } + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + console.log("Service request submitted:", formData); + setSubmitted(true); + setTimeout(() => { + setFormData({ + memberName: "", phone: "", address: "", membershipPlan: "", issueType: "", description: "", photoFile: null, + }); + setSubmitted(false); + }, 3000); + }; + + return ( + + + +
+
+

+ Service Request +

+

+ Submit a service request and our team will respond within 24 hours. +

+ +
+ {submitted ? ( +
+
+

+ Service Request Submitted! +

+

+ A technician will contact you within 24 hours. +

+
+ ) : ( +
+ {/* Member Name */} +
+ + +
+ + {/* Phone */} +
+ + +
+ + {/* Address */} +
+ + +
+ + {/* Membership Plan */} +
+ + +
+ + {/* Issue Type */} +
+ + +
+ + {/* Description */} +
+ +