export const NOTIFICATION = {
  INFO: 'info',
  SUCCESS: 'success',
  WARNING: 'warning',
  ERROR: 'error',
};


export const USER_ROLES = {
  SUPER_ADMIN: 'SUPER_ADMIN',
  CLINIC_ADMIN: 'CLINIC_ADMIN',
}

export const CLINIC_TYPE = {
  UNREGISTERED: 'UNREGISTERED',
  REGISTERED: 'REGISTERED',
  // SUBSCRIBED: 'SUBSCRIBED',
};

export const PERMISSIONS = {
  CREATE_JOB_POSTING: 'CREATE_JOB_POSTING',
  READ_JOB_POSTING: 'READ_JOB_POSTING',
  DELETE_JOB_POSTING: 'DELETE_JOB_POSTING',
  CREATE_SEARCH_CANDIDATE: 'CREATE_SEARCH_CANDIDATE',
  READ_SEARCH_CANDIDATE: 'READ_SEARCH_CANDIDATE',
  DELETE_SEARCH_CANDIDATE: 'DELETE_SEARCH_CANDIDATE',
  CREATE_FOLDERS: 'CREATE_FOLDERS',
  READ_FOLDERS: 'READ_FOLDERS',
  DELETE_FOLDERS: 'DELETE_FOLDERS',
  BILLING_AND_PAYMENTS: 'BILLING_AND_PAYMENTS',
  CREATE_REC_USERS: 'CREATE_REC_USERS',
  READ_REC_USERS: 'READ_REC_USERS',
  DELETE_REC_USERS: 'DELETE_REC_USERS',
};

export const CLINIC_STATUS = {
  UNDER_REVIEW:"UNDER_REVIEW",
  ACTIVE:"ACTIVE",
  ON_HOLD: 'ON_HOLD',
  REJECTED: 'REJECTED',
  NOT_REVIEWED: 'NOT_REVIEWED',
  APPROVED: 'APPROVED',
  APPROVAL_PENDING_DOCUMENT_RESUBMITTED:
    'APPROVAL_PENDING_DOCUMENT_RESUBMITTED',
  INACTIVE: 'inactive',
  PAYMENT_DUE: "payment_due",
};

export const CLINIC_DOCUMENT_STATUS = {
  REJECTED: 'REJECTED',
  NOT_REVIEWED: 'NOT_REVIEWED',
  APPROVED: 'APPROVED',
};

export const STATUS = {
  DRAFT: 'draft',
  ACTIVE: 'active',
  CLOSED: 'closed',
};

export const GENDER = {
  FEMALE: 0,
  MALE: 1,
  OTHER: 2,
};

// Errors
export const ERRORS = {
  NETWORK_ERROR: 'Network Error.',
  SESSION_EXPIRED_ERROR: 'Your session has expired please login again.',
};

export const ADMIN_PORTALS = ['www', 'admin', 'portal '];

