export type AreaId = | "vender" | "atender" | "operar" | "fiscal" | "sistemas" | "seguranca"; export type Problema = { id: string; area: AreaId; nome: string; solucao: string; destino: string; }; export const AREAS: Record = { vender: "Vender e ser encontrado", atender: "Atender", operar: "Operar", fiscal: "Fiscal e financeiro", sistemas: "Sistemas e integrações", seguranca: "Segurança e dados", }; const DESTINO_DA_AREA: Record = { vender: "/servicos/criacao-de-sites", atender: "/servicos/atendimento-whatsapp-ia", operar: "/servicos/engenharia-de-software", fiscal: "/servicos/nota-fiscal-reforma-tributaria", sistemas: "/servicos/arquitetura-de-software", seguranca: "/servicos/arquitetura-de-software", }; function p( area: AreaId, id: string, nome: string, solucao: string, destino = DESTINO_DA_AREA[area], ): Problema { return { id, area, nome, solucao, destino }; } export const PROBLEMAS: readonly Problema[] = [ p( "vender", "site-que-ninguem-acha", "Site que ninguém acha no Google", "Site que aparece no Google", ), p( "vender", "site-ruim-no-celular", "Site que não abre direito no celular", "Site que funciona no celular", ), p("vender", "site-lento", "Site lento", "Site rápido"), p( "vender", "catalogo-desatualizado", "Catálogo desatualizado", "Catálogo em dia", ), p( "vender", "pedido-perdido-no-whatsapp", "Pedido perdido no WhatsApp", "Pedido organizado", ), p( "vender", "pagamento-que-falha", "Pagamento que falha", "Pagamento funcionando", ), p( "atender", "atraso-no-atendimento", "Atraso no atendimento", "Atendimento na hora", ), p( "atender", "mesma-pergunta-cem-vezes", "Mesma pergunta respondida cem vezes", "Resposta automática", ), p( "atender", "agenda-duplicada", "Agenda com horário duplicado", "Agenda organizada", ), p("atender", "cliente-sem-retorno", "Cliente sem retorno", "Retorno em dia"), p( "operar", "planilha-duplicada", "Planilha duplicada", "Sistema no lugar da planilha", ), p( "operar", "digitar-duas-vezes", "Digitar a mesma coisa em dois lugares", "Cadastro único", ), p("operar", "estoque-furado", "Estoque furado", "Estoque em dia"), p( "operar", "processo-de-uma-pessoa", "Processo que só uma pessoa sabe fazer", "Processo no sistema", ), p("operar", "controle-no-papel", "Controle no papel", "Controle digital"), p( "fiscal", "nota-fiscal-rejeitada", "Nota fiscal rejeitada", "Notas fiscais em dia", ), p( "fiscal", "fechamento-que-nao-bate", "Fechamento do mês que não bate", "Fechamento conferido", ), p( "fiscal", "cobranca-esquecida", "Cobrança esquecida", "Cobrança automática", ), p( "fiscal", "relatorio-demorado", "Relatório que demora dias", "Relatório na hora", ), p( "sistemas", "sistemas-que-nao-conversam", "Sistemas que não conversam", "Sistemas integrados", ), p( "sistemas", "maquina-que-nao-conversa", "Máquina que não conversa com o sistema", "Equipamento integrado", "/servicos/integracao-hardware-software-iot", ), p( "sistemas", "sistema-antigo", "Sistema antigo em que ninguém mexe", "Sistema atualizado", ), p( "sistemas", "sistema-que-cai-no-pico", "Sistema que cai na hora do pico", "Sistema estável", ), p( "seguranca", "senha-compartilhada", "Senha compartilhada", "Acesso por pessoa", ), p("seguranca", "dados-sem-backup", "Dados sem backup", "Backup automático"), p( "seguranca", "acesso-de-ex-funcionario", "Acesso de ex-funcionário", "Acesso revogado", ), p( "seguranca", "app-de-ia-com-falha", "App feito por IA cheio de falha", "App revisado", "/ia", ), ]; export function problemaPorId(id: string): Problema | undefined { return PROBLEMAS.find((problema) => problema.id === id); } export function problemasDaArea(area: AreaId): Problema[] { return PROBLEMAS.filter((problema) => problema.area === area); }