# Configuração do Decap CMS (https://decapcms.org/) — painel em /admin.
# Documentação de configuração/deploy: ver README.md → "Painel de administração".

backend:
  name: github
  repo: PedroAdriao/barbearia-marques
  branch: main
  # Tem de corresponder EXATAMENTE ao domínio onde o site é servido (incluindo
  # o "www"), senão o handshake postMessage entre a popup do OAuth e a janela
  # do /admin falha silenciosamente (a popup fica presa, sem erro visível).
  # O site faz redirect de barbeariamarques.com -> www.barbeariamarques.com,
  # por isso tem de ser a versão com "www".
  base_url: https://www.barbeariamarques.com
  auth_endpoint: api/auth

# Permite testar o CMS em localhost sem OAuth do GitHub: corre `npx decap-server`
# num terminal e `npm run dev` noutro — o Decap CMS deteta o proxy local
# automaticamente e grava direto nos ficheiros do teu checkout local.
# Ver README.md → "Testar o CMS localmente".
local_backend: true

publish_mode: simple
logo_url: /favicon.svg

# Nenhuma das collections abaixo usa imagens, mas o Decap exige sempre estas
# duas chaves. Ajusta/usa se um dia adicionares um campo do tipo "image".
media_folder: "src/assets/images/uploads"
public_folder: "/src/assets/images/uploads"

# Idioma da INTERFACE do próprio Decap CMS (botões, menus). O conteúdo do
# site em si é editado através dos campos "🇵🇹 Português" / "🇬🇧 English"
# definidos em cada collection abaixo — ver nota no README sobre esta escolha.
locale: "pt"

