import { defineStore } from "pinia";

export const useRegistryEmp = defineStore("registryEmployeeTemp", () => {
  /**
   * function คำนวณหาอายุ
   * @param birthDate วันเกิด
   * @returns อายุ
   */
  function calculateAge(birthDate: Date | null) {
    if (!birthDate) return null;
    const birthDateTimeStamp = new Date(birthDate).getTime();
    const now = new Date();
    const diff = now.getTime() - birthDateTimeStamp;

    const ageDate = new Date(diff);
    const years = ageDate.getUTCFullYear() - 1970;
    const months = ageDate.getUTCMonth();
    const days = ageDate.getUTCDate() - 1;
    const retire = new Date(birthDate);
    retire.setFullYear(retire.getFullYear() + 60);
    //   retireDate.value = retire;

    if (years > 60) {
      return "อายุเกิน 60 ปี";
    }

    return `${years} ปี ${months} เดือน ${days} วัน`;
  }

  /**
   *  function convertstatus
   * @param val ค่าสภานะ
   * @returns textStatus
   */
  const statusText = (val: string) => {
    switch (val) {
      case "WAITTING":
        return "รอดำเนินการ";
      case "PENDING":
        return "เลือกตำแหน่งแล้ว";
      case "APPROVE":
        return "อนุมัติ";
      case "REJECT":
        return "ไม่อนุมัติ";
      case "REPORT":
        return "ส่งรายชื่อไปออกคำสั่ง";
      case "DONE":
        return "ออกคำสั่งเสร็จแล้ว";
      default:
        return "-";
    }
  };
  return {
    calculateAge,
    statusText,
  };
});
