backend:
  name: github
  repo: mbcube/cachetdeco   # REPLACE with your GitHub org/repo
  branch: main
  # For Cloudflare Pages (no Netlify Identity), use PKCE flow:
  auth_type: pkce
  app_id: YOUR_GITHUB_OAUTH_APP_CLIENT_ID   # REPLACE with your GitHub OAuth App client ID

locale: fr
media_folder: "public/images"
public_folder: "/images"

i18n:
  structure: multiple_folders
  locales: [fr]
  default_locale: fr

collections:
  - name: "services"
    label: "Services"
    label_singular: "Service"
    folder: "src/content/services"
    create: true
    delete: true
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "title", label: "Titre", widget: "string", i18n: true }
      - { name: "description", label: "Description courte", widget: "text", i18n: true }
      - name: "icon"
        label: "Icône (identifiant)"
        widget: "select"
        options: ["interior", "exterior", "commercial", "decoration", "renovation"]
        required: false
        i18n: duplicate
        hint: "Identifiant interne pour l'icône SVG"
      - { name: "image", label: "Image de couverture", widget: "image", required: false, i18n: duplicate }
      - { name: "order", label: "Ordre d'affichage", widget: "number", default: 0, i18n: duplicate }
      - { name: "featured", label: "Mis en vedette", widget: "boolean", default: false, i18n: duplicate }
      - { name: "body", label: "Contenu détaillé", widget: "markdown", i18n: true }

  - name: "navigation"
    label: "Navigation"
    label_singular: "Navigation"
    folder: "src/content/navigation"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - name: "links"
        label: "Liens"
        widget: "list"
        i18n: true
        fields:
          - { name: "name", label: "Libellé", widget: "string" }
          - { name: "href", label: "URL", widget: "string" }
      - name: "cta"
        label: "Bouton CTA (header)"
        widget: "object"
        i18n: true
        fields:
          - { name: "label", label: "Libellé", widget: "string" }
          - { name: "href", label: "Lien", widget: "string" }
      - name: "servicesSection"
        label: "Bloc Services (accueil)"
        widget: "object"
        i18n: true
        fields:
          - { name: "title", label: "Titre", widget: "string" }
          - { name: "subtitle", label: "Sous-titre", widget: "string" }
          - { name: "viewAll", label: "Voir tout (libellé)", widget: "string" }
          - { name: "empty", label: "Message liste vide", widget: "string" }
      - name: "pageTitles"
        label: "Titres de page (meta)"
        widget: "object"
        i18n: true
        fields:
          - { name: "services", label: "Page Services", widget: "string" }
          - { name: "submission", label: "Page Soumission", widget: "string" }

  - name: "hero"
    label: "Hero (accueil)"
    label_singular: "Hero"
    folder: "src/content/hero"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "pillCta", label: "Texte pastille (CTA)", widget: "string", i18n: true }
      - { name: "title", label: "Titre principal", widget: "string", i18n: true }
      - { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
      - { name: "cta", label: "Bouton principal", widget: "string", i18n: true }
      - { name: "ctaHref", label: "Lien du bouton", widget: "string", i18n: duplicate }

  - name: "cta"
    label: "Bannière CTA"
    label_singular: "Bannière CTA"
    folder: "src/content/cta"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "title", label: "Titre", widget: "string", i18n: true }
      - { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
      - { name: "button", label: "Libellé du bouton", widget: "string", i18n: true }
      - { name: "buttonHref", label: "Lien du bouton", widget: "string", i18n: duplicate }
      - { name: "imageAlt", label: "Texte alternatif image", widget: "string", i18n: true }

  - name: "contact"
    label: "Page Contact"
    label_singular: "Contact"
    folder: "src/content/contact"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "title", label: "Titre", widget: "string", i18n: true }
      - { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
      - { name: "phone", label: "Libellé téléphone", widget: "string", i18n: true }
      - { name: "email", label: "Libellé courriel", widget: "string", i18n: true }
      - { name: "address", label: "Libellé adresse", widget: "string", i18n: true }
      - { name: "serviceAreaLabel", label: "Libellé zone desservie", widget: "string", i18n: true }
      - name: "hours"
        label: "Heures"
        widget: "object"
        i18n: true
        fields:
          - { name: "title", label: "Titre section", widget: "string" }
          - name: "weekdays"
            label: "Semaine"
            widget: "object"
            fields:
              - { name: "day", label: "Jours", widget: "string" }
              - { name: "time", label: "Heures", widget: "string" }
          - name: "saturday"
            label: "Samedi"
            widget: "object"
            fields:
              - { name: "day", label: "Jour", widget: "string" }
              - { name: "time", label: "Heures", widget: "string" }
          - name: "sunday"
            label: "Dimanche"
            widget: "object"
            fields:
              - { name: "day", label: "Jour", widget: "string" }
              - { name: "time", label: "Heures", widget: "string" }
      - { name: "follow", label: "Réseaux (titre)", widget: "string", i18n: true }
      - { name: "facebookCta", label: "Lien Facebook (texte)", widget: "string", i18n: true }
      - name: "map"
        label: "Carte"
        widget: "object"
        i18n: true
        fields:
          - { name: "title", label: "Titre", widget: "string" }
          - { name: "region", label: "Région", widget: "string" }
          - { name: "mapsButton", label: "Bouton Google Maps", widget: "string" }
      - name: "ctaCard"
        label: "Encadré soumission"
        widget: "object"
        i18n: true
        fields:
          - { name: "title", label: "Titre", widget: "string" }
          - { name: "description", label: "Description", widget: "text" }
          - { name: "button", label: "Bouton", widget: "string" }
      - { name: "breadcrumbHome", label: "Fil d'Ariane — Accueil", widget: "string", i18n: true }

  - name: "submission"
    label: "Page Soumission & formulaire"
    label_singular: "Soumission"
    folder: "src/content/submission"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "pageTitle", label: "Titre court (breadcrumb)", widget: "string", i18n: true }
      - { name: "title", label: "Titre H1", widget: "string", i18n: true }
      - { name: "subtitle", label: "Sous-titre", widget: "text", i18n: true }
      - name: "form"
        label: "Formulaire"
        widget: "object"
        i18n: true
        fields:
          - { name: "ariaLabel", label: "Aria-label formulaire", widget: "string" }
          - { name: "fullNameLabel", label: "Libellé nom complet", widget: "string" }
          - { name: "fullNamePlaceholder", label: "Placeholder nom", widget: "string" }
          - { name: "emailLabel", label: "Libellé courriel", widget: "string" }
          - { name: "emailPlaceholder", label: "Placeholder courriel", widget: "string" }
          - { name: "phoneLabel", label: "Libellé téléphone", widget: "string" }
          - { name: "phonePlaceholder", label: "Placeholder téléphone", widget: "string" }
          - { name: "workAddressLabel", label: "Libellé adresse travaux", widget: "string" }
          - { name: "workAddressPlaceholder", label: "Placeholder adresse", widget: "string" }
          - { name: "serviceTypeLabel", label: "Libellé type de service", widget: "string" }
          - { name: "serviceTypePlaceholder", label: "Placeholder sélection", widget: "string" }
          - name: "serviceTypeOptions"
            label: "Options type de service"
            widget: "object"
            fields:
              - { name: "interior", label: "Intérieur", widget: "string" }
              - { name: "exterior", label: "Extérieur", widget: "string" }
              - { name: "commercial", label: "Commercial", widget: "string" }
              - { name: "decoration", label: "Décoration", widget: "string" }
              - { name: "other", label: "Autre", widget: "string" }
          - { name: "messageLabel", label: "Libellé message", widget: "string" }
          - { name: "messagePlaceholder", label: "Placeholder message", widget: "text" }
          - { name: "attachmentsLabel", label: "Libellé pièces jointes", widget: "string" }
          - { name: "attachmentsHint", label: "Aide zone dépôt", widget: "string" }
          - { name: "attachmentsAccepted", label: "Formats acceptés", widget: "string" }
          - { name: "attachmentsRemove", label: "Retirer fichier (aria)", widget: "string" }
          - { name: "submitLabel", label: "Bouton envoyer", widget: "string" }
          - { name: "submittingLabel", label: "État envoi", widget: "string" }
          - { name: "successTitle", label: "Succès — titre", widget: "string" }
          - { name: "successMessage", label: "Succès — message", widget: "text" }
          - { name: "errorTitle", label: "Erreur — titre", widget: "string" }
          - { name: "errorMessage", label: "Erreur — message", widget: "text" }
          - name: "validation"
            label: "Messages validation"
            widget: "object"
            fields:
              - { name: "fullName", label: "Nom", widget: "string" }
              - { name: "email", label: "Courriel", widget: "string" }
              - { name: "phone", label: "Téléphone", widget: "string" }
              - { name: "serviceType", label: "Type service", widget: "string" }
              - { name: "message", label: "Message", widget: "string" }
              - { name: "attachmentsType", label: "Type fichier", widget: "string" }
              - { name: "attachmentsSize", label: "Taille fichiers", widget: "string" }
      - name: "sidebar"
        label: "Barre latérale"
        widget: "object"
        i18n: true
        fields:
          - { name: "processTitle", label: "Titre processus", widget: "string" }
          - name: "steps"
            label: "Étapes"
            widget: "list"
            i18n: true
            fields:
              - { name: "title", label: "Titre", widget: "string" }
              - { name: "description", label: "Description", widget: "text" }
          - { name: "directContactTitle", label: "Contact direct (titre)", widget: "string" }
          - { name: "rbqLabel", label: "Libellé RBQ", widget: "string" }
      - { name: "breadcrumbHome", label: "Fil d'Ariane — Accueil", widget: "string", i18n: true }

  - name: "footer"
    label: "Pied de page"
    label_singular: "Footer"
    folder: "src/content/footer"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "tagline", label: "Slogan", widget: "string", i18n: true }
      - { name: "navTitle", label: "Titre colonne navigation", widget: "string", i18n: true }
      - { name: "servicesTitle", label: "Titre colonne services", widget: "string", i18n: true }
      - { name: "contactTitle", label: "Titre colonne contact", widget: "string", i18n: true }
      - { name: "serviceAreasTitle", label: "Titre colonne zones de service", widget: "string", i18n: true }
      - { name: "legal", label: "Mention légale (utiliser {year})", widget: "string", i18n: true }
      - { name: "rbq", label: "Ligne RBQ", widget: "string", i18n: true }
      - { name: "neq", label: "Ligne NEQ", widget: "string", i18n: true }
      - { name: "facebookLabel", label: "Libellé Facebook", widget: "string", i18n: true }
      - name: "serviceLinks"
        label: "Liens services (pied)"
        widget: "list"
        i18n: true
        fields:
          - { name: "label", label: "Libellé", widget: "string" }
          - { name: "href", label: "URL", widget: "string" }
      - name: "serviceAreas"
        label: "Zones de service"
        widget: "list"
        i18n: true
        field: { name: "item", label: "Ville / Secteur", widget: "string" }

  - name: "not_found"
    label: "Page 404"
    label_singular: "404"
    folder: "src/content/not-found"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "title", label: "Titre", widget: "string", i18n: true }
      - { name: "message", label: "Message", widget: "text", i18n: true }
      - { name: "home", label: "Lien retour accueil", widget: "string", i18n: true }

  - name: "pourquoi"
    label: "Pourquoi nous choisir"
    label_singular: "Pourquoi"
    folder: "src/content/pourquoi"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "title", label: "Titre de section", widget: "string", i18n: true }
      - { name: "subtitle", label: "Sous-titre", widget: "string", i18n: true }
      - name: "cards"
        label: "Cartes d'avantages"
        widget: "list"
        min: 1
        max: 8
        i18n: true
        fields:
          - name: "icon"
            label: "Icône"
            widget: "select"
            options:
              - { value: "shield", label: "Bouclier (certification)" }
              - { value: "clock", label: "Horloge (ponctualité)" }
              - { value: "check", label: "Crochet (qualité)" }
              - { value: "team", label: "Équipe (personnes)" }
              - { value: "star", label: "Étoile (excellence)" }
              - { value: "location", label: "Localisation (territoire)" }
          - { name: "title", label: "Titre", widget: "string" }
          - { name: "description", label: "Description", widget: "text" }

  - name: "testimonials"
    label: "Témoignages"
    label_singular: "Témoignage"
    folder: "src/content/testimonials"
    format: json
    create: false
    delete: false
    i18n: true
    slug: "{{slug}}"
    fields:
      - { name: "sectionLabel", label: "Libellé de section", widget: "string", i18n: true }
      - { name: "title", label: "Titre de section", widget: "string", i18n: true }
      - name: "items"
        label: "Témoignages"
        widget: "list"
        i18n: true
        fields:
          - { name: "key", label: "Identifiant unique", widget: "string" }
          - { name: "src", label: "URL du post Facebook (embed)", widget: "string" }
          - { name: "height", label: "Hauteur de l'iframe (px)", widget: "number" }

  - name: "settings"
    label: "Paramètres du site"
    files:
      - label: "Général"
        name: "general"
        file: "src/content/settings/general.json"
        fields:
          - { name: "siteName", label: "Nom du site", widget: "string" }
          - { name: "legalName", label: "Nom légal (NEQ)", widget: "string" }
          - { name: "tagline", label: "Slogan court", widget: "string" }
          - { name: "taglineHero", label: "Slogan hero", widget: "string" }
          - { name: "phone", label: "Téléphone", widget: "string" }
          - { name: "email", label: "Courriel", widget: "string" }
          - { name: "emailFromContact", label: "Expéditeur courriel (formulaire contact, ex. Nom <adresse@domaine>)", widget: "string" }
          - { name: "emailToContact", label: "Destinataire courriel (formulaire contact)", widget: "string" }
          - { name: "fromAddressSubmission", label: "Expéditeur courriel (formulaire soumission, ex. Nom <adresse@domaine>)", widget: "string" }
          - { name: "toAddressSubmission", label: "Destinataire courriel (formulaire soumission)", widget: "string" }
          - { name: "address", label: "Adresse", widget: "string" }
          - { name: "serviceArea", label: "Zone de service", widget: "string" }
          - { name: "facebook", label: "Lien Facebook", widget: "string" }
          - { name: "instagram", label: "Lien Instagram", widget: "string", required: false }
          - { name: "linkedin", label: "Lien LinkedIn (vide = masqué)", widget: "string", required: false }
          - { name: "rbq", label: "Numéro RBQ", widget: "string" }
          - { name: "neq", label: "Numéro NEQ (Registraire)", widget: "string" }

      - label: "SEO"
        name: "seo"
        file: "src/content/settings/seo.json"
        fields:
          - { name: "defaultTitle", label: "Titre par défaut", widget: "string" }
          - { name: "titleTemplate", label: "Gabarit de titre (%s = titre de page)", widget: "string" }
          - { name: "defaultDescription", label: "Description par défaut", widget: "text" }
          - { name: "keywords", label: "Mots-clés (séparés par virgule)", widget: "string" }
          - { name: "ogImage", label: "Image OG par défaut", widget: "image", required: false }
