"use client" import type React from "react" import { useState, useEffect } from "react" import { useRouter } from "next/navigation" import { getServiceById, getAvailablePlumbers, calculateEstimatedPrice, type Plumber } from "@/lib/services" import Header from "@/components/layout/header" import PlumberCard from "@/components/services/plumber-card" import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Textarea } from "@/components/ui/textarea" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Badge } from "@/components/ui/badge" import { Calendar, MapPin, User, AlertCircle } from "lucide-react" import { Alert, AlertDescription } from "@/components/ui/alert" interface BookServicePageProps { params: { serviceId: string } } export default function BookServicePage({ params }: BookServicePageProps) { const router = useRouter() const [service, setService] = useState(getServiceById(params.serviceId)) const [selectedPlumber, setSelectedPlumber] = useState(null) const [availablePlumbers, setAvailablePlumbers] = useState([]) const [loading, setLoading] = useState(false) const [formData, setFormData] = useState({ name: "", phone: "", address: "", city: "", scheduledDate: "", scheduledTime: "", urgency: "medium" as "low" | "medium" | "high" | "emergency", description: "", }) useEffect(() => { if (service && formData.city) { const plumbers = getAvailablePlumbers(service.id, formData.city) setAvailablePlumbers(plumbers) } }, [service, formData.city]) if (!service) { return (

الخدمة غير موجودة

) } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!selectedPlumber) { alert("يرجى اختيار سباك") return } setLoading(true) try { const bookingData = { serviceId: service.id, plumberId: selectedPlumber.id, ...formData, estimatedPrice: calculateEstimatedPrice(service, selectedPlumber), } // هنا سيتم إرسال البيانات للخادم console.log("Booking data:", bookingData) // محاكاة API call await new Promise((resolve) => setTimeout(resolve, 2000)) alert("تم حجز الخدمة بنجاح! سيتم التواصل معك قريباً") router.push("/dashboard") } catch (error) { alert("حدث خطأ في الحجز. يرجى المحاولة مرة أخرى") } finally { setLoading(false) } } const estimatedPrice = selectedPlumber ? calculateEstimatedPrice(service, selectedPlumber) : service.basePrice return (

حجز خدمة: {service.name}

{service.description}

{/* Booking Form */}
{/* Personal Information */} البيانات الشخصية
setFormData((prev) => ({ ...prev, name: e.target.value }))} required className="text-right" placeholder="أدخل اسمك الكامل" />
setFormData((prev) => ({ ...prev, phone: e.target.value }))} required className="text-right" placeholder="01234567890" />
{/* Location Information */} معلومات الموقع