import React from 'react';
import { FormattedMessage } from 'react-intl';
import {
  CAP_ORANGE,
  CAP_PURPLE02,
  CAP_PURPLE03,
  CAP_ORANGE01,
  CAP_GREEN01,
  CAP_GREEN02,
} from '@capillarytech/cap-ui-library/styled/variables';
import messages from './messages';
import { createAsyncAssetUploadConstants } from '../../utils/asyncAssetUpload';

export const UNSUBSCRIBE_TEXT_LENGTH = 36;
export const TEMPLATE_MESSAGE_MAX_LENGTH = 1024;
export const WHATSAPP = 'WHATSAPP';
export const TEMPLATE_HEADER_MAX_LENGTH = 60;
export const QUICK_REPLY_BUTTON_TEXT_MAX_LENGTH = 20;

const prefix = 'app/v2Containers/Whatsapp';
export const TEMPLATE_CREATE_REQUEST = `${prefix}/TEMPLATE_CREATE_REQUEST`;
export const TEMPLATE_CREATE_SUCCESS = `${prefix}/TEMPLATE_CREATE_SUCCESS`;
export const TEMPLATE_CREATE_FAILURE = `${prefix}/TEMPLATE_CREATE_FAILURE`;
export const CLEAR_CREATE_RESPONSE_REQUEST = `${prefix}/CLEAR_CREATE_RESPONSE_REQUEST`;
// FOR EDIT
export const GET_TEMPLATE_DETAILS_REQUEST = `${prefix}/Edit/GET_TEMPLATE_DETAILS_REQUEST`;
export const GET_TEMPLATE_DETAILS_SUCCESS = `${prefix}/Edit/GET_TEMPLATE_DETAILS_SUCCESS`;
export const GET_TEMPLATE_DETAILS_FAILURE = `${prefix}/Edit/GET_TEMPLATE_DETAILS_FAILURE`;
export const RESET_EDIT_TEMPLATE = `${prefix}/Edit/RESET_EDIT_TEMPLATE`;

export const UPLOAD_WHATSAPP_ASSET_REQUEST = `${prefix}/UPLOAD_WHATSAPP_ASSET_REQUEST`;
export const UPLOAD_WHATSAPP_ASSET_SUCCESS = `${prefix}/UPLOAD_WHATSAPP_ASSET_SUCCESS`;
export const UPLOAD_WHATSAPP_ASSET_FAILURE = `${prefix}/UPLOAD_WHATSAPP_ASSET_FAILURE`;
export const CLEAR_WHATSAPP_ASSET = `${prefix}/CLEAR_WHATSAPP_ASSET`;

// P4.2: Async upload processing actions - Using generic utility for reusability
const asyncUploadConstants = createAsyncAssetUploadConstants('WHATSAPP', prefix);
export const UPLOAD_WHATSAPP_ASSET_PROCESSING = asyncUploadConstants.UPLOAD_WHATSAPP_ASSET_PROCESSING;
export const UPLOAD_WHATSAPP_ASSET_COMPLETED = asyncUploadConstants.UPLOAD_WHATSAPP_ASSET_COMPLETED;
export const UPLOAD_WHATSAPP_ASSET_FAILED = asyncUploadConstants.UPLOAD_WHATSAPP_ASSET_FAILED;
export const UPLOAD_WHATSAPP_ASSET_TIMEOUT = asyncUploadConstants.UPLOAD_WHATSAPP_ASSET_TIMEOUT;

//For meta tags
export const URL_META_TAGS_REQUEST = `${prefix}/URL_META_TAGS_REQUEST`;
export const URL_META_TAGS_SUCCESS = `${prefix}/URL_META_TAGS_SUCCESS`;
export const URL_META_TAGS_FAILURE = `${prefix}/URL_META_TAGS_FAILURE`;
export const URL_META_TAGS_RESET = `${prefix}/URL_META_TAGS_RESET`;

export const STATUS = 'status';
export const CATEGORY = 'category';

export const WHATSAPP_CATEGORIES = {
  alertUpdate: 'ALERT_UPDATE',
  accountUpdate: 'ACCOUNT_UPDATE',
  appointmentUpdate: 'APPOINTMENT_UPDATE',
  paymentUpdate: 'PAYMENT_UPDATE',
  reservationUpdate: 'RESERVATION_UPDATE',
  utility: 'UTILITY',
  marketing: 'MARKETING',
  authentication: 'AUTHENTICATION',
  // older karix & gupshup category, supporting for older template filter in listing page
  otp: 'OTP',
  transactional: 'TRANSACTIONAL',
};

