import {defineField, defineType} from "sanity";

export const theme = defineType({
  name: "theme",
  title: "Theme",
  type: "document",
  fields: [
    defineField({
      name: "title",
      title: "Nom du theme",
      type: "string",
      validation: (r) => r.required(),
    }),
    defineField({
      name: "isActive",
      title: "Actif",
      type: "boolean",
      initialValue: true,
      description: "Permet de masquer ce theme dans les selections produit sans le supprimer.",
    }),
    defineField({
      name: "imageUrl",
      title: "Image URL",
      type: "url",
      description: "Visuel S3 du theme, utilise notamment sur les Tonies.",
    }),
  ],
  preview: {
    select: {
      title: "title",
      isActive: "isActive",
      subtitle: "imageUrl",
    },
    prepare: ({title, isActive, subtitle}) => ({
      title,
      subtitle: [isActive === false ? "Inactive" : "Active", subtitle].filter(Boolean).join(" • "),
    }),
  },
});
