
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 { Textarea } from "@/components/ui/textarea";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";

interface ActivityFieldsProps {
  form: UseFormReturn<StepFormData>;
}

export function ActivityFields({ form }: ActivityFieldsProps) {
  const activityTypes = [
    "Culture", "Nature", "Aventure", "Relaxation", "Shopping",
    "Sport", "Gastronomie", "Visite guidée", "Autre"
  ];

  const walkingLevels = [
    "Aucun (accessible)", "Facile", "Modéré", "Difficile", "Très difficile"
  ];

  return (
    <div className="space-y-4">
      <FormField
        control={form.control}
        name="activityType"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Type d'activité</FormLabel>
            <Select
              value={field.value}
              onValueChange={field.onChange}
            >
              <FormControl>
                <SelectTrigger>
                  <SelectValue placeholder="Sélectionnez un type d'activité" />
                </SelectTrigger>
              </FormControl>
              <SelectContent>
                {activityTypes.map((type) => (
                  <SelectItem key={type} value={type}>{type}</SelectItem>
                ))}
              </SelectContent>
            </Select>
            <FormMessage />
          </FormItem>
        )}
      />

      <div className="grid grid-cols-1 gap-4">
        <FormField
          control={form.control}
          name="estimatedDuration"
          render={({ field }) => (
            <FormItem>
              <FormLabel>Durée estimée</FormLabel>
              <FormControl>
                <Input placeholder="Ex: 2h" {...field} value={field.value || ""} />
              </FormControl>
              <FormMessage />
            </FormItem>
          )}
        />
      </div>

      <FormField
        control={form.control}
        name="guideName"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Guide ou contact local</FormLabel>
            <FormControl>
              <Input placeholder="Ex: Marie Dupont" {...field} value={field.value || ""} />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />

      <FormField
        control={form.control}
        name="walkingLevel"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Niveau de marche / Accessibilité</FormLabel>
            <Select
              value={field.value}
              onValueChange={field.onChange}
            >
              <FormControl>
                <SelectTrigger>
                  <SelectValue placeholder="Sélectionnez un niveau" />
                </SelectTrigger>
              </FormControl>
              <SelectContent>
                {walkingLevels.map((level) => (
                  <SelectItem key={level} value={level}>{level}</SelectItem>
                ))}
              </SelectContent>
            </Select>
            <FormMessage />
          </FormItem>
        )}
      />

      <FormField
        control={form.control}
        name="description"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Description</FormLabel>
            <FormControl>
              <Textarea
                placeholder="Détails sur l'activité..."
                rows={3}
                {...field}
                value={field.value || ""}
              />
            </FormControl>
            <FormMessage />
          </FormItem>
        )}
      />
    </div>
  );
}
