# yaml-language-server: $schema=https://unpkg.com/@sveltia/cms/schema/sveltia-cms.json
# ==============================================================================
# HANGAR MULTIMARCAS — CONFIGURAÇÃO OFICIAL DO SVELTIA CMS (FASE 2 REVISADA)
# Documentação de referência: https://sveltiacms.app/en/docs
# Autenticador oficial: https://github.com/sveltia/sveltia-cms-auth
# ==============================================================================

backend:
  name: github
  repo: REPLACE_ME/hangar-multimarcas # Substitua por 'seu-usuario/seu-repositorio' no GitHub
  branch: main
  auth_methods: [oauth]
  # Utiliza o autenticador oficial sveltia/sveltia-cms-auth na Cloudflare:
  # base_url: https://sveltia-cms-auth.SEU-SUBDOMINIO.workers.dev

locale: pt

# Armazenamento e caminhos públicos de mídia (fotos dos veículos)
media_folder: assets/veiculos
public_folder: /assets/veiculos

# Otimização de imagens client-side no navegador antes do envio ao Git
media_libraries:
  default:
    config:
      slugify_filename: true
      # Limite de entrada de 24 MB para comportar fotografias originais de smartphones modernos
      max_file_size: 25165824
      transformations:
        raster_image:
          format: webp
          quality: 75
          width: 1280
          height: 960

# Coleção de Veículos — Armazenamento em arquivo único (Single-File Collection)
# Gerencia a lista de veículos diretamente no arquivo data/veiculos.json
collections:
  - name: veiculos
    label: Estoque de Veículos
    label_singular: Veículo
    file: data/veiculos.json
    format: json
    identifier_field: model
    summary: '{{brand}} {{model}} ({{year}}) — R$ {{price}} — {{status}}'
    fields:
      - name: id
        label: ID do anúncio (slug único sem espaços)
        widget: string
        unique: true
        pattern: ['^[a-z0-9-]+$', 'Use apenas letras minúsculas sem acento, números e hífens (ex: corolla-2022-prata)']
        hint: 'Ex: corolla-2022-prata. Identificador único obrigatório para o link direto #veiculo-id. O CMS bloqueia valores duplicados.'

      - name: brand
        label: Marca
        widget: string
        hint: 'Ex: Toyota, Honda, Jeep, Volkswagen, Chevrolet, Fiat, etc.'

      - name: model
        label: Modelo e versão
        widget: string
        hint: 'Ex: Corolla XEi 2.0, Renegade Longitude, Civic EXL'

      - name: year
        label: Ano de fabricação / modelo
        widget: number
        value_type: int
        min: 1980
        max: 2100
        hint: 'Ex: 2022'

      - name: price
        label: Preço em reais (somente números)
        widget: number
        value_type: int
        min: 0
        hint: 'Ex: 119900 para R$ 119.900'

      - name: km
        label: Quilometragem rodada
        widget: number
        value_type: int
        min: 0
        hint: 'Ex: 38000 para 38.000 km'

      - name: type
        label: Categoria da carroceria
        widget: select
        options: [Sedã, SUV, Hatch, Picape, Outros]
        default: Sedã

      - name: gear
        label: Tipo de câmbio
        widget: select
        options: [Automático, Manual, Automatizado, CVT]
        default: Automático

      - name: fuel
        label: Tipo de combustível
        widget: select
        options: [Flex, Gasolina, Diesel, Elétrico, Híbrido]
        default: Flex

      - name: color
        label: Cor
        widget: string
        required: false
        hint: 'Ex: Prata, Branco Polar, Preto, Cinza'

      - name: status
        label: Status do anúncio
        widget: select
        options: [Disponível, Reservado, Vendido]
        default: Disponível
        hint: 'Disponível: ativo no catálogo. Reservado: exibido com selo de reserva. Vendido: oculto do estoque ativo.'

      - name: tag
        label: Selo em destaque (opcional)
        widget: string
        required: false
        hint: 'Ex: Destaque, Seleção, Único dono, Laudo Aprovado'

      - name: img
        label: Foto de capa
        widget: image
        required: false
        hint: 'Foto principal do card de anúncio (otimizada automaticamente para WebP)'

      - name: gallery
        label: Galeria de fotos adicionais
        widget: image
        multiple: true
        max: 15
        required: false
        hint: 'Fotos para a galeria de detalhes no modal (arraste para reordenar)'

      - name: description
        label: Descrição e observações do veículo
        widget: text
        required: false
        hint: 'Histórico, opcionais, revisões na concessionária, laudo cautelar'
