import { defineStore } from "pinia";
import { ref } from "vue";

import { useCounterMixin } from "@/stores/mixin";
import type {
  DataResponse,
  DataRow,
} from "../interface/response/personal/personal";

const { date2Thai } = useCounterMixin();

export const usePersonalDataStore = defineStore("PersonalData", () => {
  const row = ref<DataRow[]>([]); // ข้อมูลในตาราง
  const currentTab = ref<string>("list_prefix"); // Tab ปัจจุบัน

  /**
   * บันทึกข้อมูลลงใน  row.value
   * @param data ข้อมูลรายการจาก API
   */
  async function save(data: DataResponse[]) {
    const list = data.map((e) => ({
      ...e,
      createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
      lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
    }));
    row.value = list;
  }

  return {
    save,
    row,
    currentTab,
  };
});
