import { useMutation } from "@tanstack/react-query";
import { Axiosinstance } from "./Axiosinstance"; // مسیرت اگر فرق داره اصلاح کن

const normalizePhone = (phone) => {
  const raw = String(phone || "").trim();
  const digits = raw.replace(/\D/g, "");

  // ساده: همون چیزی که کاربر زده رو می‌فرستیم، ولی بهتره حداقل digits خالی نباشه
  // اگر خواستی E164 کنی (ایران): 09xxxxxxxxx -> +989xxxxxxxxx
  // const e164 = digits.startsWith("0") ? `+98${digits.slice(1)}` : digits.startsWith("98") ? `+${digits}` : raw;
  // return e164;

  return digits ? raw : "";
};

export const usePhoneAuthRequest = () =>
  useMutation({
    mutationFn: async ({ phone }) => {
      const p = normalizePhone(phone);
      return (
        await Axiosinstance.post("/accounts/phone-auth/request/", {
          phone: p,
        })
      ).data;
    },
  });

export const usePhoneAuthVerify = () =>
  useMutation({
    mutationFn: async ({ phone, code }) => {
      const p = normalizePhone(phone);
      const c = String(code || "").trim();
      return (
        await Axiosinstance.post("/accounts/phone-auth/verify/", {
          phone: p,
          code: c,
        })
      ).data;
    },
  });