export const mediaTypeOptions = ({host, templateCategory}) => {
  return [
    {
      key: 'TEXT',
      value: WHATSAPP_MEDIA_TYPES.TEXT,
      label: <FormattedMessage {...messages.none} />,
      tagColor: CAP_PURPLE03,
      tagTextColor: CAP_PURPLE02,
    },
    ...((host === HOST_TWILIO || (host === HOST_VALUE_FIRST && templateCategory === WHATSAPP_CATEGORIES.authentication))
      ? []
      : [
        {
          key: 'IMAGE',
          value: WHATSAPP_MEDIA_TYPES.IMAGE,
          label: <FormattedMessage {...messages.mediaImage} />,
          tagColor: CAP_ORANGE01,
          tagTextColor: CAP_ORANGE,
        },
        {
          key: 'VIDEO',
          value: WHATSAPP_MEDIA_TYPES.VIDEO,
          label: <FormattedMessage {...messages.mediaVideo} />,
          tagColor: CAP_GREEN02,
          tagTextColor: CAP_GREEN01,
        },
        ...(templateCategory === WHATSAPP_CATEGORIES.marketing && CAROUSEL_SUPPORTING_HOSTS.includes(host)
          ? [
            {
              key: 'CAROUSEL',
              value: WHATSAPP_MEDIA_TYPES.CAROUSEL,
              label: <FormattedMessage {...messages.mediaCarousel} />,
              tagColor: CAP_PURPLE03,
              tagTextColor: CAP_PURPLE02,
            },
          ]
          : []
        ),
        {
          key: 'DOCUMENT',
          value: WHATSAPP_MEDIA_TYPES.DOCUMENT,
          label: <FormattedMessage {...messages.mediaDocument} />,
          tagColor: CAP_ORANGE01,
          tagTextColor: CAP_ORANGE,
        },
      ]
    ),
  ];
};

