import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { fieldsTable } from '@store/Modules/fieldsTable'
import { tools } from '@store/Modules/tools'
import { costanti } from '@costanti'
import { shared_consts } from '@/common/shared_vuejs'
import { CMyFieldDb } from '@/components/CMyFieldDb'
import { CDateTime } from '@/components/CDateTime'
import { toolsext } from '@src/store/Modules/toolsext'
import { computed } from 'vue'
import { INotif } from 'model'
import { useNotifStore } from '@store/NotifStore'
import { useCircuitStore } from '@store/CircuitStore'
import { useRouter } from 'vue-router'
import MixinUsers from '@/mixins/mixin-users'

export default defineComponent({
  name: 'CNotifAtTop',
  props: {
  },
  components: {  },
  setup(props, { emit }) {
    const q = useQuasar()
    const { t } = useI18n()
    const globalStore = useGlobalStore()
    const userStore = useUserStore()
    const notifStore = useNotifStore()
    const circuitStore = useCircuitStore()
    const $router = useRouter()

    const { getImgByNotif, getNotifText, getTypeDirNotif, getTypeIdNotif } = MixinUsers()

    const lasts_notifs_req = computed(() => notifStore.getnotifs_coinsreq())
    const num_notifs = computed(() => lasts_notifs_req.value.length)

    function mounted() {
      //
    }

    function clickNotif(notif: INotif) {
      if (notif.openUrl) {
        let mylink = tools.updateQueryStringParameter(notif.openUrl, 'idnotif', notif._id)
        console.log('mylink', mylink, notif._id)
        if (mylink) {
          $router.replace(mylink)
        }
      }
    }


    onMounted(mounted)

    return {
      q,
      t,
      getImgByNotif,
      getNotifText,
      getTypeDirNotif,
      getTypeIdNotif,
      tools,
      costanti,
      shared_consts,
      fieldsTable,
      globalStore,
      toolsext,
      lasts_notifs_req,
      num_notifs,
      clickNotif,
      userStore,
    }
  },
})

