import { defineType, defineField } from 'sanity' export default defineType({ name: 'homePage', title: 'Page d\'accueil', type: 'document', groups: [ { name: 'hero', title: 'Hero' }, { name: 'collection', title: 'Collection' }, { name: 'contact', title: 'Contact / WhatsApp' }, { name: 'footer', title: 'Footer' }, { name: 'seo', title: 'SEO' }, ], fields: [ // ── HERO ────────────────────────────────────────────────── defineField({ name: 'heroLabel', title: 'Label hero', type: 'string', initialValue: '// ARCHIVE_001 — 2026', group: 'hero', }), defineField({ name: 'heroTitle', title: 'Titre hero', type: 'string', initialValue: 'REBOURS STUDIO', description: 'Utiliser | pour un retour à la ligne (ex: REBOURS|STUDIO)', group: 'hero', validation: (rule) => rule.required(), }), defineField({ name: 'heroSubtitle', title: 'Sous-titre hero', type: 'text', rows: 2, initialValue: 'Mobilier d\'art contemporain.\nSpace Age × Memphis.', group: 'hero', }), defineField({ name: 'heroStatus', title: 'Status hero', type: 'text', rows: 2, initialValue: 'STATUS: [PROTOTYPE EN COURS]\nCOLLECTION_001 — BIENTÔT DISPONIBLE', group: 'hero', }), defineField({ name: 'heroImage', title: 'Image hero', type: 'image', options: { hotspot: true }, description: 'Image principale du hero. Si vide, utilise l\'image du premier produit.', group: 'hero', fields: [ defineField({ name: 'alt', title: 'Texte alternatif', type: 'string', }), ], }), // ── COLLECTION ──────────────────────────────────────────── defineField({ name: 'collectionLabel', title: 'Label collection', type: 'string', initialValue: '// COLLECTION_001', group: 'collection', }), defineField({ name: 'collectionCta', title: 'Texte d\'action collection', type: 'string', initialValue: 'CLIQUER POUR OUVRIR', description: 'Affiché après le nombre d\'objets', group: 'collection', }), // ── CONTACT / WHATSAPP ──────────────────────────────────── defineField({ name: 'contactLabel', title: 'Label contact', type: 'string', initialValue: '// CONTACT', group: 'contact', }), defineField({ name: 'contactTitle', title: 'Titre contact', type: 'string', initialValue: 'UNE QUESTION ? PARLONS-EN', description: 'Utiliser | pour un retour à la ligne', group: 'contact', }), defineField({ name: 'contactDescription', title: 'Description contact', type: 'text', rows: 2, initialValue: 'Commandes sur mesure, questions techniques,\nou simplement dire bonjour.', group: 'contact', }), defineField({ name: 'whatsappNumber', title: 'Numéro WhatsApp', type: 'string', initialValue: '33651755191', description: 'Format international sans + (ex: 33612345678)', group: 'contact', validation: (rule) => rule.required(), }), defineField({ name: 'whatsappButtonText', title: 'Texte bouton WhatsApp', type: 'string', initialValue: 'CONTACTEZ-NOUS SUR WHATSAPP', group: 'contact', }), defineField({ name: 'contactResponseTime', title: 'Temps de réponse', type: 'string', initialValue: 'RÉPONSE SOUS 24H', group: 'contact', }), // ── FOOTER ──────────────────────────────────────────────── defineField({ name: 'footerText', title: 'Texte footer', type: 'string', initialValue: '© 2026 REBOURS STUDIO — PARIS', group: 'footer', }), defineField({ name: 'instagramUrl', title: 'Lien Instagram', type: 'url', initialValue: 'https://instagram.com/rebour.studio', group: 'footer', }), // ── SEO ─────────────────────────────────────────────────── defineField({ name: 'seoTitle', title: 'Titre SEO', type: 'string', initialValue: 'REBOURS — Mobilier d\'art contemporain | Collection 001', group: 'seo', }), defineField({ name: 'seoDescription', title: 'Description SEO', type: 'text', rows: 3, initialValue: 'REBOURS Studio crée du mobilier d\'art contemporain inspiré du Space Age et du mouvement Memphis. Pièces uniques fabriquées à Paris. Collection 001 en cours.', group: 'seo', }), ], preview: { prepare() { return { title: 'Page d\'accueil' } }, }, })