export const SUB_DOMAIN_REGEX = new RegExp(
  /^([a-zA-Z0-9][a-zA-Z0-9-_]*\.)*[a-zA-Z0-9]*[a-zA-Z0-9-_]*[[a-zA-Z0-9]+$/gim
);

export const ONLY_NUMBER_REGEX = /^[0-9]+$/;
export const WEBSITE_REGEX =
  /^(https?:\/\/|ftp:\/\/|www\.)?([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,}(:[0-9]+)?(\/[\w\-\.~:\/?#@!$&'()*+,;=%]*)?$/;

export const NOT_VALID_SUB_DOMAIN_REGEX =
  /subdomain\s+"[\s\S]+"(?:\s+doesn't\s+exists+\s+or+\s+it\s+is\s+in-active)/;

export const GST_NUMBER_REGEX =
  /^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/;

export const PAN_TAN_NUMBER_REGEX = /^[A-Z]{5}[0-9]{4}[A-Z]{1}$/;

export const ONLY_ALPHA_NUMERIC_ACCEPT_REGEX = /^[0-9A-Za-z]+$/;

export const NOT_ALLOWED_BLANK_SPACE_REGEX = /^(?! +$)[\s\S]+$/;

export const HEX_COLOR_CODE_REGEX = /^#([A-Fa-f0-9]{6})$/;

export const CLINIC_GREETINGS_LENGTH = 1000;

export const CLINIC_SCENARIOS_LENGTH = 5000;

export const FILE_TYPE = [
  '.jpeg',
  '.jpg',
  '.png',
  '.pdf',
  '.svg',
  '.doc',
  '.docx',
];

export const IMAGE_TYPE = ['.jpeg', '.png', '.svg', '.jpg'];

export const EXCEL_EXTENSION = ['.xls', '.xlsx'];

export const ALLOWED_FILE_TYPE = [
  'image/jpeg',
  'image/jpg',
  'image/png',
  'image/svg+xml',
  'application/pdf',
  'application/msword',
  'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
];

export const ALLOWED_IMAGE_TYPE = [
  'image/jpeg',
  'image/jpg',
  'image/png',
  'image/svg+xml',
];

export const DOC_FILE_TYPE = [
  'application/msword',
  'application/doc',
  'application/ms-doc',
  'application/msword',
  'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
];

export const EXCEL_FILE_TYPE = [
  'application/excel',
  'application/vnd.ms-excel',
  'application/x-excel',
  'application/x-msexcel',
  'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
];

export const MAX_TIP_TITLE_LENGTH = 500;
export const MAX_DESCRIPTION_LENGTH = 5000;
export const MAX_NOTIFICATION_TITLE_LENGTH = 100;
export const MAX_NOTIFICATION_CONTENT_LENGTH = 200;

export const exceptThisSymbols = ['e', 'E', '+', '-', '.'];
export const numRegex = /^[0-9\b]+$/;

import PdfIcon from '../assets/images/icon/pdf.png';
import DocIcon from '../assets/images/icon/doc.png';
import JpegIcon from '../assets/images/icon/jpeg.png';
import JpgIcon from '../assets/images/icon/jpg.png';
import PngIcon from '../assets/images/icon/png.png';
import SvgIcon from '../assets/images/icon/svg.png';

export const FILE_EXTENTIONS_ICONS = {
  pdf: PdfIcon,
  doc: DocIcon,
  docx: DocIcon,
  'vnd.openxmlformats-officedocument.wordprocessingml.document': DocIcon,
  msword: DocIcon,
  jpeg: JpegIcon,
  jpg: JpgIcon,
  png: PngIcon,
  svg: SvgIcon,
};

export const DEBOUNCE_DELAY = 500;

export const STUDENT_DETAILS_EXCEL_SHEET_COLUMN_ORDER = [
  { header: 'Name', key: 'name', width: 35 },
  { header: 'Program', key: 'program', width: 35 },
  { header: 'Year', key: 'year', width: 35 },
  { header: 'College', key: 'college', width: 35 },
  { header: 'Graduation', key: 'graduation', width: 35 },
  { header: 'Experience', key: 'experience', width: 35 },
  { header: 'Preferred Location', key: 'preferredLocations', width: 35 },
];

export const STUDENT_DETAILS_EXCEL_SHEET = 'STUDENT_DETAILS_EXCEL_SHEET';

export const CANDIDATE_RESPONSE_RECORDS_SIZE = 10;

export const CONTACT_EMAIL = 'aman.saxena@bsmail.in';

export const CONTACT_PHONE_NUMBER = '+917300062229';

export const MAX_FILES = 1;
export const MAX_FILE_SIZE_IN_MB = 5;
export const COMPANY_ABOUT_MAX_CHAR = 200;

export const GST_NUMBER_LENGTH = 12;
export const ABN_NUMBER_LENGTH = 11;
export const MEDIICARE_NUMBER_LENGTH = 10;

export const TO_LOCAL_STRING_LOCALS = 'hi-IN';
export const MINIMAL_FRACTION_FOR_CURRENCY = 2;

export const NOT_AVAILABLE_TEXT = 'NA';

export const PAYMENT_STATUS = {
  PAYMENT_SUCCESS: 'PAYMENT_SUCCESS',
  PAYMENT_FAILURE: 'PAYMENT_FAILURE',
};

export const FEATURES = {
  SEARCH_CANDIDATE: 'SEARCH_CANDIDATE',
};

export const PLAN_STATUS_TYPE = {
  ACTIVATED: 'ACTIVATED',
  DEACTIVATED: 'DEACTIVATED',
  PURCHASED: 'PURCHASED',
};

export const SUBSCRIPTIONS_STATUS = {
  ACTIVE: 'ACTIVE',
  EXPIRED: 'EXPIRED',
  INACTIVE: 'INACTIVE',
};

export const SUBSCRIPTIONS_WARNING_LIMIT_IN_PERCENTAGE = 10;

export const HIDE_MODULES = ['search'];

export const FILTERS_CATEGORY = {
  COLLEGE: 'college',
  COURSES: 'courses',
  EXPERIENCE: 'experience',
  LANGUAGE: 'language',
  LOCATION: 'location',
  SKILLS: 'skills',
};
