
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 MealFieldsProps {
  form: UseFormReturn<StepFormData>;
}

export function MealFields({ form }: MealFieldsProps) {
  const cuisineTypes = [
    "Française", "Italienne", "Japonaise", "Chinoise", "Indienne",
    "Mexicaine", "Méditerranéenne", "Végétarienne", "Locale", "Autre"
  ];

  return (
    <div className="space-y-4">
      <FormField
        control={form.control}
        name="restaurantName"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Nom du restaurant</FormLabel>
            <FormControl>
              <Input placeholder="Ex: Le Petit Bistro" {...field} value={field.value || ""} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />

      <FormField
        control={form.control}
        name="time"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Heure du repas</FormLabel>
            <FormControl>
              <Input type="time" {...field} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />

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

      <FormField
        control={form.control}
        name="budget"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Budget estimé</FormLabel>
            <FormControl>
              <Input placeholder="Ex: 25€ - 35€ par personne" {...field} value={field.value || ""} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />
    </div>
  );
}