collections:
  - name: "servicos"
    label: "Serviços"
    label_singular: "Serviço"
    description: "Grid de serviços + preços da página inicial (secção 'Os Nossos Serviços')."
    folder: "src/data/servicos"
    format: "json"
    create: true
    delete: true
    slug: "{{fields.ordem}}"
    summary: "{{pt.nome}} — {{preco}}"
    fields:
      - label: "Ordem"
        name: "ordem"
        widget: "number"
        value_type: "int"
        hint: "Posição na grelha de serviços (1 = primeiro). Não repetir números."
      - label: "Preço"
        name: "preco"
        widget: "string"
        hint: "Ex: 15€ (igual para PT e EN)"
      - label: "🇵🇹 Português"
        name: "pt"
        widget: "object"
        collapsed: false
        fields:
          - { label: "Nome do serviço", name: "nome", widget: "string" }
          - { label: "Descrição", name: "descricao", widget: "text" }
      - label: "🇬🇧 English"
        name: "en"
        widget: "object"
        collapsed: false
        fields:
          - { label: "Service name", name: "nome", widget: "string" }
          - { label: "Description", name: "descricao", widget: "text" }

  - name: "testemunhos"
    label: "Testemunhos"
    label_singular: "Testemunho"
    description: "Reviews de clientes mostradas na página inicial (secção 'O Que Dizem')."
    folder: "src/data/testemunhos"
    format: "json"
    create: true
    delete: true
    slug: "{{fields.ordem}}"
    summary: "{{nome}} — {{estrelas}}★"
    fields:
      - label: "Ordem"
        name: "ordem"
        widget: "number"
        value_type: "int"
        hint: "Posição na lista de testemunhos (1 = primeiro). Não repetir números."
      - label: "Nome do cliente"
        name: "nome"
        widget: "string"
        hint: "Igual para PT e EN — nomes não se traduzem."
      - label: "Nº de estrelas"
        name: "estrelas"
        widget: "number"
        value_type: "int"
        min: 1
        max: 5
        step: 1
      - label: "🇵🇹 Português"
        name: "pt"
        widget: "object"
        collapsed: false
        fields:
          - { label: "Texto do testemunho", name: "texto", widget: "text" }
      - label: "🇬🇧 English"
        name: "en"
        widget: "object"
        collapsed: false
        fields:
          - { label: "Testimonial text", name: "texto", widget: "text" }

  - name: "academia_curso"
    label: "Academia — Curso"
    description: "Curso único da Academia (página /academia): formato, programa, o que está incluído e FAQ."
    files:
      - name: "pt"
        label: "🇵🇹 Curso (Português)"
        file: "src/data/academia-curso.pt.json"
        fields: &academia_curso_fields
          - label: "SEO"
            name: "meta"
            widget: "object"
            collapsed: true
            fields:
              - { label: "Título da página", name: "title", widget: "string" }
              - { label: "Descrição (meta description)", name: "description", widget: "text" }

          - label: "Hero"
            name: "hero"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Título", name: "titulo", widget: "string" }
              - { label: "Subtítulo", name: "subtitulo", widget: "string" }
              - label: "Destaques (3 pontos de venda, em cima do texto)"
                name: "destaques"
                widget: "object"
                collapsed: false
                fields:
                  - label: "Pontos (exatamente 3, para o layout ficar equilibrado)"
                    name: "pontos"
                    widget: "list"
                    summary: "{{prefixo}} {{numero}} {{sufixo}}"
                    fields:
                      - { label: "Prefixo (opcional, ex: MÁX.)", name: "prefixo", widget: "string", required: false, hint: "Palavra antes do número, se necessária. Deixa em branco se não precisares." }
                      - { label: "Número (fica em destaque, maior)", name: "numero", widget: "string", hint: "Ex: 100, 100%, 3" }
                      - { label: "Sufixo", name: "sufixo", widget: "string", hint: "Ex: HORAS, PRÁTICAS, FORMANDOS" }
                  - { label: "Complemento (linha mais discreta, por baixo dos pontos)", name: "complemento", widget: "string", hint: "Ex: em ambiente real de barbearia" }
              - { label: "Texto", name: "texto", widget: "text" }
              - { label: "Texto do botão", name: "cta", widget: "string", hint: "Aponta sempre para a secção 'Formato' (âncora #formato)." }

          - label: "Formato"
            name: "formato"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Eyebrow (texto pequeno acima do título)", name: "eyebrow", widget: "string" }
              - { label: "Título da secção", name: "titulo", widget: "string" }
              - label: "Itens (duração, horário, preço, ...)"
                name: "itens"
                widget: "list"
                summary: "{{label}}: {{valor}}"
                fields:
                  - { label: "Rótulo", name: "label", widget: "string", hint: "Ex: Duração, Horário, Preço..." }
                  - { label: "Valor", name: "valor", widget: "string" }
                  - label: "Destacar (usa a cor de destaque)"
                    name: "destaque"
                    widget: "boolean"
                    default: false
                    required: false
                    hint: "Ativa só para Preço e Reserva, para se destacarem dos restantes."
              - { label: "Texto do botão de inscrição", name: "cta_botao", widget: "string" }

          - label: "Programa"
            name: "programa"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Eyebrow", name: "eyebrow", widget: "string" }
              - { label: "Título da secção", name: "titulo", widget: "string" }
              - { label: "Texto de introdução", name: "texto_intro", widget: "text" }
              - { label: "Pontos do programa", name: "lista", widget: "list", hint: "Um ponto por linha." }

          - label: "O Que Está Incluído"
            name: "incluido"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Título da secção", name: "titulo", widget: "string" }
              - { label: "Itens incluídos", name: "lista", widget: "list", hint: "Um item por linha." }

          - label: "Para Quem É"
            name: "publico"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Eyebrow", name: "eyebrow", widget: "string" }
              - { label: "Título da secção", name: "titulo", widget: "string" }
              - { label: "Texto", name: "texto", widget: "text" }

          - label: "Perguntas Frequentes (FAQ)"
            name: "faq"
            widget: "object"
            collapsed: false
            fields:
              - { label: "Eyebrow", name: "eyebrow", widget: "string" }
              - { label: "Título da secção", name: "titulo", widget: "string" }
              - label: "Perguntas"
                name: "lista"
                widget: "list"
                summary: "{{pergunta}}"
                fields:
                  - { label: "Pergunta", name: "pergunta", widget: "string" }
                  - { label: "Resposta", name: "resposta", widget: "text" }

          - label: "Formulário de Inscrição (textos)"
            name: "inscricao_form"
            widget: "object"
            collapsed: true
            hint: "Só os textos do formulário — os dados de contacto (telefone/email/redes sociais) estão em src/data/site.ts, não aqui."
            fields:
              - { label: "Título", name: "titulo", widget: "string" }
              - { label: "Texto", name: "texto", widget: "text" }
              - { label: "Campo: Nome", name: "campo_nome", widget: "string" }
              - { label: "Campo: Email", name: "campo_email", widget: "string" }
              - { label: "Campo: Telefone", name: "campo_telefone", widget: "string" }
              - { label: "Campo: Mensagem", name: "campo_mensagem", widget: "string" }
              - { label: "Placeholder da mensagem", name: "campo_mensagem_placeholder", widget: "string" }
              - { label: "Texto do botão de enviar", name: "botao_enviar", widget: "string" }
              - { label: "Mensagem de sucesso", name: "sucesso", widget: "text" }
              - { label: "Mensagem de erro", name: "erro", widget: "text" }

      - name: "en"
        label: "🇬🇧 Curso (English)"
        file: "src/data/academia-curso.en.json"
        fields: *academia_curso_fields
