* @TP-17904 | Mocking service - added server , geolocation apis and data * @TP-17904 | Mocking service - added server , geolocation apis and data * @TP-17904 | Mocking service - added server , geolocation apis and data * @TP-17904 | Mocking service - added server , geolocation apis and data * @TP-17904 | Mocking service - added server , geolocation apis and data
149 lines
9.9 KiB
TypeScript
149 lines
9.9 KiB
TypeScript
import { ApiKeys, API_URLS } from "../components/utlis/apiHelper";
|
|
import { CaseStatuses } from "../screens/allCases/interface";
|
|
|
|
export const APP_NAME = 'collections-agent-app';
|
|
|
|
export enum CONDITIONAL_OPERATORS {
|
|
EQUALS = 'EQUALS',
|
|
LESS_THAN_EQUAL_TO = 'LESS_THAN_EQUAL_TO',
|
|
}
|
|
|
|
export enum FILTER_TYPES {
|
|
DATE = 'DATE',
|
|
STRING = 'STRING',
|
|
SEARCH = 'SEARCH',
|
|
}
|
|
|
|
export enum SELECTION_TYPES {
|
|
SINGLE = 'SINGLE',
|
|
MULTIPLE = 'MULTIPLE',
|
|
}
|
|
|
|
export interface Option {
|
|
label: string;
|
|
value: any;
|
|
}
|
|
|
|
export enum FirestoreUpdateTypes {
|
|
ADDED = 'added',
|
|
MODIFIED = 'modified',
|
|
REMOVED = 'removed',
|
|
}
|
|
|
|
export const ClickstreamAPIToMonitor = {
|
|
[API_URLS[ApiKeys.GENERATE_OTP]]: 'AV_LOGIN_SCREEN_SEND_OTP_API',
|
|
[API_URLS[ApiKeys.VERIFY_OTP]]: 'AV_OTP_SCREEN_VERIFY_OTP_API',
|
|
[API_URLS[ApiKeys.LOGOUT]]: 'AV_PROFILE_PAGE_LOGOUT_API',
|
|
[API_URLS[ApiKeys.FEEDBACK]]: 'AV_FORM_SUBMIT_API'
|
|
};
|
|
|
|
export const CLICKSTREAM_EVENT_NAMES = {
|
|
// GENERIC
|
|
AV_NATIVE_BACK_PRESSED : {name: 'AV_NATIVE_BACK_PRESSED', description: 'Native back button pressed'},
|
|
AV_NATIVE_HOME_PRESSED : {name: 'AV_NATIVE_HOME_PRESSED', description: 'Native home button pressed'},
|
|
AV_APP_FOREGROUND : {name: 'AV_APP_FOREGROUND', description: 'App has come to foreground'},
|
|
AV_APP_BACKGROUND : {name: 'AV_APP_BACKGROUND', description: 'App went to background'},
|
|
AV_ERROR_PAGE_LOADED : {name: 'ERROR_PAGE_LOADED', description: 'Error page loaded'},
|
|
AV_NETWORK_STATUS_CHANGE: {name: 'AV_NETWORK_STATUS_CHANGE', description: 'Offline/online status change'},
|
|
|
|
// Login screen
|
|
AV_LOGIN_SCREEN_LOAD: {name:'AV_LOGIN_SCREEN_LOAD', description: 'Login page loaded'},
|
|
AV_LOGIN_SCREEN_NUMBER_INPUT: {name:'AV_LOGIN_SCREEN_NUMBER_INPUT', description: 'User entered 10 digits'},
|
|
AV_LOGIN_SCREEN_SEND_OTP_CLICKED: {name:'AV_LOGIN_SCREEN_SEND_OTP_CLICKED', description: 'Send OTP CTA clicked'},
|
|
AV_LOGIN_SCREEN_SEND_OTP_API_SUCCESS: {name:'AV_LOGIN_SCREEN_SEND_OTP_API_SUCCESS', description: 'Send OTP API successful'},
|
|
AV_LOGIN_SCREEN_SEND_OTP_API_FAILED: {name:'AV_LOGIN_SCREEN_SEND_OTP_API_FAILED', description: 'Send OTP API failed'},
|
|
|
|
// OTP screen
|
|
AV_OTP_SCREEN_LOAD: {name:'AV_OTP_SCREEN_LOAD', description: 'OTP screen loaded'},
|
|
AV_OTP_SCREEN_OTP_INPUT: {name:'AV_OTP_SCREEN_OTP_INPUT', description: 'User entered 4 digit OTP'},
|
|
AV_OTP_SCREEN_VERIFY_OTP_CLICKED: {name:'AV_OTP_SCREEN_VERIFY_OTP_CLICKED', description: 'Verify OTP CTA Clicked'},
|
|
AV_OTP_SCREEN_BACK_BUTTON_CLICKED: {name:'AV_OTP_SCREEN_BACK_BUTTON_CLICKED', description: 'OTP Screen back CTA clicked'},
|
|
AV_OTP_SCREEN_VERIFY_OTP_API_SUCCESS: {name:'AV_OTP_SCREEN_VERIFY_OTP_API_SUCCESS', description: 'OTP verify API successful'},
|
|
AV_OTP_SCREEN_VERIFY_OTP_API_FAILED: {name:'AV_OTP_SCREEN_VERIFY_OTP_API_FAILED', description: 'OTP verify API failed'},
|
|
|
|
// Case list
|
|
AV_CASE_LIST_LOAD : {name: 'AV_CASE_LIST_LOAD', description: 'Cases list loaded'},
|
|
AV_CASE_LIST_CASE_CLICKED : {name: 'AV_CASE_LIST_CASE_CLICKED', description: 'Case clicked'},
|
|
AV_CASE_LIST_PULLED_TO_REFRESH : {name: 'AV_CASE_LIST_PULLED_TO_REFRESH', description: 'Case list pulled to refresh'},
|
|
AV_CASE_LIST_TODO_ITEM_SELECTED : {name: 'AV_CASE_LIST_TODO_ITEM_SELECTED', description: 'Case list todo item selected'},
|
|
AV_CASE_LIST_TODO_ITEM_UNSELECTED : {name: 'AV_CASE_LIST_TODO_ITEM_UNSELECTED', description: 'Case list todo iten unselected'},
|
|
AV_CASE_LIST_CASE_SELECTED : {name: 'AV_CASE_LIST_CASE_SELECTED', description: 'Other cases selected'},
|
|
AV_CASE_LIST_CASE_UNSELECTED : {name: 'AV_CASE_LIST_CASE_UNSELECTED', description: 'Other cases unselected'},
|
|
AV_CASE_LIST_PROCEED_BUTTON_CLICKED : {name: 'AV_CASE_LIST_PROCEED_BUTTON_CLICKED', description: 'Case list proceed CTA clicked'},
|
|
AV_CASE_LIST_REMOVE_BUTTON_CLICKED : {name: 'AV_CASE_LIST_REMOVE_BUTTON_CLICKED', description: 'Case list remove CTA clicked'},
|
|
AV_CASE_LIST_REMOVE_API_SUCCESS : {name: 'AV_CASE_LIST_REMOVE_API_SUCCESS', description: 'Remove todolist API successful'},
|
|
AV_CASE_LIST_REMOVE_API_FAILED: {name: 'AV_CASE_LIST_REMOVE_API_FAILED', description: 'Remove todolist API failed'},
|
|
AV_CASE_LIST_FILTER_BUTTON_CLICKED : {name: 'AV_CASE_LIST_FILTER_BUTTON_CLICKED', description: 'Case list filter CTA clicked'},
|
|
AV_CASE_LIST_SEARCH_QUERY_CHANGED : {name: 'AV_CASE_LIST_SEARCH_QUERY_CHANGED', description: 'Search filter query changed'},
|
|
AV_CASE_LIST_TAB_CHANGED : {name: 'AV_CASE_LIST_TAB_CHANGED', description: 'Case list tab changed'},
|
|
AV_CASE_LIST_AGENT_PROFILE_CLICKED : {name: 'AV_CASE_LIST_AGENT_PROFILE_CLICKED', description: 'Case list agent profile CTA clicked'},
|
|
|
|
// TODO LIST
|
|
AV_TODO_LIST_LOAD : {name: 'AV_TODO_LIST_LOAD', description: 'Todo list confirmation screen loaded'},
|
|
AV_TODO_LIST_CASE_DELETED : {name: 'AV_TODO_LIST_CASE_DELETED', description: 'Todo list case deleted'},
|
|
AV_TODO_LIST_SUBMIT_CLICKED : {name: 'AV_TODO_LIST_SUBMIT_CLICKED', description: 'Submit CTA clicked'},
|
|
AV_TODO_LIST_SUBMIT_SUCCESS : {name: 'AV_TODO_LIST_SUBMIT_SUCCESS', description: 'Todo list submit API successful'},
|
|
AV_TODO_LIST_SUBMIT_FAILED : {name: 'AV_TODO_LIST_SUBMIT_FAILED', description: 'Todo list submit API failed'},
|
|
AV_TODO_LIST_BACK_CLICKED : {name: 'AV_TODO_LIST_BACK_CLICKED', description: 'Back CTA clicked'},
|
|
|
|
//Filters
|
|
AV_FILTERS_PAGE_LOAD : {name: 'AV_FILTERS_PAGE_LOAD', description: 'Filters screen loaded'},
|
|
AV_FILTERS_TAB_CLICKED : {name: 'AV_FILTERS_TAB_CLICKED', description: 'Filter tab clicked'},
|
|
AV_FILTERS_OPTIONS_SELECTED : {name: 'AV_FILTERS_OPTIONS_SELECTED', description: 'Filter options selected'},
|
|
AV_FILTERS_CLOSE_CLICKED : {name: 'AV_FILTERS_CLOSE_CLICKED', description: 'Filters close CTA clicked'},
|
|
AV_FILTERS_APPLY_CLICKED : {name: 'AV_FILTERS_APPLY_CLICKED', description: 'Filters apply CTA clicked'},
|
|
AV_FILTERS_CLEAR_CLICKED : {name: 'AV_FILTERS_CLEAR_CLICKED', description: 'Filters clear CTA clicked'},
|
|
AV_FILTERS_OPTION_SEARCH : {name: 'AV_FILTERS_OPTION_SEARCH', description: 'Filters options search query'},
|
|
|
|
//Case Details
|
|
AV_CASE_DETAILS_PAGE_LOADED : {name: 'AV_CASE_DETAILS_PAGE_LOADED', description: 'Case details page loaded'},
|
|
AV_CASE_DETAILS_PULL_TO_REFRESH : {name: 'AV_CASE_DETAILS_PULL_TO_REFRESH', description: 'Case details page pulled to refresh'},
|
|
AV_CASE_DETAILS_CALL_CUSTOMER_CLICKED : {name: 'AV_CASE_DETAILS_CALL_CUSTOMER_CLICKED', description: 'Call customer CTA clicked'},
|
|
AV_CASE_DETAILS_OPEN_MAPS_CLICKED : {name: 'AV_CASE_DETAILS_OPEN_MAPS_CLICKED', description: 'Open map CTA clicked'},
|
|
AV_CASE_DETAILS_ADD_FEEDBACK_CLICKED : {name: 'AV_CASE_DETAILS_ADD_FEEDBACK_CLICKED', description: 'Add feedback CTA clicked'},
|
|
|
|
//CALLING BOTTOM SHEET
|
|
AV_CALLING_BOTTOMSHEET_LOADED : {name: 'AV_CALLING_BOTTOMSHEET_LOADED', description: 'Calling bottomsheet loaded'},
|
|
AV_CALLING_BOTTOMSHEET_CLOSE_CLICKED : {name: 'AV_CALLING_BOTTOMSHEET_CLOSE_CLICKED' , description: 'Close bottomsheet CTA clicked'},
|
|
AV_CALLING_BOTTOMSHEET_CALL_VIA_PHONE_CLICKED : {name: 'AV_CALLING_BOTTOMSHEET_CALL_VIA_PHONE_CLICKED', description: 'Call via phone CTA clicked'},
|
|
AV_CALLING_BOTTOMSHEET_CALL_VIA_WHATSAPP_CLICKED : {name: 'AV_CALLING_BOTTOMSHEET_CALL_VIA_WHATSAPP_CLICKED', description: 'Call via whatsapp CTA clicked'},
|
|
AV_CALLING_BOTTOMSHEET_BEFORE_INTENT_EVENT : {name: 'AV_CALLING_BOTTOMSHEET_BEFORE_INTENT_EVENT' , description: 'Call bottomsheet before intent event'},
|
|
|
|
//PROFILE PAGE
|
|
AV_PROFILE_PAGE_LOADED : {name: 'AV_PROFILE_PAGE_LOADED', description: 'Profile page loaded'},
|
|
AV_PROFILE_PAGE_LOGOUT_BUTTON_CLICKED : {name: 'AV_PROFILE_PAGE_LOGOUT_BUTTON_CLICKED', description: 'Logout CTA clicked'},
|
|
AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_OPEN : {name: 'AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_OPEN', description: 'Logout confirmation dialog open'},
|
|
AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_CLOSED : {name: 'AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_CLOSED', description: 'Logout confirmation dialog closed'},
|
|
AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_CLICKED : {name: 'AV_PROFILE_PAGE_LOGOUT_CONFIRMATION_CLICKED', description: 'Logout confirmation clicked'},
|
|
AV_PROFILE_PAGE_LOGOUT_API_SUCCESS : {name: 'AV_PROFILE_PAGE_LOGOUT_API_SUCCESS', description: 'Logout API successful'},
|
|
AV_PROFILE_PAGE_LOGOUT_API_FAILED : {name: 'AV_PROFILE_PAGE_LOGOUT_API_FAILED', description: 'Logout API failed'},
|
|
|
|
//FORMS
|
|
AV_FORM_LOADED : {name: 'AV_FORM_LOADED', description: 'Form loaded'},
|
|
AV_FORM_CLOSE_CLICKED : {name: 'AV_FORM_CLOSE_CLICKED', description: 'Form close CTA clicked'},
|
|
AV_FORM_ELEMENT_CHANGED : {name: 'AV_FORM_ELEMENT_CHANGED', description: 'Form element answer changed'},
|
|
AV_FORM_NEXT_BUTTON_CLICKED : {name: 'AV_FORM_NEXT_BUTTON_CLICKED', description: 'Form next CTA clicked'},
|
|
AV_FORM_BACK_BUTTON_CLICKED : {name: 'AV_FORM_BACK_BUTTON_CLICKED', description: 'Form back CTA clicked'},
|
|
AV_FORM_SUMMARY_PAGE_LOADED : {name: 'AV_FORM_SUMMARY_PAGE_LOADED', description: 'Form summary page loaded'},
|
|
AV_FORM_SUBMIT_BUTTON_CLICKED : {name: 'AV_FORM_SUBMIT_BUTTON_CLICKED', description: 'Form submit journey CTA clicked'},
|
|
AV_FORM_SUBMIT_API_SUCCESS : {name: 'AV_FORM_SUBMIT_API_SUCCESS', description: 'Form submit API successful'},
|
|
AV_FORM_SUBMIT_API_FAILED : {name: 'AV_FORM_SUBMIT_API_FAILED', description: 'Form submit API failed'},
|
|
} as Record<string, {name: string, description: string}>;
|
|
|
|
export enum MimeType {
|
|
'image/jpeg' = 'image/jpeg',
|
|
'image/png' = 'image/png'
|
|
}
|
|
|
|
export const ClosedCaseStatusList = [CaseStatuses.CLOSED, CaseStatuses.FORCE_CLOSE, CaseStatuses.EXPIRED];
|
|
|
|
export const getPrefixBase64Image = (contentType: MimeType) => {
|
|
return `data:${contentType};base64,}`;
|
|
}
|
|
|
|
export const PrefixJpegBase64Image = getPrefixBase64Image(MimeType["image/jpeg"]);
|
|
|
|
export const HEADER_HEIGHT_MAX = 180;
|
|
export const HEADER_HEIGHT_MIN = 120;
|
|
export const HEADER_SCROLL_DISTANCE = (HEADER_HEIGHT_MAX - HEADER_HEIGHT_MIN) * 4;
|