const FAZENDAS = ['Fazenda Guanabara', 'Fazenda Mateira', 'Fazenda Paranapanema']
const PERFIS = ['Administrador', 'Gestor', 'Analista', 'Executor']
const APPS = ['Boletim', 'Maternidade', 'Manejo de Pastagem']

const PESSOAS = [
  { id: 1, nome: 'Ricardo Almeida Prado', cargo: 'Diretor', cracha: '000112', fazendas: 'all', perfil: 'Administrador', web: true, app: [], origem: 'Manual', ativo: true },
  { id: 2, nome: 'Fernanda Costa Ribeiro', cargo: 'Gerente de fazenda', cracha: '001248', fazendas: ['Fazenda Mateira', 'Fazenda Paranapanema'], perfil: 'Gestor', perfis: [['Fazenda Mateira', 'Gestor'], ['Fazenda Paranapanema', 'Analista']], web: true, app: ['Boletim', 'Maternidade', 'Manejo de Pastagem'], origem: 'ERP', ativo: true },
  { id: 3, nome: 'Amanda Martins Souza', cargo: 'Assistente administrativa', cracha: '002031', fazendas: ['Fazenda Guanabara', 'Fazenda Paranapanema'], perfil: 'Analista', web: true, app: [], origem: 'ERP', ativo: true },
  { id: 4, nome: 'Antônio Pereira dos Santos', cargo: 'Operador de campo', cracha: '004517', fazendas: ['Fazenda Mateira'], perfil: 'Executor', web: false, app: ['Boletim'], origem: 'ERP', ativo: true },
  { id: 5, nome: 'Benedito Rodrigues Lima', cargo: 'Operador de máquinas', cracha: '004522', fazendas: ['Fazenda Guanabara'], perfil: 'Executor', web: false, app: ['Boletim'], origem: 'ERP', ativo: true },
  { id: 6, nome: 'Cláudio Ferreira Gomes', cargo: 'Vaqueiro', cracha: '004530', fazendas: ['Fazenda Mateira'], perfil: 'Executor', web: false, app: ['Boletim', 'Maternidade'], origem: 'ERP', ativo: true },
  { id: 7, nome: 'Edson Batista Nunes', cargo: 'Operador de campo', cracha: '004541', fazendas: ['Fazenda Paranapanema'], perfil: 'Executor', web: false, app: ['Boletim'], origem: 'ERP', ativo: true },
  { id: 8, nome: 'Marcos Vinícius Oliveira', cargo: 'Tratorista', cracha: '004556', fazendas: ['Fazenda Guanabara'], perfil: 'Executor', web: false, app: ['Boletim'], origem: 'Manual', ativo: true },
  { id: 9, nome: 'Patrícia Lopes Andrade', cargo: 'Supervisora de pecuária', cracha: '001276', fazendas: ['Fazenda Guanabara', 'Fazenda Mateira'], perfil: 'Gestor', perfis: [['Fazenda Guanabara', 'Gestor'], ['Fazenda Mateira', 'Analista']], web: true, app: ['Boletim', 'Manejo de Pastagem'], origem: 'ERP', ativo: true },
  { id: 10, nome: 'Sebastião Moreira Alves', cargo: 'Operador de campo', cracha: '003984', fazendas: ['Fazenda Mateira'], perfil: 'Executor', web: false, app: ['Boletim'], origem: 'ERP', ativo: false },
]

const USUARIOS = {
  Administrador: { nome: 'Ricardo Almeida Prado', farmMode: 'global', fazendas: FAZENDAS, config: true, produtos: ['rebanhos', 'boletins', 'maquinario'] },
  'Analista em 1 fazenda': { nome: 'Amanda Martins Souza', farmMode: 'single', fazendas: ['Fazenda Guanabara'], config: false, produtos: ['rebanhos', 'boletins', 'maquinario'] },
  'Analista em 2 ou mais fazendas': { nome: 'Amanda Martins Souza', farmMode: 'multi', fazendas: ['Fazenda Guanabara', 'Fazenda Paranapanema'], config: false, produtos: ['rebanhos', 'boletins', 'maquinario'] },
  'Gestor em 1 fazenda': { nome: 'Patrícia Lopes Andrade', farmMode: 'single', fazendas: ['Fazenda Guanabara'], config: true, gestorFazendas: ['Fazenda Guanabara'],  produtos: ['rebanhos', 'boletins', 'maquinario'] },
}