export const VALUE_FIRST_CATEGORY_OPTIONS = [
  {
    key: 'marketing',
    value: WHATSAPP_CATEGORIES.marketing,
    label: <FormattedMessage {...messages.marketing} />,
    tooltipLabel: <FormattedMessage {...messages.marketingTooltip} />,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
  {
    key: 'authentication',
    value: WHATSAPP_CATEGORIES.authentication,
    label: <FormattedMessage {...messages.authentication} />,
    tooltipLabel: <FormattedMessage {...messages.authenticationTooltip} />,
    tagColor: CAP_GREEN02,
    tagTextColor: CAP_GREEN01,
  },
];

export const KARIX_GUPSHUP_CATEGORY_OPTIONS = [
  {
    key: 'utility',
    value: WHATSAPP_CATEGORIES.utility,
    label: <FormattedMessage {...messages.utility} />,
    tooltipLabel: <FormattedMessage {...messages.utilityTooltip} />,
    tagColor: CAP_PURPLE03,
    tagTextColor: CAP_PURPLE02,
  },
  {
    key: 'marketing',
    value: WHATSAPP_CATEGORIES.marketing,
    label: <FormattedMessage {...messages.marketing} />,
    tooltipLabel: <FormattedMessage {...messages.marketingTooltip} />,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
  {
    key: 'authentication',
    value: WHATSAPP_CATEGORIES.authentication,
    label: <FormattedMessage {...messages.authentication} />,
    tooltipLabel: <FormattedMessage {...messages.authenticationTooltip} />,
    tagColor: CAP_GREEN02,
    tagTextColor: CAP_GREEN01,
  },
];
// older karix & gupshup category, supporting for older template filter in listing page
export const KARIX_GUPSHUP_OLDER_CATEGORY_OPTIONS = [
  {
    key: 'transactional',
    value: WHATSAPP_CATEGORIES.transactional,
    label: <FormattedMessage {...messages.utility} />,
    tagColor: CAP_PURPLE03,
    tagTextColor: CAP_PURPLE02,
  },
  {
    key: 'otp',
    value: WHATSAPP_CATEGORIES.otp,
    label: <FormattedMessage {...messages.authentication} />,
    tagColor: CAP_GREEN02,
    tagTextColor: CAP_GREEN01,
  },
];
export const TWILIO_CATEGORY_OPTIONS = [
  {
    key: 'alertUpdate',
    value: WHATSAPP_CATEGORIES.alertUpdate,
    label: <FormattedMessage {...messages.alertUpdate} />,
    tooltipLabel: <FormattedMessage {...messages.alertUpdateTooltip} />,
    tagColor: CAP_PURPLE03,
    tagTextColor: CAP_PURPLE02,
  },
  {
    key: 'accountUpdate',
    label: <FormattedMessage {...messages.accountUpdate} />,
    tooltipLabel: <FormattedMessage {...messages.accountUpdateTooltip} />,
    value: WHATSAPP_CATEGORIES.accountUpdate,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
  {
    key: 'appointmentUpdate',
    value: WHATSAPP_CATEGORIES.appointmentUpdate,
    label: <FormattedMessage {...messages.appointmentUpdate} />,
    tooltipLabel: (
      <FormattedMessage {...messages.appointmentUpdateTooltip} />
    ),
    tagColor: CAP_GREEN02,
    tagTextColor: CAP_GREEN01,
  },
  {
    key: 'paymentUpdate',
    value: WHATSAPP_CATEGORIES.paymentUpdate,
    label: <FormattedMessage {...messages.paymentUpdate} />,
    tooltipLabel: <FormattedMessage {...messages.paymentUpdateTooltip} />,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
  {
    key: 'reservationUpdate',
    value: WHATSAPP_CATEGORIES.reservationUpdate,
    label: <FormattedMessage {...messages.reservationUpdate} />,
    tooltipLabel: (
      <FormattedMessage {...messages.reservationUpdateTooltip} />
    ),
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
];

export const ICS_CATEGORY_OPTIONS = [
  {
    key: 'utility',
    value: WHATSAPP_CATEGORIES.utility,
    label: <FormattedMessage {...messages.utility} />,
    tooltipLabel: <FormattedMessage {...messages.utilityTooltip} />,
    tagColor: CAP_PURPLE03,
    tagTextColor: CAP_PURPLE02,
  },
  {
    key: 'marketing',
    value: WHATSAPP_CATEGORIES.marketing,
    label: <FormattedMessage {...messages.marketing} />,
    tooltipLabel: <FormattedMessage {...messages.marketingTooltip} />,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
];

export const HAPTIC_CATEGORY_OPTIONS = [
  {
    key: 'utility',
    value: WHATSAPP_CATEGORIES.utility,
    label: <FormattedMessage {...messages.utility} />,
    tooltipLabel: <FormattedMessage {...messages.utilityTooltip} />,
    tagColor: CAP_PURPLE03,
    tagTextColor: CAP_PURPLE02,
  },
  {
    key: 'marketing',
    value: WHATSAPP_CATEGORIES.marketing,
    label: <FormattedMessage {...messages.marketing} />,
    tooltipLabel: <FormattedMessage {...messages.marketingTooltip} />,
    tagColor: CAP_ORANGE01,
    tagTextColor: CAP_ORANGE,
  },
  {
    key: 'authentication',
    value: WHATSAPP_CATEGORIES.authentication,
    label: <FormattedMessage {...messages.authentication} />,
    tooltipLabel: <FormattedMessage {...messages.authenticationTooltip} />,
    tagColor: CAP_GREEN02,
    tagTextColor: CAP_GREEN01,
  },
];

export const WHATSAPP_STATUSES = {
  awaitingApproval: 'awaitingApproval',
  approved: 'approved',
  rejected: 'rejected',
  pending: 'pending',
  unsubmitted: 'unsubmitted',
  paused: 'paused',
};

export const STATUS_OPTIONS = [
  {
    key: 'awaitingApproval',
    value: WHATSAPP_STATUSES.awaitingApproval,
    label: <FormattedMessage {...messages.awaitingApproval} />,
  },
  {
    key: 'approved',
    value: WHATSAPP_STATUSES.approved,
    label: <FormattedMessage {...messages.approved} />,
  },
  {
    key: 'rejected',
    value: WHATSAPP_STATUSES.rejected,
    label: <FormattedMessage {...messages.rejected} />,
  },
  {
    key: 'pending',
    value: WHATSAPP_STATUSES.pending,
    label: <FormattedMessage {...messages.pending} />,
  },
  {
    key: 'paused',
    value: WHATSAPP_STATUSES.paused,
    label: <FormattedMessage {...messages.paused} />,
  },
];

export const TAG = 'TAG';
export const EMBEDDED = 'embedded';
export const DEFAULT = 'default';
export const FULL = 'full';
export const ALL = 'all';
export const LIBRARY = 'library';

export const WHATSAPP_MEDIA_TYPES = {
  TEXT: 'TEXT',
  IMAGE: 'IMAGE',
  VIDEO: 'VIDEO',
  DOCUMENT: 'DOCUMENT',
  CAROUSEL: 'CAROUSEL',
};

export const WHATSAPP_IMAGE_SOURCE = {
  UPLOAD: 'UPLOAD_IMAGE',
  URL: 'ADD_IMAGE_URL',
};

export const ADD_IMAGE_URL_PREVIEW_MARKER = '__add_image_url__';
export const TEMPLATE_VARIABLE_REGEX = /\{\{.*?\}\}/;
export const NONE = 'NONE';
export const CTA = 'CTA';
export const QUICK_REPLY = 'QUICK_REPLY';
export const HEADER_TEXT = 'header';
export const FOOTER_TEXT = 'footer';
export const CAROUSEL_TEXT = 'carouselText';
export const MESSAGE_TEXT = 'message';
export const BODY_TEXT = 'body';
export const BUTTON_TEXT = 'buttonText';
export const WHATSAPP_BUTTON_TYPES = {
  NONE,
  CTA,
  QUICK_REPLY,
};
export const PHONE_NUMBER = 'PHONE_NUMBER';
export const STATIC_URL = 'STATIC_URL';
export const URL = 'URL';
export const IMAGE = 'IMAGE';
export const VIDEO = 'VIDEO';
export const GIF = 'GIF';
export const INITIAL_CTA_DATA = [
  {
    index: 0,
    ctaType: PHONE_NUMBER,
    text: '',
    phone_number: '',
    urlType: STATIC_URL,
    url: '',
    isSaved: false,
  },
];

export const INITIAL_QUICK_REPLY_DATA = [
  {
    index: 0,
    text: "",
    type: "QUICK_REPLY",
    isSaved: false,
    error: "",
  },
];


export const ALLOWED_IMAGE_EXTENSIONS_REGEX = /\.(jpe?g|png)$/i;
export const ALLOWED_EXTENSIONS_VIDEO_REGEX = (/\.(mp4)$/i);
export const ALLOWED_EXTENSIONS_DOCUMENT_REGEX = (/\.(pdf)$/i);
export const WHATSAPP_IMG_SIZE = 5000000; // 5MB
export const WHATSAPP_VIDEO_SIZE = 16000000; // 16MB
export const WHATSAPP_DOCUMENT_SIZE = 16000000; // 16MB

// creating the hosts const as per vendor
export const HOST_TWILIO = 'twiliowhatsapptrans';
export const HOST_KARIX = 'karixwhatsappbulk';
export const HOST_GUPSHUP = 'gupshupwhatsappbulk';
export const HOST_ICS = 'icswababulk';
export const HOST_HAPTIC = 'hapticwhatsappbulk';
export const HOST_VALUE_FIRST = 'valuefirstwhatsappbulk';

export const CAROUSEL_SUPPORTING_HOSTS = [HOST_GUPSHUP, HOST_KARIX, HOST_HAPTIC];

export const SIZE_UNITS = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
export const DOCUMENT_FORMAT = 'PDF';
export const DOCUMENT_SIZE = '16 MB';

export const LANGUAGE_OPTIONS = [
  {
    value: 'af',
    label: <FormattedMessage {...messages.afrikaans} />,
  },
  {
    value: 'sq',
    label: <FormattedMessage {...messages.albanian} />,
  },
  {
    value: 'ar',
    label: <FormattedMessage {...messages.arabic} />,
  },
  {
    value: 'az',
    label: <FormattedMessage {...messages.azerbaijani} />,
  },
  {
    value: 'bn',
    label: <FormattedMessage {...messages.bengali} />,
  },
  {
    value: 'bg',
    label: <FormattedMessage {...messages.bulgarian} />,
  },
  {
    value: 'ca',
    label: <FormattedMessage {...messages.catalan} />,
  },
  {
    value: 'zh_CN',
    label: <FormattedMessage {...messages.chineseCHN} />,
  },
  {
    value: 'zh_HK',
    label: <FormattedMessage {...messages.chineseHKG} />,
  },
  {
    value: 'zh_TW',
    label: <FormattedMessage {...messages.chineseTAI} />,
  },
  {
    value: 'hr',
    label: <FormattedMessage {...messages.croatian} />,
  },
  {
    value: 'cs',
    label: <FormattedMessage {...messages.czech} />,
  },
  {
    value: 'da',
    label: <FormattedMessage {...messages.danish} />,
  },
  {
    value: 'nl',
    label: <FormattedMessage {...messages.dutch} />,
  },
  {
    value: 'en',
    label: <FormattedMessage {...messages.english} />,
  },
  {
    value: 'en_GB',
    label: <FormattedMessage {...messages.englishUK} />,
  },
  {
    value: 'en_US',
    label: <FormattedMessage {...messages.englishUS} />,
  },
  {
    value: 'et',
    label: <FormattedMessage {...messages.estonian} />,
  },
  {
    value: 'fil',
    label: <FormattedMessage {...messages.filipino} />,
  },
  {
    value: 'fi',
    label: <FormattedMessage {...messages.finnish} />,
  },
  {
    value: 'fr',
    label: <FormattedMessage {...messages.french} />,
  },
  // commenting this as twilio api is throwing some error on this lang
  // will uncomment once this issue will be resolved by twilio api
  // {
  //   value: 'ka',
  //   label: <FormattedMessage {...messages.georgian} />,
  // },
  {
    value: 'de',
    label: <FormattedMessage {...messages.german} />,
  },
  {
    value: 'el',
    label: <FormattedMessage {...messages.greek} />,
  },
  {
    value: 'gu',
    label: <FormattedMessage {...messages.gujarati} />,
  },
  {
    value: 'ha',
    label: <FormattedMessage {...messages.hausa} />,
  },
  {
    value: 'he',
    label: <FormattedMessage {...messages.hebrew} />,
  },
  {
    value: 'hi',
    label: <FormattedMessage {...messages.hindi} />,
  },
  {
    value: 'hu',
    label: <FormattedMessage {...messages.hungarian} />,
  },
  {
    value: 'id',
    label: <FormattedMessage {...messages.indonesian} />,
  },
  {
    value: 'ga',
    label: <FormattedMessage {...messages.irish} />,
  },
  {
    value: 'it',
    label: <FormattedMessage {...messages.italian} />,
  },
  {
    value: 'ja',
    label: <FormattedMessage {...messages.japanese} />,
  },
  {
    value: 'kn',
    label: <FormattedMessage {...messages.kannada} />,
  },
  {
    value: 'kk',
    label: <FormattedMessage {...messages.kazakh} />,
  },
  // commenting this as twilio api is throwing some error on this lang
  // will uncomment once this issue will be resolved by twilio api
  // {
  //   value: 'rw_RW',
  //   label: <FormattedMessage {...messages.kinyarwanda} />,
  // },
  {
    value: 'ko',
    label: <FormattedMessage {...messages.korean} />,
  },
  // commenting this as twilio api is throwing some error on this lang
  // will uncomment once this issue will be resolved by twilio api
  // {
  //   value: 'ky_KG',
  //   label: <FormattedMessage {...messages.kyrgyz} />,
  // },
  {
    value: 'lo',
    label: <FormattedMessage {...messages.lao} />,
  },
  {
    value: 'lv',
    label: <FormattedMessage {...messages.latvian} />,
  },
  {
    value: 'lt',
    label: <FormattedMessage {...messages.lithuanian} />,
  },
  {
    value: 'mk',
    label: <FormattedMessage {...messages.macedonian} />,
  },
  {
    value: 'ms',
    label: <FormattedMessage {...messages.malay} />,
  },
  // commenting this as twilio api is throwing some error on this lang
  // will uncomment once this issue will be resolved by twilio api
  // {
  //   value: 'ml',
  //   label: <FormattedMessage {...messages.malayalam} />,
  // },
  {
    value: 'mr',
    label: <FormattedMessage {...messages.marathi} />,
  },
  {
    value: 'nb',
    label: <FormattedMessage {...messages.norwegian} />,
  },
  {
    value: 'fa',
    label: <FormattedMessage {...messages.persian} />,
  },
  {
    value: 'pl',
    label: <FormattedMessage {...messages.polish} />,
  },
  {
    value: 'pt_BR',
    label: <FormattedMessage {...messages.portugueseBR} />,
  },
  {
    value: 'pt_PT',
    label: <FormattedMessage {...messages.portuguesePOR} />,
  },
  {
    value: 'pa',
    label: <FormattedMessage {...messages.punjabi} />,
  },
  {
    value: 'ro',
    label: <FormattedMessage {...messages.romanian} />,
  },
  {
    value: 'ru',
    label: <FormattedMessage {...messages.russian} />,
  },
  {
    value: 'sr',
    label: <FormattedMessage {...messages.serbian} />,
  },
  {
    value: 'sk',
    label: <FormattedMessage {...messages.slovak} />,
  },
  {
    value: 'sl',
    label: <FormattedMessage {...messages.slovenian} />,
  },
  {
    value: 'es',
    label: <FormattedMessage {...messages.spanish} />,
  },
  {
    value: 'es_AR',
    label: <FormattedMessage {...messages.spanishARG} />,
  },
  {
    value: 'es_ES',
    label: <FormattedMessage {...messages.spanishSPA} />,
  },
  {
    value: 'es_MX',
    label: <FormattedMessage {...messages.spanishMEX} />,
  },
  {
    value: 'sw',
    label: <FormattedMessage {...messages.swahili} />,
  },
  {
    value: 'sv',
    label: <FormattedMessage {...messages.swedish} />,
  },
  {
    value: 'ta',
    label: <FormattedMessage {...messages.tamil} />,
  },
  {
    value: 'te',
    label: <FormattedMessage {...messages.telugu} />,
  },
  {
    value: 'th',
    label: <FormattedMessage {...messages.thai} />,
  },
  {
    value: 'tr',
    label: <FormattedMessage {...messages.turkish} />,
  },
  {
    value: 'uk',
    label: <FormattedMessage {...messages.ukrainian} />,
  },
  {
    value: 'ur',
    label: <FormattedMessage {...messages.urdu} />,
  },
  {
    value: 'uz',
    label: <FormattedMessage {...messages.uzbek} />,
  },
  {
    value: 'vi',
    label: <FormattedMessage {...messages.vietnamese} />,
  },
  {
    value: 'zu',
    label: <FormattedMessage {...messages.zulu} />,
  },
];

export const carouselMediaOptions = [
  {
    value: 'image',
    label: <FormattedMessage {...messages.mediaImage} />,
  },
  {
    value: 'video',
    label: <FormattedMessage {...messages.mediaVideo} />,
  },
];

export const CAROUSEL_INITIAL_DATA = [{
  mediaType: '',
  bodyText: '',
  bodyError: '',
  addedVarCount: 0,
  buttons: [
    {
      buttonType: PHONE_NUMBER,
      text: '',
      phone_number: '',
      isSaved: false,
      textError: '',
    },
  ],
}];

// WhatsApp supports a maximum of 10 items in a carousel
export const MAX_CAROUSEL_ALLOWED = 10;

export const OTP_CONFIG_URI = "/org/setup/configurations/OTPConfigurations";
export const AI_CONTENT_BOT_DISABLED = "AI_CONTENT_BOT_DISABLED";
export const CORRECT_TEMPLATE_FORMAT_URL = "https://developers.facebook.com/docs/whatsapp/updates-to-pricing/new-template-guidelines";
export const CATEGORY_OPTIONS_MAP = {
  [HOST_TWILIO]: TWILIO_CATEGORY_OPTIONS,
  [HOST_KARIX]: KARIX_GUPSHUP_CATEGORY_OPTIONS,
  [HOST_GUPSHUP]: KARIX_GUPSHUP_CATEGORY_OPTIONS,
  [HOST_ICS]: ICS_CATEGORY_OPTIONS,
  [HOST_HAPTIC]: HAPTIC_CATEGORY_OPTIONS,
  [HOST_VALUE_FIRST]: VALUE_FIRST_CATEGORY_OPTIONS,
};

export const REQUEST = "REQUEST";
