export const Verdade = {
  Nao: "0",
  Sim: "1",
};

export const Desc_Verdade = {
  [Verdade.Nao]: "Não",
  [Verdade.Sim]: "Sim",
};

export const Urgencia = {
  Baixa: "1",
  Media: "2",
  Alta: "3",
};
export const Desc_Urgencia = {
  [Urgencia.Baixa]: "Baixa",
  [Urgencia.Media]: "Media",
  [Urgencia.Alta]: "Alta",
};

export const TipoTarefa = {
  Cliente: "1",
  Pessoal: "2",
};
export const Desc_TipoTarefa = {
  [TipoTarefa.Cliente]: "Cliente",
  [TipoTarefa.Pessoal]: "Pessoal",
};

export const TipoNotifEmail = {
  Contato: "1",
  Vendedor: "2",
  PreVendedor: "3",
  Tecnico: "4",
  Gerente: "5",
  Instalador: "6",
  Personalizado: "99",
};
export const Desc_TipoNotifEmail = {
  [TipoNotifEmail.Contato]: "Contato",
  [TipoNotifEmail.Vendedor]: "Vendedor",
  [TipoNotifEmail.PreVendedor]: "Pré Vendedor",
  [TipoNotifEmail.Tecnico]: "Técnico",
  [TipoNotifEmail.Gerente]: "Gerente",
  [TipoNotifEmail.Instalador]: "Instalador",
  [TipoNotifEmail.Personalizado]: "Personalizado",
};

// Canais/tipos de notificação. O mesmo valor é usado no modelo de notificação
// (modelo_emails.tipo_notificacao) e nos canais escolhidos nas Etapas e na
// Central de Notificações (tipo_notificacao_canal, que aceita mais de um).
export const TipoNotificacaoCanal = {
  Email: "email",
  WhatsApp: "whatsapp",
  Central: "central",
};
export const Desc_TipoNotificacaoCanal = {
  [TipoNotificacaoCanal.Email]: "E-mail",
  [TipoNotificacaoCanal.WhatsApp]: "WhatsApp",
  [TipoNotificacaoCanal.Central]: "Central de Notificações",
};

// Options para InputSelect
interface Option {
  label: string;
  value: string;
}
export const getOptionsFromEnum = (enumObj: any, descObj: any): Option[] => {
  return Object.keys(enumObj).map((key) => ({
    label: descObj[enumObj[key]],
    value: enumObj[key],
  }));
};
