import * as yup from "yup";

export const loginSchema = yup.object({
  username: yup
    .string()
    .required("نام کاربری الزامی است")
    .min(3, "نام کاربری باید حداقل ۳ کاراکتر باشد"),
  password: yup
    .string()
    .required("رمز عبور الزامی است")
    .min(6, "رمز عبور باید حداقل ۶ کاراکتر باشد"),
});

export const userSchema = yup.object({
  name: yup
    .string()
    .required("نام الزامی است")
    .min(2, "نام باید حداقل ۲ کاراکتر باشد"),
  email: yup
    .string()
    .required("ایمیل الزامی است")
    .email("فرمت ایمیل صحیح نیست"),
  phone: yup
    .string()
    .required("شماره تلفن الزامی است")
    .matches(/^09\d{9}$/, "شماره تلفن صحیح نیست"),
  role: yup.string().required("نقش الزامی است"),
  password: yup
    .string()
    .optional()
    .min(6, "رمز عبور باید حداقل ۶ کاراکتر باشد"),
});

export const settingsSchema = yup.object({
  siteName: yup.string().required("نام سایت الزامی است"),
  siteDescription: yup.string().required("توضیحات سایت الزامی است"),
  adminEmail: yup
    .string()
    .required("ایمیل مدیر الزامی است")
    .email("فرمت ایمیل صحیح نیست"),
  language: yup.string().required("زبان الزامی است"),
});

export type LoginFormData = yup.InferType<typeof loginSchema>;
export type UserFormData = yup.InferType<typeof userSchema>;
export type SettingsFormData = yup.InferType<typeof settingsSchema>;
