import { PanalabExpenseData } from './types';

// Production
export const PANALAB_INSTANCE_ID = 9128;

// Each section will contain multiple inputs starting with the same prefix,
// which will be added to get the total value for the section (expense)
export const EXPENSE_AMOUNT = 'Monto de';
export const TRAVEL_EXPENSES_TOTAL_AMOUNT = 'Monto Total de Viáticos';
export const MONTHLY_EXPENSE_LIMIT = 'Límite mensual de Gastos';

// Helper object to map the expense name to the profile field name and the total value field name
export const panalabMonthlyLimitExpensesData: PanalabExpenseData[] = [
  {
    name: 'COMBUSTIBLE',
    profileFieldName: 'Límite mensual de Combustible',
    totalValueFieldName: 'Monto Total de Combustible',
  },
  {
    name: 'REFRIGERIOS',
    profileFieldName: 'Límite mensual de Refrigerios',
    totalValueFieldName: 'Monto Total de Refrigerios',
  },
  {
    name: 'ALMUERZOS/CENA',
    profileFieldName: 'Límite mensual de Almuerzos/Cena',
    totalValueFieldName: 'Monto Total de Almuerzos/Cena',
  },
  {
    name: 'ESTACIONAMIENTO',
    profileFieldName: 'Límite mensual de Estacionamiento',
    totalValueFieldName: 'Monto Total de Estacionamiento',
  },
  {
    name: 'PEAJE',
    profileFieldName: 'Límite mensual de Peaje',
    totalValueFieldName: 'Monto Total de Peaje',
  },
  {
    name: 'PATENTE',
    profileFieldName: 'Límite mensual de Patente',
    totalValueFieldName: 'Monto Total de Patente',
  },
  {
    name: 'SEGURO',
    profileFieldName: 'Límite mensual de Seguro',
    totalValueFieldName: 'Monto Total de Seguro',
  },
  {
    name: 'CUBIERTAS',
    profileFieldName: 'Límite mensual de Cubiertas',
    totalValueFieldName: 'Monto Total de Cubiertas',
  },
  {
    name: 'SERVICE Y MANTENIMIENTO DEL VEHÍCULO',
    profileFieldName: 'Límite mensual de Service y Mantenimiento del vehículo',
    totalValueFieldName: 'Monto Total de Service y Mantenimiento del vehículo',
  },
  {
    name: 'LAVADO DE VEHÍCULO',
    profileFieldName: 'Límite mensual de Lavado de vehículo',
    totalValueFieldName: 'Monto Total de Lavado de vehículo',
  },
  {
    name: 'VTV',
    profileFieldName: 'Límite mensual de VTV',
    totalValueFieldName: 'Monto Total de VTV',
  },
  {
    name: 'INDUMENTARIA DE TRABAJO',
    profileFieldName: 'Límite mensual de Indumentaria de Trabajo',
    totalValueFieldName: 'Monto Total de Indumentaria de Trabajo',
  },
  {
    name: 'VARIOS (INTERNET/LIBRERÍA/CORREO)',
    profileFieldName: 'Límite mensual de Varios (Internet/Librería/Correo)',
    totalValueFieldName: 'Monto Total de Varios (Internet/Librería/Correo)',
  },
  {
    name: 'OTROS GASTOS AUTORIZADOS',
    profileFieldName: 'Límite mensual de Otros gastos autorizados',
    totalValueFieldName: 'Monto Total de Otros gastos autorizados',
  },
];

// This form checks that each section does not exceed the monthly limit (e.g. Combustible, Refrigerios, etc.)
export const panalabLimitForms = [
  'Viáticos (Gastos Comunes)',
  'Viáticos Staff',
  'Viáticos APM',
  'Viáticos APF',
];

// These forms just add and show the total value for the current expense (section) - no validation is needed
export const panalabForms = [
  'Viáticos',
  'Viáticos (Gastos Giras, Promocionales, Congregos)',
];

export const panalabSpecialForms = [...panalabLimitForms, ...panalabForms];
