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

export const useProbationStore = defineStore("probationStore", () => {
  const profileId = ref<string>("");
  const mainTab = ref<string>("");

  const activeTab = ref<string>("tab1");
  const assign = ref<any>([]);
  const evaluate = ref<any>([]);
  const tabs = ref<any>([]);

  const assignOutput = ref<any>([]);
  const director = ref<any>([]);
  const person = ref<any>([]);

  const behavior_no1 = [
    { id: "1", label: "ให้บริการประชาชนหรือผู้รับบริการด้วยอัธยาศัยดี" },
    { id: "2", label: "มีความรับผิดชอบในการปฏิบัติงาน" },
    {
      id: "3",
      label:
        "ให้บริการประชาชนหรือผู้รับบริการด้วยความรวดเร็ว เอาใจใส่เป็นมาตรฐานเดียวกัน",
    },
    {
      id: "4",
      label: "ตั้งใจปฏิบัติหน้าที่ราชการด้วยความอุตสาหะ ขยันหมั่นเพียร",
    },
  ];
  const behavior_no2 = [
    {
      id: "1",
      label: "อุทิศตนและเสียสละเวลาในการปฏิบัติงานอย่างเต็มกำลังความสามารถ",
    },
    {
      id: "2",
      label: "มีจิตสำนึกที่ดี ปฏิบัติงานด้วยความซื่อสัตย์ สุจริต",
    },
    {
      id: "3",
      label:
        "ยึดมั่นในสถาบันบัพระมหากษัตริย์ และไม่กระทำการใด ๆ อันจะก่อให้เกิดความเสียหายต่อประเทศชาติ",
    },
  ];
  const behavior_no3 = [
    { id: "1", label: "มีความรับผิดชอบในการรักษาเวลาทำงาน" },
    {
      id: "2",
      label: "แต่งกายในการปฏิบัติงานได้อย่างเหมาะสมกับการเป็นข้าราชการ",
    },
    {
      id: "3",
      label:
        "ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน",
    },
    {
      id: "4",
      label:
        "ไม่กระทำการใด ๆ อันเป็นการเสื่อมเกียรติและศักดิ์ศรีของความเป็นข้าราชการ",
    },
    {
      id: "5",
      label: "ปฏิบัติหน้าที่อย่างตรงไปตรงมาโดยยึดหลักจรรยาบรรณวิชาชีพ",
    },
  ];
  const ratingColors = ref<string[]>([
    "light-blue-3",
    "light-blue-6",
    "blue",
    "blue-9",
    "blue-10",
  ]);

  async function fecthdataAssign(data: any) {
    assign.value = await data.assign;
    evaluate.value = await data.evaluate;
    tabs.value = await data.evaluate;
  }

  function fecthAssignoutput(data: any) {
    assignOutput.value = data.assign_output;
    director.value = data.director;
    person.value = data.person;
  }

  return {
    mainTab,
    ratingColors,
    profileId,
    fecthdataAssign,
    tabs,
    activeTab,
    behavior_no1,
    behavior_no2,
    behavior_no3,
    fecthAssignoutput,
    assignOutput,
    assign,
    director,
    person,
    evaluate,
  };
});