const PRODUTOS = [
  { id: 'rebanhos', label: 'Gestão de Rebanhos', href: '../pastagem/index.html', img: '../../assets/images/herd-management.jpg' },
  { id: 'boletins', label: 'Boletins de Serviços', href: '../boletins/index.html', img: '../../assets/images/service-orders.jpg' },
  { id: 'maquinario', label: 'Gestão de Maquinário', href: '../maquinario/index.html', img: '../../assets/images/machinery.jpg' },
]

// Administrador vê todos os grupos. O Gestor vê só Rebanho, Pastagem, Boletins e Maquinário (user.menu, calculado abaixo).
const MENU_CFG = [
  { grupo: 'Pessoas e acessos', itens: ['Pessoas', 'Perfis de acesso'] },
  { grupo: 'Fazendas', itens: ['Fazendas', 'Estações de medição'] },
  { grupo: 'Rebanho', itens: ['Raças', 'Grupos de idade', 'Baixas de animais', 'Reprodução', 'Produtos', 'Inseminadores', 'Parâmetros gerais'] },
  { grupo: 'Pastagem', itens: ['Tipos de capim', 'Categorias de lote', 'Tipos de evento de pasto'] },
  { grupo: 'Boletins', itens: ['Serviços', 'Tipos de serviço', 'Locais', 'Classificações', 'Centros de custo'] },
  { grupo: 'Maquinário', itens: ['Maquinários', 'Tipos de maquinário', 'Modelos de maquinário', 'Planos de manutenção', 'Materiais'] },
  { grupo: 'Sistema', itens: ['Logs de auditoria'] },
]
const MENU_ERP = ['Classificações', 'Centros de custo']
USUARIOS['Gestor em 1 fazenda'].menu = MENU_CFG.filter((g) => ['Rebanho', 'Pastagem', 'Boletins', 'Maquinário'].includes(g.grupo)).flatMap((g) => g.itens)

const EXTRA = {
  1: { email: 'ricardo.prado@grupoguanabara.com.br', nascimento: '14/03/1968', lotacao: 'Fazenda Guanabara' },
  2: { email: 'fernanda.ribeiro@grupoguanabara.com.br', nascimento: '22/07/1985', lotacao: 'Fazenda Mateira', g: 'f' },
  3: { email: 'amanda.souza@grupoguanabara.com.br', nascimento: '05/11/1992', lotacao: 'Fazenda Guanabara', g: 'f' },
  4: { nascimento: '18/01/1979', lotacao: 'Fazenda Mateira' },
  5: { nascimento: '02/09/1983', lotacao: 'Fazenda Guanabara' },
  6: { nascimento: '27/04/1990', lotacao: 'Fazenda Mateira' },
  7: { nascimento: '11/12/1987', lotacao: 'Fazenda Paranapanema' },
  8: { nascimento: '30/06/1995', lotacao: 'Fazenda Guanabara' },
  9: { email: 'patricia.andrade@grupoguanabara.com.br', nascimento: '09/02/1981', lotacao: 'Fazenda Guanabara', g: 'f' },
  10: { nascimento: '15/08/1972', lotacao: 'Fazenda Mateira' },
}
PESSOAS.forEach((p) => Object.assign(p, EXTRA[p.id]))

const PERFIL_DESC = {
  Administrador: 'Acesso total a todas as fazendas, inclusive Configurações.',
  'Gestor': 'Edita todos os módulos da fazenda.',
  Analista: 'Consulta o rebanho e opera boletins e maquinário.',
  Executor: 'Acesso apenas pelos aplicativos de campo.',
}
const MODULOS = ['Gestão de Rebanhos', 'Boletins de Serviços', 'Gestão de Maquinário', 'Configurações']
const NIVEIS = ['Sem acesso', 'Visualizar', 'Parcial', 'Editar']
const MATRIZ = {
  Administrador: ['Editar', 'Editar', 'Editar', 'Editar'],
  'Gestor': ['Editar', 'Editar', 'Editar', 'Parcial'],
  'Analista': ['Visualizar', 'Editar', 'Editar', 'Sem acesso'],
  Executor: ['Sem acesso', 'Sem acesso', 'Sem acesso', 'Sem acesso'],
}

window.CFG = { PERFIL_DESC, MODULOS, NIVEIS, MATRIZ,  FAZENDAS, PERFIS, APPS, PESSOAS, USUARIOS, PRODUTOS, MENU_CFG, MENU_ERP }
