
import React from "react";
import { UseFormReturn } from "react-hook-form";
import {
  FormControl,
  FormField,
  FormItem,
  FormLabel,
  FormMessage
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { StepFormData } from "../schemas/stepSchema";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";

interface AccommodationFieldsProps {
  form: UseFormReturn<StepFormData>;
}

export function AccommodationFields({ form }: AccommodationFieldsProps) {
  const roomTypes = [
    "Chambre simple", "Chambre double", "Suite", "Appartement",
    "Studio", "Chambre partagée", "Villa", "Autre"
  ];

  return (
    <div className="space-y-4">
      <FormField
        control={form.control}
        name="accommodationName"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Nom de l'hébergement</FormLabel>
            <FormControl>
              <Input placeholder="Ex: Hôtel de Paris" {...field} value={field.value || ""} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />

      <div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
        <FormField
          control={form.control}
          name="checkInTime"
          render={({ field }) => (
            <FormItem>
              <FormLabel>Heure d'arrivée</FormLabel>
              <FormControl>
                <Input type="time" {...field} value={field.value || ""} />
              </FormControl>
              <FormMessage />
            </FormItem>
          )}
        />

        <FormField
          control={form.control}
          name="checkOutTime"
          render={({ field }) => (
            <FormItem>
              <FormLabel>Heure de départ</FormLabel>
              <FormControl>
                <Input type="time" {...field} value={field.value || ""} />
              </FormControl>
              <FormMessage />
            </FormItem>
          )}
        />
      </div>

      <FormField
        control={form.control}
        name="roomType"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Type de chambre</FormLabel>
            <Select
              value={field.value}
              onValueChange={field.onChange}
            >
              <FormControl>
                <SelectTrigger>
                  <SelectValue placeholder="Sélectionnez un type de chambre" />
                </SelectTrigger>
              </FormControl>
              <SelectContent>
                {roomTypes.map((type) => (
                  <SelectItem key={type} value={type}>{type}</SelectItem>
                ))}
              </SelectContent>
            </Select>
            <FormMessage />
          </FormItem>
        )}
      />

      <FormField
        control={form.control}
        name="reservationNumber"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Numéro de réservation</FormLabel>
            <FormControl>
              <Input placeholder="Ex: HT-12345" {...field} value={field.value || ""} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />
    </div>
  );
}
