/**
 * @module errorMessages
 * @author T-Wrecks Team
 * @copyright Safelite
 */
const errorMessages = Object.freeze({
    DAMAGE_LOCATION_REQUIRED: 'Please select damage location',
    DAMAGE_SIDE_REQUIRED: 'Please select vehicle side',
    DRIVER_SIDE_OPTIONS_REQUIRED: 'Please select window',
    PASSENGER_SIDE_OPTIONS_REQUIRED: 'Please select window',
    WINDSHIELD_DAMAGE_TYPE_REQUIRED: 'Please select windshield damage',
    WINDSHIELD_CHIP_COUNT_REQUIRED: 'Please select chip(s)',
    WINDSHIELD_REPLACE_OPTIONS_REQUIRED: 'Please select windshield part',
    REPLACE_OPTIONS_REQUIRED: 'Please select rear window type',
    STREET_ADDRESS_REQUIRED: 'Street Address is required.',
    CITY_REQUIRED: 'City is required.',
    STATE_REQUIRED: 'State is required.',
    ZIP_REQUIRED: 'ZIP is required.',
    ZIP_FORMAT: 'Zip must be 5 digits.',
    LICENSE_PLATE_REQUIRED: 'Please enter your license plate number',
    REGISTRATION_ZIP_REQUIRED: 'Please enter your registration ZIP code',
    FIRST_NAME_REQUIRED: 'Please enter your first name',
    LAST_NAME_REQUIRED: 'Please enter your last name',
    EMAIL_ADDRESS_REQUIRED: 'Email is required.',
    EMAIL_ADDRESS_FORMAT: 'Please enter a valid email address.',
    SERVICE_ZIP_REQUIRED: 'ZIP code is required',
    SERVICE_ZIP_FORMAT: 'Invalid ZIP, please enter a new ZIP (5 characters)',
    MOBILE_SERVICE_ZIP_FORMAT: 'Invalid ZIP code',
    NO_SERVICE_IN_AREA: (area) => `We're sorry, but we don't offer service in ${area} at this time.`,
    PROVIDER_REQUIRED: 'Please select a provider.',
    INVALID_ZIP: 'The ZIP you entered was invalid. Please enter a valid ZIP.',
    ZIP_CODE_NOT_SERVICED_FOR_VEHICLE: 'We do not currently offer glass service for your vehicle in this ZIP code. Please try another ZIP code.',
    VIN_REQUIRED: 'Please enter your VIN',
    VIN_FORMAT:
        // eslint-disable-next-line max-len
        'Invalid VIN. Please make sure that you entered the correct 17-digit, alpha-numeric number. VINs do not contain the letters I, O, or Q',
    OPTION_REQUIRED: 'Please select an option',
    VEHICLE_REQUIRED: 'Please select a vehicle',
    POLICY_NUMBER_REQUIRED: 'Policy number is required.',
    POLICY_NUMBER_FORMAT: 'Please enter an alpha-numeric string',
    PHONE_NUMBER_REQUIRED: 'Please specify a valid phone number, the format is "###-###-####".',
    EXTENSION_FORMAT: 'The specified extension is invalid',
    POLICY_ZIP_REQUIRED: 'Policy ZIP is required.',
    POLICY_ZIP_FORMAT: 'Please enter 5 digits',
    LOSS_CAUSE_REQUIRED: 'Please enter loss cause',
    LOSS_CITY_REQUIRED: 'Loss City damage occurred in is required.',
    LOSS_CITY_FORMAT: 'Please enter only alpha characters',
    LOSS_STATE_REQUIRED: 'Loss State damage occurred in is required.',
    LOSS_DATE_REQUIRED:
        'Please select a date. Format must be MM/DD/YYYY and the date must be not in the future',
    DAMAGE_DATE_REQUIREMENT:
        'Damage date must be within the past 10 years',
    DAMAGE_DATE_NO_FUTURE_DATE:
        'Damage date may not be in the future',
    DAMAGE_OPTION_REQUIRED: 'How damage occurred is required.',

    POLICYHOLDER_FIRST_NAME_REQUIRED: 'First name is required.',
    POLICYHOLDER_LAST_NAME_REQUIRED: 'Last name is required.',
    ACKNOWLEDGEMENT_REQUIRED: 'You must agree to the terms to continue',
    NO_SELECTION_REQUIRED: 'Please make a selection to continue',

    YEAR_REQUIRED: 'Vehicle year is required.',
    MAKE_REQUIRED: 'Vehicle make is required.',
    MODEL_REQUIRED: 'Vehicle model is required.',
    STYLE_REQUIRED: 'Vehicle style is required.',
    MOBILE_LOCATION_REQUIRED: 'Please enter your service address',
    DATE_REQUIRED: 'Please select a date',
    TIME_REQUIRED: 'Please select an appointment time.'
});

export default errorMessages;
