import { defineMessages } from 'react-intl';

const scope = 'creatives.containersV2.MobilePushNew';

export default defineMessages({
  imageErrorMessage: {
    id: `${scope}.imageErrorMessage`,
    defaultMessage: 'Please upload the image with allowed file extension, size, dimension and aspect ratio',
  },
  saveTemplate: {
    id: `${scope}.saveTemplate`,
    defaultMessage: 'Save Template',
  },
  creativeName: {
    id: `${scope}.creativeName`,
    defaultMessage: 'Creative name',
  },
  creativeNamePlaceholder: {
    id: `${scope}.creativeNamePlaceholder`,
    defaultMessage: 'Enter creative name',
  },
  android: {
    id: `${scope}.android`,
    defaultMessage: 'Android',
  },
  ios: {
    id: `${scope}.ios`,
    defaultMessage: 'iOS',
  },
  title: {
    id: `${scope}.title`,
    defaultMessage: 'Title',
  },
  titlePlaceholder: {
    id: `${scope}.titlePlaceholder`,
    defaultMessage: 'Enter title',
  },
  addLabels: {
    id: `${scope}.addLabels`,
    defaultMessage: 'Add labels',
  },
  message: {
    id: `${scope}.message`,
    defaultMessage: 'Message',
  },
  messagePlaceholder: {
    id: `${scope}.contentPlaceholder`,
    defaultMessage: 'Enter message',
  },
  mediaType: {
    id: `${scope}.mediaType`,
    defaultMessage: 'Media type',
  },
  buttonsAndLinks: {
    id: `${scope}.buttonsAndLinks`,
    defaultMessage: 'Buttons and links',
  },
  optionalText: {
    id: `${scope}.optionalText`,
    defaultMessage: '(Optional)',
  },
  actionOnClick: {
    id: `${scope}.actionOnClick`,
    defaultMessage: 'Action on click of notification body',
  },
  helperText: {
    id: `${scope}.helperText`,
    defaultMessage: 'Define where the users will redirect when they click on the body of the push notification',
  },
  done: {
    id: `${scope}.done`,
    defaultMessage: 'Done',
  },
  previewAndTest: {
    id: `${scope}.previewAndTest`,
    defaultMessage: 'Preview and Test',
  },
  addPrimaryButton: {
    id: `${scope}.addPrimaryButton`,
    defaultMessage: 'Add primary button',
  },
  emptyTemplateDescErrorMessage: {
    id: `${scope}.emptyTemplateDescErrorMessage`,
    defaultMessage: 'Template message cannot be empty',
  },
  selectMediaType: {
    id: `${scope}.selectMediaType`,
    defaultMessage: 'None',
  },
  actionOnClickBody: {
    id: `${scope}.actionOnClickBody`,
    defaultMessage: 'Action on click of notification body',
  },
  actionDescription: {
    id: `${scope}.actionDescription`,
    defaultMessage: 'Define where the users will redirect when they click on the body of the push notification',
  },
  buttons: {
    id: `${scope}.buttons`,
    defaultMessage: 'Buttons',
  },
  linkType: {
    id: 'app.containers.MobilePushNew.linkType',
    defaultMessage: 'Link Type',
  },
  selectDeepLink: {
    id: `${scope}.selectDeepLink`,
    defaultMessage: 'Select deep link',
  },
  deepLink: {
    id: 'app.containers.MobilePushNew.deepLink',
    defaultMessage: 'Deep Link',
  },
  deepLinkKeys: {
    id: `${scope}.deepLinkKeys`,
    defaultMessage: 'Deep Link Keys',
  },
  deepLinkKeysPlaceholder: {
    id: `${scope}.deepLinkKeysPlaceholder`,
    defaultMessage: 'Please input {key} here',
  },
  deepLinkKeysRequired: {
    id: `${scope}.deepLinkKeysRequired`,
    defaultMessage: 'Value cannot be empty.',
  },
  externalLink: {
    id: 'app.containers.MobilePushNew.externalLink',
    defaultMessage: 'External Link',
  },
  enterExternalLink: {
    id: `${scope}.enterExternalLink`,
    defaultMessage: 'Enter external link',
  },
  invalidUrl: {
    id: `${scope}.invalidUrl`,
    defaultMessage: 'Please enter a valid URL',
  },
  invalidButtonText: {
    id: `${scope}.invalidButtonText`,
    defaultMessage: 'Button text cannot be empty or contain only whitespace',
  },
  addSecondaryButton: {
    id: `${scope}.addSecondaryButton`,
    defaultMessage: 'Add secondary button',
  },
  secondaryButtonTooltip: {
    id: `${scope}.secondaryButtonTooltip`,
    defaultMessage: 'This section is being revamped. Till then it will remain disabled.',
  },
  videoErrorMessage: {
    id: `${scope}.videoErrorMessage`,
    defaultMessage: 'Please upload the video with allowed file extension, size, dimension and aspect ratio',
  },
  gifErrorMessage: {
    id: `${scope}.gifErrorMessage`,
    defaultMessage: 'Please upload the gif with allowed file extension, size, dimension and aspect ratio',
  },
  primaryButtonText: {
    id: `${scope}.primaryButtonText`,
    defaultMessage: 'Primary button text',
  },
  secondaryButtonText: {
    id: `${scope}.secondaryButtonText`,
    defaultMessage: 'Secondary button text',
  },
  enterButtonText: {
    id: `${scope}.enterButtonText`,
    defaultMessage: 'Enter button text',
  },
  ctaSaveDisabled: {
    id: `${scope}.ctaSaveDisabled`,
    defaultMessage: 'Please complete the above fields to enable button',
  },
  actionLink: {
    id: `${scope}.actionLink`,
    defaultMessage: 'Action Link',
  },
  emptyTemplateErrorMessage: {
    id: `${scope}.emptyTemplateErrorMessage`,
    defaultMessage: 'Template name cannot be empty',
  },
  messageCreateSuccess: {
    id: `${scope}.messageCreateSuccess`,
    defaultMessage: 'Mobile push template created successfully',
  },
  messageEditSuccess: {
    id: `${scope}.messageEditSuccess`,
    defaultMessage: 'Mobile push template updated successfully',
  },
  somethingWentWrong: {
    id: `${scope}.somethingWentWrong`,
    defaultMessage: 'Something went wrong!!',
  },
  validationLoadingMessage: {
    id: `${scope}.validationLoadingMessage`,
    defaultMessage: 'Please wait while we validate the template',
  },
  androidValidationError: {
    id: `${scope}.androidValidationError`,
    defaultMessage: 'Please fill in title and message for Android',
  },
  iosValidationError: {
    id: `${scope}.iosValidationError`,
    defaultMessage: 'Please fill in title and message for iOS',
  },
  carouselMediaType: {
    id: `${scope}.carouselMediaType`,
    defaultMessage: 'Carousel media Type',
  },
  mediaImage: {
    id: `${scope}.mediaImage`,
    defaultMessage: 'Image',
  },
  mediaVideo: {
    id: `${scope}.mediaVideo`,
    defaultMessage: 'Video',
  },
  card: {
    id: `${scope}.card`,
    defaultMessage: 'Card',
  },
  addCard: {
    id: `${scope}.addCard`,
    defaultMessage: 'Add Card',
  },
  templateCreateSuccess: {
    id: `${scope}.templateCreateSuccess`,
    defaultMessage: 'Mobile push template created successfully',
  },
  templateUpdateSuccess: {
    id: `${scope}.templateUpdateSuccess`,
    defaultMessage: 'Mobile push template updated successfully',
  },
  sameContentForBothChannels: {
    id: `${scope}.sameContentForBothChannels`,
    defaultMessage: 'Same content for both platforms',
  },
  sameContentNote: {
    id: `${scope}.sameContentNote`,
    defaultMessage: 'Edits in one tab are automatically synced to other',
  },
  // New error messages for createMobilePushPayload.js
  templateNameEmptyError: {
    id: `${scope}.templateNameEmptyError`,
    defaultMessage: 'Template name is empty or contains only white spaces',
  },
  accountDataRequiredError: {
    id: `${scope}.accountDataRequiredError`,
    defaultMessage: 'Account data is required. Please select a MobilePush account.',
  },
  contentValidationError: {
    id: `${scope}.contentValidationError`,
    defaultMessage: '{platform} content must have title and message',
  },
  // File validation error messages for useUpload.js
  fileSizeError: {
    id: `${scope}.fileSizeError`,
    defaultMessage: 'File size should be less than {size}MB',
  },
  imageFileTypeError: {
    id: `${scope}.imageFileTypeError`,
    defaultMessage: 'Only JPEG and PNG files are allowed',
  },
  videoFileTypeError: {
    id: `${scope}.videoFileTypeError`,
    defaultMessage: 'Only 3GP, MP4, MOV, M4V files are allowed',
  },
  gifFileTypeError: {
    id: `${scope}.gifFileTypeError`,
    defaultMessage: 'Only GIF files are allowed',
  },
  personalizationTagsErrorMessage: {
    id: `${scope}.personalizationTagsErrorMessage`,
    defaultMessage: 'Personalization tags are not supported for anonymous customers, please remove the tags.',
  },
  personalizationNotSupportedAnonymous: {
    id: `${scope}.personalizationNotSupportedAnonymous`,
    defaultMessage: `Personalization tags are not supported for anonymous customers`,
  },
});
