import { Field, LoginValues } from "./loginTypes";

export const loginValidation = (values: LoginValues) => {
  const fields: Field[] = [
    {
      name: "mobileNumber",
      label: "Mobile Number",
      type: "enter",
    },
  ];

  let errors: Partial<LoginValues> = {};

  fields.forEach((field) => {
    const value = values[field?.name].trim();

    if (!value) {
      errors[field.name] = `Please ${field.type} ${field.label}.`;
    } else if (field.name === "mobileNumber") {
      const mobileNumberRegex = /^(\+91[\-\s]?)?[0]?(91)?[6789]\d{9}$/;
      if (!mobileNumberRegex.test(value)) {
        errors[field.name] = `Please enter a valid ${field.label}.`;
      }
    }
  });

  return errors;
};
export const otpValidation = (values: LoginValues) => {
  const fields: Field[] = [
    {
      name: "otp",
      label: "OTP",
      type: "enter",
    },
  ];

  let errors: Partial<LoginValues> = {};

  fields.forEach((field) => {
    const value = values[field.name];

    if (!value) {
      errors[field.name] = `Please ${field.type} ${field.label}.`;
    }
  });

  return errors;
};
