<template>
  <AdminLayout>
    <Breadcrumb currentPageText="Piyango Detay" go="/piyangolar/piyango-listesi" />
    <tabs :tabList="tabList" v-if="loaded" isUseRoute>
      <template #piyango-bilgileri>
        <tab-piyango-bilgileri-display
          v-if="
            usersStore.isPanelUser ||
            (piyangoStore.lotteryApprove !== 0 &&
              piyangoStore.lotteryApprove !== 3 &&
              piyangoStore.lotteryApprove !== 8)
          " />
        <tab-piyango-bilgileri v-else />
      </template>
      <template #katilim-listesi><tab-piyango-katilimci-listesi /></template>
      <template #cekilis-tutanagi><tab-piyango-cekilis-tutanagi /></template>
      <template #talihliler><tab-piyango-talihli-listesi /></template>
      <template #itiraz-sikayet><tab-piyango-itiraz /></template>
      <template #piyango-loglari><tab-piyango-loglari /></template>
      <template #yetkilendirme v-if="usersStore.isPanelUser">
        <tab-piyango-yetkilendirme />
      </template>
      <template #onay-durumu>
        <tab-piyango-onay-durumu v-if="usersStore.isPanelUser" />
        <tab-piyango-onay-durumu-user v-else />
      </template>
      <template #teminat-listesi>
        <tab-piyango-teminat-durumu />
      </template>
      <template
        #dosya-kapama
        v-if="piyangoStore.lotteryApprove === 10">
        <tab-piyango-dosya-kapama />
      </template>
    </tabs>
  </AdminLayout>
</template>
<script setup lang="ts">
  import { onBeforeMount, ref } from 'vue'

  import { useRoute } from 'vue-router'
  const route = useRoute()
  import { useUsersStore } from '@/stores/usersStore'
  const usersStore = useUsersStore()
  import { useDataStore } from '@/stores/dataStore'
  const dataStore = useDataStore()
  import { usePiyangoStore } from '../stores/piyangoStore'
  const piyangoStore = usePiyangoStore()

  import AdminLayout from '@/layouts/AdminLayout.vue'
  import TabPiyangoYetkilendirme from '@/module/cekilisler/components/TabPiyangoYetkilendirme.vue'
  import TabPiyangoOnayDurumu from '@/module/cekilisler/components/TabPiyangoOnayDurumu.vue'
  import TabPiyangoOnayDurumuUser from '@/module/cekilisler/components/TabPiyangoOnayDurumuUser.vue'
  import TabPiyangoTeminatDurumu from '@/module/cekilisler/components/TabPiyangoTeminatDurumu.vue'
  import TabPiyangoLoglari from '@/module/cekilisler/components/TabPiyangoLoglari.vue'
  import TabPiyangoKatilimciListesi from '@/module/cekilisler/components/TabPiyangoKatilimciListesi.vue'
  import TabPiyangoTalihliListesi from '@/module/cekilisler/components/TabPiyangoTalihliListesi.vue'
  import TabPiyangoCekilisTutanagi from '@/module/cekilisler/components/TabPiyangoCekilisTutanagi.vue'
  import TabPiyangoBilgileri from '@/module/cekilisler/components/TabPiyangoBilgileri.vue'
  import TabPiyangoBilgileriDisplay from '../components/TabPiyangoBilgileriDisplay.vue'
  import TabPiyangoItiraz from '@/module/cekilisler/components/TabPiyangoItiraz.vue'
  import TabPiyangoDosyaKapama from '@/module/cekilisler/components/TabPiyangoDosyaKapama.vue'

  const loaded = ref<boolean>(false)
  const tabList = ref<Record<string, any>[]>([
    { text: 'Piyango Bilgileri', id: 'piyango-bilgileri' }
  ])

  const CreateTabs = () => {
    if (
      (piyangoStore.lotteryApprove === 4 ||
        piyangoStore.lotteryApprove === 10 ||
        piyangoStore.lotteryApprove === 11 ||
        piyangoStore.lotteryApprove === 12 ||
        piyangoStore.lotteryApprove === 13 ||
        piyangoStore.lotteryApprove === 14 ||
        usersStore.isPanelUser) &&
      piyangoStore.lotteryPurposeId !== 3
    ) {
      
      tabList.value.push(
        { text: 'Katılım Listesi', id: 'katilim-listesi' },
        { text: 'Çekiliş Tutanağı', id: 'cekilis-tutanagi' },
        { text: 'Talihliler', id: 'talihliler' },
        { text: 'İtiraz/Şikayet', id: 'itiraz-sikayet' }
      )
    } else {
      tabList.value.push({ text: 'Çekiliş Tutanağı', id: 'cekilis-tutanagi' })
    }
    if (usersStore.isPanelUser) {
      tabList.value.push(
        { text: 'Piyango Logları', id: 'piyango-loglari' },
        { text: 'Yetkilendirme', id: 'yetkilendirme' }
      )
    }
    tabList.value.push({ text: 'Onay Durumu', id: 'onay-durumu' })


    if (piyangoStore.lotteryApprove !== 0 && piyangoStore.lotteryPurposeId !== 3) {
      tabList.value.push({ text: 'Teminat Listesi', id: 'teminat-listesi' })
    }

    if (piyangoStore.lotteryApprove === 10) {
      tabList.value.push({ text: 'Dosya Kapama', id: 'dosya-kapama' })
    }
  }

  onBeforeMount(async () => {
    piyangoStore.selectedLottery = Number(route.params.piyangoId)

    const lotteryData: Record<string, any> = await dataStore.dataGet(
      'Cekilis/durum-sorgu/' + piyangoStore.selectedLottery
    )
    piyangoStore.SetLotteryControlData(lotteryData)

    CreateTabs()

    loaded.value = true
  })
</script>
