import {defineArrayMember, defineField, defineType} from "sanity";

export const reassuranceSection = defineType({
  name: "reassuranceSection",
  title: "Section Réassurance",
  type: "object",
  fields: [
    defineField({
      name: "title",
      title: "Titre de la section (optionnel)",
      type: "string",
      description: "Ex: Pourquoi nous faire confiance",
    }),
    defineField({
      name: "subtitle",
      title: "Sous-titre (optionnel)",
      type: "string",
      description: "Un texte court pour introduire les éléments de réassurance",
    }),
    defineField({
      name: "items",
      title: "Éléments de réassurance",
      type: "array",
      validation: (r) => r.required().min(1),
      description: "Ajoutez vos éléments de réassurance (minimum 1)",
      of: [
        defineArrayMember({
          type: "object",
          fields: [
            defineField({
              name: "icon",
              title: "Icône",
              type: "image",
              options: {hotspot: false},
              description: "Une petite icône (ex: camion, bouclier, etc.)",
            }),
            defineField({
              name: "title",
              title: "Titre",
              type: "string",
              validation: (r) => r.required(),
              description: "Ex: Livraison gratuite",
            }),
            defineField({
              name: "description",
              title: "Description",
              type: "text",
              validation: (r) => r.required(),
              description: "Texte explicatif de cet élément",
            }),
          ],
          preview: {
            select: {
              title: "title",
              subtitle: "description",
              media: "icon",
            },
          },
        }),
      ],
    }),
  ],
});
