import * as yup from "yup";
import {
  USERNAME_MAX_LENGTH,
  USERNAME_MIN_LENGTH,
  USERNAME_REGEX,
  USERNAME_START_MESSAGE,
  USERNAME_VALIDATION_MESSAGE,
} from "./username";

export const usernameSchema = yup
  .string()
  .required("نام کاربری الزامی است")
  .min(USERNAME_MIN_LENGTH, `نام کاربری باید حداقل ${USERNAME_MIN_LENGTH} کاراکتر باشد`)
  .max(USERNAME_MAX_LENGTH, `نام کاربری نمی‌تواند بیشتر از ${USERNAME_MAX_LENGTH} کاراکتر باشد`)
  .matches(/^[a-zA-Z0-9]/, USERNAME_START_MESSAGE)
  .matches(USERNAME_REGEX, USERNAME_VALIDATION_MESSAGE);

export const usernameFormSchema = yup.object({
  username: usernameSchema,
});
