/** مقادیر ذخیره‌شده در DB را برای inputهای استاندارد HTML5 آماده می‌کند. */

const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/;
const FA_DIGITS = "۰۱۲۳۴۵۶۷۸۹";

function normalizeDigits(s: string): string {
  return s.replace(/[۰-۹]/g, (ch) => {
    const i = FA_DIGITS.indexOf(ch);
    return i >= 0 ? String(i) : ch;
  });
}

/** برای `input type="date"` — فقط yyyy-mm-dd میلادی. */
export function toHtmlDateValue(stored: string): string {
  const t = stored.trim();
  if (ISO_DATE.test(t)) {
    return t;
  }
  return "";
}

/** برای `input type="time"` — فرمت HH:mm (۲۴ ساعته). رقم فارسی هم قبول می‌کند. */
export function toHtmlTimeValue(stored: string): string {
  const raw = normalizeDigits(stored.trim());
  const m = raw.match(/^(\d{1,2}):(\d{2})$/);
  if (!m) {
    return "";
  }
  const h = Number(m[1]);
  const min = Number(m[2]);
  if (Number.isNaN(h) || Number.isNaN(min) || h > 23 || min > 59) {
    return "";
  }
  return `${String(h).padStart(2, "0")}:${String(min).padStart(2, "0")}`;
}
