export const DEFAULT_ACTION = 'app/Create/DEFAULT_ACTION';

export const CREATE_TEMPLATE_REQUEST = 'app/v2Containers/MPUSH_NEW/Create/CREATE_TEMPLATE_REQUEST';
export const CREATE_TEMPLATE_SUCCESS = 'app/v2Containers/MPUSH_NEW/Create/CREATE_TEMPLATE_SUCCESS';
export const CREATE_TEMPLATE_FAILURE = 'app/v2Containers/MPUSH_NEW/Create/CREATE_TEMPLATE_FAILURE';

export const UPLOAD_ASSET_REQUEST = 'app/v2Containers/MPUSH_NEW/Create/UPLOAD_ASSET_REQUEST';
export const UPLOAD_ASSET_SUCCESS = 'app/v2Containers/MPUSH_NEW/Create/UPLOAD_ASSET_SUCCESS';
export const UPLOAD_ASSET_FAILURE = 'app/v2Containers/MPUSH_NEW/Create/UPLOAD_ASSET_FAILURE';
export const CLEAR_ASSET = 'app/v2Containers/MPUSH_NEW/Create/CLEAR_ASSET';

export const CLEAR_CREATE_RESPONSE_REQUEST = 'app/v2Containers/MPUSH_NEW/Create/CLEAR_CREATE_RESPONSE_REQUEST';
export const CLEAR_CREATE_RESPONSE_SUCCESS = 'app/v2Containers/MPUSH_NEW/Create/CLEAR_CREATE_RESPONSE_SUCCESS';
export const CLEAR_CREATE_RESPONSE_FAILURE = 'app/v2Containers/MPUSH_NEW/Create/CLEAR_CREATE_RESPONSE_FAILURE';

export const GET_IOS_CTAS = 'app/v2Containers/MPUSH_NEW/Create/GET_IOS_CTAS';
export const GET_IOS_CTAS_SUCCESS = 'app/v2Containers/MPUSH_NEW/Create/GET_IOS_CTAS_SUCCESS';
export const GET_IOS_CTAS_FAILURE = 'app/v2Containers/MPUSH_NEW/Create/GET_IOS_CTAS_FAILURE';
export const RESET_STORE = 'app/v2Containers/MPUSH_NEW/Create/RESET_STORE';
export const GET_TEMPLATE_DETAILS_REQUEST = 'app/v2Containers/MPUSH_NEW/Create/GET_TEMPLATE_DETAILS_REQUEST';
export const GET_TEMPLATE_DETAILS_SUCCESS = 'app/v2Containers/MPUSH_NEW/Create/GET_TEMPLATE_DETAILS_SUCCESS';
export const GET_TEMPLATE_DETAILS_FAILURE = 'app/v2Containers/MPUSH_NEW/Create/GET_TEMPLATE_DETAILS_FAILURE';

export const EDIT_TEMPLATE_REQUEST = 'app/v2Containers/MPUSH_NEW/Edit/EDIT_TEMPLATE_REQUEST';
export const EDIT_TEMPLATE_SUCCESS = 'app/v2Containers/MPUSH_NEW/Edit/EDIT_TEMPLATE_SUCCESS';
export const EDIT_TEMPLATE_FAILURE = 'app/v2Containers/MPUSH_NEW/Edit/EDIT_TEMPLATE_FAILURE';

export const CLEAR_EDIT_RESPONSE_REQUEST = 'app/v2Containers/MPUSH_NEW/Edit/CLEAR_EDIT_RESPONSE_REQUEST';
export const CLEAR_DATA = 'app/v2Containers/MPUSH_NEW/Edit/CLEAR_DATA';
export const SET_SELECTED_TEMPLATE = 'app/v2Containers/MPUSH_NEW/Edit/SET_SELECTED_TEMPLATE';

export const SET_WECHAT_ACCOUNT = "app/v2Containers/MobilePush/SET_WECHAT_ACCOUNT";
export const GET_WECRM_ACCOUNTS_REQUEST = "app/v2Containers/MobilePush/GET_WECRM_ACCOUNTS_REQUEST";
export const GET_WECRM_ACCOUNTS_SUCCESS = "app/v2Containers/MobilePush/GET_WECRM_ACCOUNTS_SUCCESS";
export const GET_WECRM_ACCOUNTS_FAILURE = "app/v2Containers/MobilePush/GET_WECRM_ACCOUNTS_FAILURE";

