import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs));
}

export function getDateFromMinutes(minutes: number) {
  const now = new Date();
  now.setHours(0, 0, 0, 0); // Set time to midnight
  now.setMinutes(minutes);
  return now;
}

export const toTimeStr = (mins: number) => {
  if (mins >= 1440) return "24:00:00";
  const h = Math.floor(Math.max(0, mins) / 60)
    .toString()
    .padStart(2, "0");
  const m = (Math.max(0, mins) % 60).toString().padStart(2, "0");
  return `${h}:${m}:00`;
};

export const safeArray = (arr?: any[], fallback: any[] = []) =>
  Array.isArray(arr) && arr.length ? arr : fallback;

export const formatPhone = (num?: string | number | null) => {
  if (num === null || num === undefined) return null;

  const value = String(num).trim();

  if (!value || value.toLowerCase() === "nan") return null;

  return `+91 ${value}`;
};