export const GET_MOBILEPUSH_TEMPLATES_LIST_REQUEST = 'app/v2Containers/WeChat/MPUSH_NEW_TEMPLATES_LIST_REQUEST';
export const GET_MOBILEPUSH_TEMPLATES_LIST_SUCCESS = 'app/v2Containers/WeChat/MPUSH_NEW_TEMPLATES_LIST_SUCCESS';
export const GET_MOBILEPUSH_TEMPLATES_LIST_FAILURE = 'app/v2Containers/WeChat/MPUSH_NEW_TEMPLATES_LIST_FAILURE';

export const MAPP_SDK = 'MAPP_SDK';

export const MEDIA_TYPES_OPTIONS = [
  { label: "None", value: "NONE" },
  { label: "Image", value: "IMAGE" },
  { label: "Video", value: "VIDEO" },
  { label: "Carousel", value: "CAROUSEL" },
];

export const MOBILE_PUSH_CHANNEL = "MOBILEPUSH";
export const ANDROID = "ANDROID";
export const IOS = "IOS";
export const ALLOWED_IMAGE_EXTENSIONS_REGEX = /\.(jpe?g|png)$/i;
export const MPUSH_IMG_SIZE = 2000000; // 2MB
export const MPUSH_VIDEO_SIZE = 209715200; // 200MB (200 * 1024 * 1024)
export const ALLOWED_EXTENSIONS_VIDEO_REGEX = /\.(3gp|mp4|mov|m4v)$/i;
export const ALLOWED_GIF_REGEX = /\.(gif)$/i;
export const MPUSH_GIF_SIZE = 209715200; // 200MB (200 * 1024 * 1024)

// Image dimension limits (in pixels)
export const MPUSH_IMG_MAX_WIDTH = 2048;
export const MPUSH_IMG_MAX_HEIGHT = 2048;

// File size limits for validation displays
export const MAX_VIDEO_DURATION = 600; // 10 minutes in seconds
export const MIN_VIDEO_DURATION = 1; // 1 second minimum

export const DEEP_LINK = 'DEEP_LINK';
export const EXTERNAL_LINK = 'EXTERNAL_LINK';

export const LINK_TYPE_OPTIONS = [
  { label: 'Deep Link', value: DEEP_LINK },
  { label: 'External Link', value: EXTERNAL_LINK },
];

export const EXTERNAL_LINK_LOWERCASE = 'external link';
export const PRIMARY = 'PRIMARY';
export const SECONDARY = 'SECONDARY';

export const INITIAL_CTA_DATA = [];

// Additional validation constants
export const IMAGE_SIZE_TEXT = '2 MB';
export const VIDEO_SIZE_TEXT = '200 MB';
export const GIF_SIZE_TEXT = '200 MB';
export const IMAGE_FORMAT_TEXT = 'JPEG, PNG';
export const VIDEO_FORMAT_TEXT = '3GP, MP4, MOV, M4V';
export const GIF_FORMAT_TEXT = 'GIF';

// File size limits for validation
export const MAX_IMAGE_DIMENSION = 2048; // 2048x2048 pixels


export const IMAGE = "IMAGE";
export const VIDEO = "VIDEO";
export const GIF = "GIF";
export const CAROUSEL = "CAROUSEL";
export const MANUAL_CAROUSEL = "MANUAL_CAROUSEL";
export const AUTO_CAROUSEL = "AUTO_CAROUSEL";
export const FILMSTRIP_CAROUSEL = "FILMSTRIP_CAROUSEL";
export const TEXT = "TEXT";
export const BIG_TEXT = "BIG_TEXT";
export const BIG_PICTURE = "BIG_PICTURE";
export const INITIAL_CONTENT = {
  title: "",
  message: "",
  mediaType: "NONE",
  buttons: [],
  actionOnClick: false,
  linkType: DEEP_LINK,
  deepLinkValue: "",
  externalLinkValue: "",
  carouselData: [], // Platform-specific carousel data
  deepLinkKeysValue: [],
};
