{"version":3,"mappings":"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","names":["chip","slideover","_hoisted_1","$auth","_createElementBlock","_ctx","_createBlock","_component_UIcon","props","__props","emit","__emit","showMenu","ref","dropdown","watchEffect","clickHandler","onBeforeUnmount","toggleMenu","event","target","$repository","useNuxtApp","locale","locales","useI18n","route","useRoute","localeRoute","useLocaleRoute","getRouteBaseName","useRouteBaseName","loadingChangeLocale","activeClass","computed","type","changeLocale","name","toRoute","origin","search","hash","$t","showLanguageMenu","getName","currentLanguage","_a","l","closeMenu","changeLanguage","config","mergeConfig","appConfig","_sfc_main","defineComponent","HDialog","HDialogPanel","TransitionRoot","TransitionChild","value","ui","attrs","useUI","toRef","isOpen","transitionClass","enterFrom","leaveTo","sideType","close","onAfterLeave","provideUseId","useId","_component_TransitionRoot","_withCtx","_createVNode","_component_HDialog","_mergeProps","_openBlock","_component_TransitionChild","_createElementVNode","_normalizeClass","_createCommentVNode","_component_HDialogPanel","_renderSlot","_cache","_createStaticVNode","chipClass","twJoin","_createTextVNode","_toDisplayString","mapState","useNotificationsStore","filters","_hoisted_2","_hoisted_3","_component_UDropdown","$options","item","_hoisted_4","_component_UChip","_component_UButton","_hoisted_5","_hoisted_6","$date","$tracking","router","useRouter","localePath","useLocalePath","setReadNotification","changeAnchorNotification","notificationsStore","getRoute","getDate","handledNotification","SkeletonNotification","FilterNotifications","EmptyNotifications","ItemNotification","mapActions","newParams","params","scrollTop","clientHeight","scrollHeight","current_page","last_page","_component_FilterNotifications","_hoisted_7","_hoisted_8","_Fragment","_renderList","notification","index","_component_ItemNotification","_hoisted_9","_component_SkeletonNotification","_hoisted_10","_component_EmptyNotifications","unReadCount","storeToRefs","fetchNotifications","getCountNotification","openNotification","hasInteraction","closeNotification","watch","onMounted","navLinks"],"ignoreList":[0,1,6,8],"sources":["../../../../node_modules/.pnpm/@nuxt+ui@2.20.0_axios@1.7.7_magicast@0.3.5_rollup@4.24.0_sortablejs@1.14.0_typescript@5.6.3_v_mfllii6etumfxz3e2rqnt3xxey/node_modules/@nuxt/ui/dist/runtime/ui.config/elements/chip.js","../../../../node_modules/.pnpm/@nuxt+ui@2.20.0_axios@1.7.7_magicast@0.3.5_rollup@4.24.0_sortablejs@1.14.0_typescript@5.6.3_v_mfllii6etumfxz3e2rqnt3xxey/node_modules/@nuxt/ui/dist/runtime/ui.config/overlays/slideover.js","../../../../components/BusinessLogo.vue","../../../../components/ui/dropdowns/Dropdown.vue","../../../../components/layout/header/user-menu/LanguageMenu.vue","../../../../components/layout/header/user-menu/UserMenuOptions.vue","../../../../node_modules/.pnpm/@nuxt+ui@2.20.0_axios@1.7.7_magicast@0.3.5_rollup@4.24.0_sortablejs@1.14.0_typescript@5.6.3_v_mfllii6etumfxz3e2rqnt3xxey/node_modules/@nuxt/ui/dist/runtime/components/overlays/Slideover.vue","../../../../components/notifications/SkeletonNotification.vue","../../../../node_modules/.pnpm/@nuxt+ui@2.20.0_axios@1.7.7_magicast@0.3.5_rollup@4.24.0_sortablejs@1.14.0_typescript@5.6.3_v_mfllii6etumfxz3e2rqnt3xxey/node_modules/@nuxt/ui/dist/runtime/components/elements/Chip.vue","../../../../components/notifications/FilterNotifications.vue","../../../../components/notifications/EmptyNotifications.vue","../../../../components/notifications/ItemNotification.vue","../../../../components/notifications/ListNotifications.vue","../../../../components/layout/header/NotificationMenu.vue","../../../../components/layout/header/HeaderApp.vue"],"sourcesContent":["export default {\n wrapper: \"relative inline-flex items-center justify-center flex-shrink-0\",\n base: \"absolute rounded-full ring-1 ring-white dark:ring-gray-900 flex items-center justify-center text-white dark:text-gray-900 font-medium whitespace-nowrap\",\n background: \"bg-{color}-500 dark:bg-{color}-400\",\n position: {\n \"top-right\": \"top-0 right-0\",\n \"bottom-right\": \"bottom-0 right-0\",\n \"top-left\": \"top-0 left-0\",\n \"bottom-left\": \"bottom-0 left-0\"\n },\n translate: {\n \"top-right\": \"-translate-y-1/2 translate-x-1/2 transform\",\n \"bottom-right\": \"translate-y-1/2 translate-x-1/2 transform\",\n \"top-left\": \"-translate-y-1/2 -translate-x-1/2 transform\",\n \"bottom-left\": \"translate-y-1/2 -translate-x-1/2 transform\"\n },\n size: {\n \"3xs\": \"h-[4px] min-w-[4px] text-[4px] p-px\",\n \"2xs\": \"h-[5px] min-w-[5px] text-[5px] p-px\",\n \"xs\": \"h-1.5 min-w-[0.375rem] text-[6px] p-px\",\n \"sm\": \"h-2 min-w-[0.5rem] text-[7px] p-0.5\",\n \"md\": \"h-2.5 min-w-[0.625rem] text-[8px] p-0.5\",\n \"lg\": \"h-3 min-w-[0.75rem] text-[10px] p-0.5\",\n \"xl\": \"h-3.5 min-w-[0.875rem] text-[11px] p-1\",\n \"2xl\": \"h-4 min-w-[1rem] text-[12px] p-1\",\n \"3xl\": \"h-5 min-w-[1.25rem] text-[14px] p-1\"\n },\n default: {\n size: \"sm\",\n color: \"primary\",\n position: \"top-right\",\n inset: false\n }\n};\n","export default {\n wrapper: \"fixed inset-0 flex z-50\",\n overlay: {\n base: \"fixed inset-0 transition-opacity\",\n background: \"bg-gray-200/75 dark:bg-gray-800/75\",\n // Syntax for `<TransitionRoot>` component https://headlessui.com/v1/vue/transition#basic-example\n transition: {\n enter: \"ease-in-out duration-500\",\n enterFrom: \"opacity-0\",\n enterTo: \"opacity-100\",\n leave: \"ease-in-out duration-500\",\n leaveFrom: \"opacity-100\",\n leaveTo: \"opacity-0\"\n }\n },\n base: \"relative flex-1 flex flex-col w-full focus:outline-none\",\n background: \"bg-white dark:bg-gray-900\",\n ring: \"\",\n rounded: \"\",\n padding: \"\",\n shadow: \"shadow-xl\",\n width: \"w-screen max-w-md\",\n height: \"h-screen max-h-96\",\n translate: {\n base: \"translate-x-0\",\n left: \"-translate-x-full rtl:translate-x-full\",\n right: \"translate-x-full rtl:-translate-x-full\",\n top: \"-translate-y-full\",\n bottom: \"translate-y-full\"\n },\n // Syntax for `<TransitionRoot>` component https://headlessui.com/v1/vue/transition#basic-example\n transition: {\n enter: \"transform transition ease-in-out duration-300\",\n leave: \"transform transition ease-in-out duration-200\"\n }\n};\n","<template>\n\t<span\n\t\tclass=\"text-gray-700 rounded-full relative w-10 h-10 bg-neutral-50 hover:bg-gray-200 flex items-center justify-center\"\n\t>\n\t\t<img\n\t\t\tv-if=\"$auth.getAvatar\"\n\t\t\tclass=\"rounded-full bg-gray-500 object-cover w-full h-full\"\n\t\t\t:src=\"$auth.getAvatar\"\n\t\t\talt=\"profile photo\"\n\t\t/>\n\n\t\t<UIcon\n\t\t\tv-else\n\t\t\tname=\"heroicons:building-office\"\n\t\t\tsize=\"22\"\n\t\t\tclass=\"\"\n\t\t/>\n\t</span>\n</template>\n","<template>\n\t<div class=\"relative\">\n\t\t<component\n\t\t\t:is=\"tag\"\n\t\t\tclass=\"focus:outline-none\"\n\t\t\ttype=\"button\"\n\t\t\t:class=\"buttonClass\"\n\t\t\t@click.stop=\"toggleMenu()\"\n\t\t>\n\t\t\t<slot />\n\t\t</component>\n\n\t\t<div\n\t\t\tv-if=\"showMenu\"\n\t\t\tref=\"dropdown\"\n\t\t\t:class=\"[position, menuClass]\"\n\t\t\t:style=\"styles\"\n\t\t>\n\t\t\t<slot name=\"dropdown\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nconst props = defineProps({\n\tstyles: {\n\t\ttype: Object,\n\t\tdefault() {\n\t\t\treturn {}\n\t\t},\n\t},\n\tposition: {\n\t\ttype: String,\n\t\tdefault: 'bottom-center',\n\t},\n\tbuttonClass: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tmenuClass: {\n\t\ttype: String,\n\t\tdefault: 'dropdown',\n\t},\n\tcloseOnOutsideClick: {\n\t\ttype: [Boolean],\n\t\tdefault: true,\n\t},\n\tbtnClass: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\ttag: {\n\t\ttype: String,\n\t\tdefault: 'button',\n\t},\n\tshowOpen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst emit = defineEmits(['update'])\n\nconst showMenu = ref(false)\nconst dropdown = ref(null)\n\nwatchEffect(() => {\n\tif (!dropdown.value) return\n\n\tif (props.closeOnOutsideClick) {\n\t\tdocument.addEventListener('click', clickHandler)\n\t}\n\n\tif (!props.showOpen) return\n\temit('update', showMenu.value)\n})\n\nonBeforeUnmount(() => {\n\tdocument.removeEventListener('click', clickHandler)\n})\n\nconst toggleMenu = () => {\n\tif (!showMenu.value) {\n\t\tdocument.body.click()\n\t}\n\tshowMenu.value = !showMenu.value\n}\n\nconst clickHandler = (event) => {\n\tif (!dropdown.value) return\n\n\tconst { target } = event\n\n\tif (!dropdown.value.contains(target)) {\n\t\tshowMenu.value = false\n\t}\n}\n</script>\n\n<style lang=\"postcss\">\n.dropdown {\n\ttop: calc(100% + 10px);\n\t@apply absolute;\n\n\t&.top {\n\t\tbottom: 100%;\n\t}\n\n\t&.left {\n\t\tleft: 0;\n\t}\n\n\t&.right {\n\t\tright: 0;\n\t}\n\n\t&.center {\n\t\ttop: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t\tleft: 50%;\n\t}\n\n\t&.bottom-center {\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t}\n\n\t&.right-center {\n\t\t@apply smm:-top-16 lg:top-5 3xl:-top-16 smm:right-0 lg:left-0 3xl:left-3/4;\n\t}\n}\n</style>\n","<script setup>\nconst { $repository } = useNuxtApp()\nconst { locale, locales } = useI18n()\nconst route = useRoute()\nconst localeRoute = useLocaleRoute()\nconst getRouteBaseName = useRouteBaseName()\n\nconst emit = defineEmits(['close', 'back'])\n\nconst loadingChangeLocale = ref(false)\n\nconst activeClass = computed(() => (type) => locale.value === type && 'bg-primary-500 bg-opacity-5 text-primary-700')\n\nconst changeLocale = async (type) => {\n\tloadingChangeLocale.value = true\n\tawait $repository.v3.hire.setLanguage({ language: type })\n\tloadingChangeLocale.value = false\n\n\tconst name = getRouteBaseName(route)\n\tconst toRoute = localeRoute(name, type)\n\tconst { origin, search, hash } = window.location\n\n\twindow.location = origin + toRoute.path + search + hash\n}\n</script>\n\n<template>\n\t<div class=\"relative\">\n\t\t<div\n\t\t\tv-if=\"loadingChangeLocale\"\n\t\t\tclass=\"flex items-center justify-center absolute inset-0 bg-white bg-opacity-70\"\n\t\t>\n\t\t\t<UCircleLoader\n\t\t\t\t:size=\"24\"\n\t\t\t\tborder-width=\"border-3\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"p-3 border-b flex items-center\">\n\t\t\t<a\n\t\t\t\thref=\"#\"\n\t\t\t\tclass=\"-m-2 mr-0.5 p-2 leading-none rounded-full hover:bg-primary-500 hover:bg-opacity-10\"\n\t\t\t\t@click.prevent.stop=\"emit('back')\"\n\t\t\t>\n\t\t\t\t<UIcon\n\t\t\t\t\tname=\"material-symbols:arrow-back-rounded\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t/>\n\t\t\t</a>\n\t\t\t<span class=\"font-semibold\">{{ $t('Selecciona tu idioma') }}</span>\n\t\t</div>\n\n\t\t<ul class=\"space-y-0.5\">\n\t\t\t<li\n\t\t\t\tv-for=\"(lang, index) in locales\"\n\t\t\t\t:key=\"index\"\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\t:href=\"`/${lang.code}`\"\n\t\t\t\t\tclass=\"flex items-center p-3 text-sm hover:bg-primary-50\"\n\t\t\t\t\t:class=\"activeClass(lang.code)\"\n\t\t\t\t\t@click.prevent=\"changeLocale(lang.code)\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"-my-1 mr-2 text-lg\">\n\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t:name=\"lang.icon\"\n\t\t\t\t\t\t\tclass=\"overflow-hidden rounded-full\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{{ lang.name }}</span>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</template>\n","<script setup>\nimport LanguageMenu from '~/components/layout/header/user-menu/LanguageMenu.vue'\n\nconst { t: $t, locale, locales } = useI18n()\nconst { $auth } = useNuxtApp()\n\nconst showLanguageMenu = ref(false)\n\nconst getName = computed(() => {\n\tif ($auth.user.name || $auth.user.last_name) {\n\t\treturn `${$auth.user.name} ${$auth.user.last_name}`\n\t}\n\treturn $auth.user.business.name\n})\n\nconst currentLanguage = computed(() => {\n\treturn locales.value.find((l) => l.code === locale.value)?.name\n})\n\nconst closeMenu = () => {\n\tshowLanguageMenu.value = false\n\tdocument.body.click()\n}\n\nconst changeLanguage = () => {\n\tshowLanguageMenu.value = true\n}\n</script>\n\n<template>\n\t<div class=\"overflow-auto\">\n\t\t<div v-if=\"!showLanguageMenu\">\n\t\t\t<div class=\"border-b p-3\">\n\t\t\t\t<div class=\"font-semibold line-clamp-2 mb-1\">\n\t\t\t\t\t{{ getName }}\n\t\t\t\t</div>\n\t\t\t\t<span class=\"text-[12px] truncate block\">{{ $auth.user.email }}</span>\n\t\t\t</div>\n\n\t\t\t<ul class=\"space-y-0.5\">\n\t\t\t\t<template v-if=\"$auth?.user?.wizard?.completed\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\t\tto=\"/account/plan\"\n\t\t\t\t\t\t\tclass=\"flex items-center p-3 hover:bg-primary-50\"\n\t\t\t\t\t\t\t@click=\"closeMenu\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\t\tname=\"mdi:card-bulleted-outline\"\n\t\t\t\t\t\t\t\t\tclass=\"mr-1.5 opacity-60\"\n\t\t\t\t\t\t\t\t\tsize=\"17\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>{{ $t('Mi plan') }}</span>\n\t\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\t\tto=\"/account/company\"\n\t\t\t\t\t\t\tclass=\"flex items-center p-3 hover:bg-primary-50\"\n\t\t\t\t\t\t\t@click=\"closeMenu\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\t\tname=\"mdi:smart-card-outline\"\n\t\t\t\t\t\t\t\t\tclass=\"mr-1.5 opacity-60\"\n\t\t\t\t\t\t\t\t\tsize=\"17\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>{{ $t('Perfil') }}</span>\n\t\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\t\tto=\"/account/billing\"\n\t\t\t\t\t\t\tclass=\"flex items-center p-3 hover:bg-primary-50\"\n\t\t\t\t\t\t\t@click=\"closeMenu\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\t\tname=\"mdi:credit-card-outline\"\n\t\t\t\t\t\t\t\t\tclass=\"mr-1.5 opacity-60\"\n\t\t\t\t\t\t\t\t\tsize=\"17\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>{{ $t('Facturación') }}</span>\n\t\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t\t</li>\n\t\t\t\t</template>\n\t\t\t\t<li>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"/lang/\"\n\t\t\t\t\t\tclass=\"flex items-center p-3 hover:bg-primary-50 justify-between\"\n\t\t\t\t\t\t@click.prevent.stop=\"changeLanguage\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"flex items-center\">\n\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\tname=\"material-symbols:language\"\n\t\t\t\t\t\t\t\tclass=\"mr-1.5 opacity-60\"\n\t\t\t\t\t\t\t\tsize=\"17\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span>{{ $t('Idioma') }}: {{ currentLanguage }}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\tname=\"material-symbols:arrow-forward-ios-rounded\"\n\t\t\t\t\t\t\t\tsize=\"12\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\tto=\"/logout\"\n\t\t\t\t\t\tclass=\"flex items-center p-3 hover:bg-primary-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"flex items-center\">\n\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\tname=\"material-symbols:logout\"\n\t\t\t\t\t\t\t\tclass=\"mr-1.5 opacity-60\"\n\t\t\t\t\t\t\t\tsize=\"17\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>{{ $t('Cerrar sesión') }}</span>\n\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<LanguageMenu\n\t\t\tv-else\n\t\t\t@close=\"closeMenu\"\n\t\t\t@back=\"showLanguageMenu = false\"\n\t\t/>\n\t</div>\n</template>\n","<template>\n <TransitionRoot as=\"template\" :appear=\"appear\" :show=\"isOpen\" @after-leave=\"onAfterLeave\">\n <HDialog :class=\"[ui.wrapper, { 'justify-end': side === 'right' }, { 'items-end': side === 'bottom' }]\" v-bind=\"attrs\" @close=\"close\">\n <TransitionChild v-if=\"overlay\" as=\"template\" :appear=\"appear\" v-bind=\"ui.overlay.transition\" :class=\"ui.overlay.transition.enterFrom\">\n <div :class=\"[ui.overlay.base, ui.overlay.background]\" />\n </TransitionChild>\n\n <TransitionChild as=\"template\" :appear=\"appear\" v-bind=\"transitionClass\" :class=\"transitionClass.enterFrom\">\n <HDialogPanel :class=\"[ui.base, sideType === 'horizontal' ? [ui.width, 'h-full'] : [ui.height, 'w-full'], ui.background, ui.ring, ui.rounded, ui.padding, ui.shadow]\">\n <slot />\n </HDialogPanel>\n </TransitionChild>\n </HDialog>\n </TransitionRoot>\n</template>\n\n<script>\nimport { computed, toRef, defineComponent } from \"vue\";\nimport { Dialog as HDialog, DialogPanel as HDialogPanel, TransitionRoot, TransitionChild, provideUseId } from \"@headlessui/vue\";\nimport { useUI } from \"../../composables/useUI\";\nimport { mergeConfig } from \"../../utils\";\nimport appConfig from \"#build/app.config\";\nimport { slideover } from \"#ui/ui.config\";\nimport { useId } from \"#imports\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.slideover, slideover);\nexport default defineComponent({\n components: {\n HDialog,\n HDialogPanel,\n TransitionRoot,\n TransitionChild\n },\n inheritAttrs: false,\n props: {\n modelValue: {\n type: Boolean,\n default: false\n },\n appear: {\n type: Boolean,\n default: false\n },\n side: {\n type: String,\n default: \"right\",\n validator: (value) => [\"left\", \"right\", \"top\", \"bottom\"].includes(value)\n },\n overlay: {\n type: Boolean,\n default: true\n },\n transition: {\n type: Boolean,\n default: true\n },\n preventClose: {\n type: Boolean,\n default: false\n },\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n emits: [\"update:modelValue\", \"close\", \"close-prevented\", \"after-leave\"],\n setup(props, { emit }) {\n const { ui, attrs } = useUI(\"slideover\", toRef(props, \"ui\"), config, toRef(props, \"class\"));\n const isOpen = computed({\n get() {\n return props.modelValue;\n },\n set(value) {\n emit(\"update:modelValue\", value);\n }\n });\n const transitionClass = computed(() => {\n if (!props.transition) {\n return {};\n }\n let enterFrom, leaveTo;\n switch (props.side) {\n case \"left\":\n enterFrom = ui.value.translate.left;\n leaveTo = ui.value.translate.left;\n break;\n case \"right\":\n enterFrom = ui.value.translate.right;\n leaveTo = ui.value.translate.right;\n break;\n case \"top\":\n enterFrom = ui.value.translate.top;\n leaveTo = ui.value.translate.top;\n break;\n case \"bottom\":\n enterFrom = ui.value.translate.bottom;\n leaveTo = ui.value.translate.bottom;\n break;\n default:\n enterFrom = ui.value.translate.right;\n leaveTo = ui.value.translate.right;\n }\n return {\n ...ui.value.transition,\n enterFrom,\n enterTo: ui.value.translate.base,\n leaveFrom: ui.value.translate.base,\n leaveTo\n };\n });\n const sideType = computed(() => {\n switch (props.side) {\n case \"left\":\n return \"horizontal\";\n case \"right\":\n return \"horizontal\";\n case \"top\":\n return \"vertical\";\n case \"bottom\":\n return \"vertical\";\n default:\n return \"right\";\n }\n });\n function close(value) {\n if (props.preventClose) {\n emit(\"close-prevented\");\n return;\n }\n isOpen.value = value;\n emit(\"close\");\n }\n const onAfterLeave = () => {\n emit(\"after-leave\");\n };\n provideUseId(() => useId());\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n isOpen,\n transitionClass,\n sideType,\n onAfterLeave,\n close\n };\n }\n});\n</script>\n","<template>\n\t<div class=\"flex justify-between rounded shadow pr-5 bg-white hover:bg-gray-200 mb-20\">\n\t\t<div\n\t\t\tclass=\"w-1 bg-purple-600\"\n\t\t\t:style=\"{ height: 'unset' }\"\n\t\t/>\n\n\t\t<div class=\"flex-1 flex justify-between items-center\">\n\t\t\t<div class=\"py-3 px-5 space-y-1.5 text-primary-500 w-full\">\n\t\t\t\t<div class=\"bg-gray-300 h-5 w-full\" />\n\t\t\t\t<div class=\"bg-gray-300 h-2 w-full\" />\n\t\t\t\t<div class=\"bg-gray-300 h-2 w-4/5\" />\n\t\t\t\t<div class=\"bg-gray-300 h-2 w-2/5\" />\n\n\t\t\t\t<div class=\"bg-gray-300 h-2 w-1/5\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'SkeletonNotification',\n}\n</script>\n","<template>\n <div :class=\"ui.wrapper\" v-bind=\"attrs\">\n <slot />\n\n <span v-if=\"show\" :class=\"chipClass\">\n <slot name=\"content\">\n {{ text }}\n </slot>\n </span>\n </div>\n</template>\n\n<script>\nimport { defineComponent, computed, toRef } from \"vue\";\nimport { twJoin } from \"tailwind-merge\";\nimport { useUI } from \"../../composables/useUI\";\nimport { mergeConfig } from \"../../utils\";\nimport appConfig from \"#build/app.config\";\nimport { chip } from \"#ui/ui.config\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.chip, chip);\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n size: {\n type: String,\n default: () => config.default.size,\n validator(value) {\n return Object.keys(config.size).includes(value);\n }\n },\n color: {\n type: String,\n default: () => config.default.color,\n validator(value) {\n return [\"gray\", ...appConfig.ui.colors].includes(value);\n }\n },\n position: {\n type: String,\n default: () => config.default.position,\n validator(value) {\n return Object.keys(config.position).includes(value);\n }\n },\n text: {\n type: [String, Number],\n default: null\n },\n inset: {\n type: Boolean,\n default: () => config.default.inset\n },\n show: {\n type: Boolean,\n default: true\n },\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props) {\n const { ui, attrs } = useUI(\"chip\", toRef(props, \"ui\"), config, toRef(props, \"class\"));\n const chipClass = computed(() => {\n return twJoin(\n ui.value.base,\n ui.value.size[props.size],\n ui.value.position[props.position],\n props.inset ? null : ui.value.translate[props.position],\n ui.value.background.replaceAll(\"{color}\", props.color)\n );\n });\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n chipClass\n };\n }\n});\n</script>\n","<template>\n\t<UDropdown\n\t\t:items=\"listOptions\"\n\t\t:ui=\"{ item: { disabled: 'cursor-default opacity-100' } }\"\n\t>\n\t\t<UChip :show=\"isActiveOrder\">\n\t\t\t<UButton\n\t\t\t\tcolor=\"gray\"\n\t\t\t\tsize=\"xs\"\n\t\t\t\ticon=\"i-ic-outline-filter-alt\"\n\t\t\t>\n\t\t\t\t{{ $t('Ordenar') }}\n\t\t\t</UButton>\n\t\t</UChip>\n\n\t\t<template #title=\"{ item }\">\n\t\t\t<span class=\"flex items-center w-full text-neutral-700\">\n\t\t\t\t<UIcon\n\t\t\t\t\t:name=\"item.icon\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"mr-2\"\n\t\t\t\t/>\n\t\t\t\t<span class=\"font-medium\">{{ item.label }}</span>\n\t\t\t</span>\n\t\t</template>\n\n\t\t<template #item=\"{ item }\">\n\t\t\t<span class=\"flex items-center justify-between w-full\">\n\t\t\t\t<span :class=\"item.isActive && 'text-primary-500'\">{{ item.label }}</span>\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"item.isActive\"\n\t\t\t\t\tclass=\"w-1.5 h-1.5 rounded-full block bg-primary-500\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</template>\n\t</UDropdown>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useNotificationsStore } from '~/store/notifications'\n\nexport default {\n\tname: 'FilterNotifications',\n\tdata: () => ({\n\t\tclassOption: 'text-xs flex justify-between items-center rounded hover:bg-primary-50 px-2.5 py-1.5',\n\t\torderByDate: [\n\t\t\t{ value: 'desc', label: 'Descendiente' },\n\t\t\t{ value: 'asc', label: 'Ascendiente' },\n\t\t],\n\t\torderByStatus: [\n\t\t\t{ value: 0, label: 'No leÃdas' },\n\t\t\t{ value: 1, label: 'LeÃdas' },\n\t\t],\n\t}),\n\tcomputed: {\n\t\t...mapState(useNotificationsStore, ['filters']),\n\t\tisActiveOrder() {\n\t\t\treturn this.filters.order_by_date !== null || this.filters.read !== null\n\t\t},\n\t\tlistOptions() {\n\t\t\treturn [\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'desc',\n\t\t\t\t\t\tlabel: 'Por fecha',\n\t\t\t\t\t\tslot: 'title',\n\t\t\t\t\t\ticon: 'i-material-symbols-calendar-today-outline',\n\t\t\t\t\t\tdisabled: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'desc',\n\t\t\t\t\t\tlabel: 'Descendiente',\n\t\t\t\t\t\tisActive: this.filters.order_by_date === 'desc',\n\t\t\t\t\t\tclick: () => this.changeFilter('order_by_date', 'desc'),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'asc',\n\t\t\t\t\t\tlabel: 'Ascendiente',\n\t\t\t\t\t\tisActive: this.filters.order_by_date === 'asc',\n\t\t\t\t\t\tclick: () => this.changeFilter('order_by_date', 'asc'),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\tlabel: 'Estado',\n\t\t\t\t\t\tslot: 'title',\n\t\t\t\t\t\ticon: 'i-ic-twotone-check-circle-outline',\n\t\t\t\t\t\tdisabled: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\tlabel: 'No leÃdas',\n\t\t\t\t\t\tisActive: this.filters.read === 0,\n\t\t\t\t\t\tclick: () => this.changeFilter('read', 0),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t\tlabel: 'LeÃdas',\n\t\t\t\t\t\tisActive: this.filters.read === 1,\n\t\t\t\t\t\tclick: () => this.changeFilter('read', 1),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t]\n\t\t},\n\t},\n\tmethods: {\n\t\tchangeFilter(type, value) {\n\t\t\tconst filters = { ...this.filters }\n\n\t\t\tif (filters[type] === value) {\n\t\t\t\tfilters[type] = null\n\t\t\t\tthis.emitChange(filters)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tfilters[type] = value\n\t\t\tthis.emitChange(filters)\n\t\t},\n\t\temitChange(filters) {\n\t\t\tthis.$emit('change', filters)\n\t\t},\n\t},\n}\n</script>\n","<template>\n\t<div class=\"space-y-3\">\n\t\t<div class=\"flex justify-center\">\n\t\t\t<span class=\"rounded-full bg-gray-100 p-4 text-black text-opacity-50\">\n\t\t\t\t<UIcon\n\t\t\t\t\tname=\"uil:bell\"\n\t\t\t\t\tsize=\"40\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div class=\"text-center text-black\">\n\t\t\t<p class=\"text-base font-semibold\">\n\t\t\t\t{{ $t('No tienes notificaciones') }}\n\t\t\t</p>\n\t\t\t<span class=\"text-sm\">\n\t\t\t\t{{ $t('Las notificaciones nuevas aparecerán aquÃ') }}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'EmptyNotifications',\n}\n</script>\n","<template>\n\t<a\n\t\tclass=\"flex justify-between rounded border border-l-0\"\n\t\t:class=\"[\n\t\t\tnotification.read_at == null ? 'bg-purple-600 bg-opacity-15 hover:bg-opacity-20' : 'bg-white hover:bg-gray-200',\n\t\t]\"\n\t\t:href=\"getRoute\"\n\t\t@click.prevent=\"handledNotification()\"\n\t>\n\t\t<div\n\t\t\tclass=\"w-1 bg-purple-600\"\n\t\t\t:style=\"{ height: 'unset' }\"\n\t\t/>\n\n\t\t<div class=\"flex justify-between flex-1 items-center py-3 px-5\">\n\t\t\t<div class=\"leading-tight space-y-1.5\">\n\t\t\t\t<p class=\"font-semibold block text-base\">\n\t\t\t\t\t{{ notification.subject }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"text-sm\">{{ notification.content }}</p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"text-xs font-medium\"\n\t\t\t\t\t:style=\"{ color: '#8E8B98' }\"\n\t\t\t\t>\n\t\t\t\t\t{{ getDate }}\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div class=\"flex items-center space-x-5\">\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"notification.read_at == null\"\n\t\t\t\t\tclass=\"w-2 h-2 rounded-full bg-purple-600\"\n\t\t\t\t/>\n\n\t\t\t\t<button @click.stop.prevent=\"changeAnchorNotification(notification.id)\">\n\t\t\t\t\t<UIcon\n\t\t\t\t\t\tv-if=\"notification.is_anchored\"\n\t\t\t\t\t\tname=\"material-symbols:push-pin\"\n\t\t\t\t\t\tsize=\"20\"\n\t\t\t\t\t/>\n\t\t\t\t\t<UIcon\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tname=\"material-symbols:push-pin-outline\"\n\t\t\t\t\t\tsize=\"20\"\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</a>\n</template>\n\n<script setup>\nimport { useNotificationsStore } from '~/store/notifications'\n\nconst { $date, $tracking } = useNuxtApp()\nconst router = useRouter()\nconst localePath = useLocalePath()\nconst { setReadNotification, changeAnchorNotification } = useNotificationsStore()\nconst notificationsStore = useNotificationsStore()\n\nconst props = defineProps({\n\tnotification: {\n\t\ttype: Object,\n\t\trequired: true,\n\t},\n})\n\nconst emit = defineEmits(['interaction'])\n\nconst getRoute = computed(() => {\n\treturn props.notification.url\n})\n\nconst getDate = computed(() => {\n\treturn $date().to($date(props.notification.created_at))\n})\n\nconst handledNotification = () => {\n\trouter.push(localePath(getRoute.value))\n\temit('interaction', props.notification)\n\tsetReadNotification(props.notification)\n\tnotificationsStore.isOpenList = false\n\t$tracking.notifications.backFromNotificationsEvent(props.notification)\n}\n</script>\n","<template>\n\t<div class=\"w-full h-full flex flex-col notification\">\n\t\t<div class=\"flex-shrink-0\">\n\t\t\t<div class=\"text-right px-4 pt-4 block sm:hidden\">\n\t\t\t\t<button\n\t\t\t\t\tclass=\"inline-block focus:outline-none\"\n\t\t\t\t\t@click=\"$emit('close')\"\n\t\t\t\t>\n\t\t\t\t\t<UIcon\n\t\t\t\t\t\tname=\"uil:multiply\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"px-4 flex items-center justify-between h-16\">\n\t\t\t\t<span class=\"font-semibold text-base\">\n\t\t\t\t\t{{ $t('Notificaciones') }}\n\t\t\t\t</span>\n\n\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t<!-- <SettingsNotifications />-->\n\t\t\t\t\t<FilterNotifications\n\t\t\t\t\t\tv-if=\"notifications.length > 0 || filterActive\"\n\t\t\t\t\t\t@change=\"changeFilters\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div\n\t\t\tref=\"notifications\"\n\t\t\tclass=\"overflow-y-auto flex-1\"\n\t\t>\n\t\t\t<ul v-if=\"notifications.length\">\n\t\t\t\t<li\n\t\t\t\t\tv-for=\"(notification, index) in notifications\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t>\n\t\t\t\t\t<ItemNotification\n\t\t\t\t\t\t:notification=\"notification\"\n\t\t\t\t\t\tclass=\"mb-1\"\n\t\t\t\t\t\t@click=\"notificationInteraction\"\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t</ul>\n\n\t\t\t<ul v-if=\"loadingMore\">\n\t\t\t\t<li>\n\t\t\t\t\t<SkeletonNotification />\n\t\t\t\t</li>\n\t\t\t</ul>\n\n\t\t\t<div\n\t\t\t\tv-if=\"notifications.length === 0 && !loadingMore\"\n\t\t\t\tclass=\"flex items-center justify-center flex-1 h-full\"\n\t\t\t>\n\t\t\t\t<EmptyNotifications />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from 'pinia'\nimport { useNotificationsStore } from '~/store/notifications'\nimport SkeletonNotification from '~/components/notifications/SkeletonNotification.vue'\nimport FilterNotifications from '~/components/notifications/FilterNotifications.vue'\nimport EmptyNotifications from '~/components/notifications/EmptyNotifications.vue'\nimport ItemNotification from '~/components/notifications/ItemNotification.vue'\n// import SettingsNotifications from '~/components/notifications/SettingsNotifications.vue'\n\nexport default {\n\tname: 'ListNotifications',\n\tcomponents: {\n\t\t// SettingsNotifications,\n\t\tSkeletonNotification,\n\t\tFilterNotifications,\n\t\tEmptyNotifications,\n\t\tItemNotification,\n\t},\n\tdata: () => ({\n\t\tloadingMore: false,\n\t\tfilterActive: false,\n\t}),\n\tcomputed: {\n\t\t...mapState(useNotificationsStore, ['notifications', 'pagination', 'filters']),\n\t},\n\tmounted() {\n\t\tthis.$refs.notifications.addEventListener('scroll', this.onScroll)\n\t\tif (this.notifications.length) {\n\t\t\tthis.filterActive = true\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(useNotificationsStore, ['fetchNotifications', 'SET_STATE_NOTIFICATIONS']),\n\t\tasync getMoreNotifications(newParams = {}) {\n\t\t\tthis.loadingMore = true\n\t\t\tconst params = {\n\t\t\t\tpage: this.pagination.current_page + 1,\n\t\t\t\t...this.filters,\n\t\t\t\t...newParams,\n\t\t\t}\n\t\t\tawait this.fetchNotifications(params)\n\t\t\tthis.loadingMore = false\n\t\t},\n\t\tonScroll() {\n\t\t\tconst { scrollTop, clientHeight, scrollHeight } = this.$refs.notifications\n\t\t\tconst scrollTopBox = Math.round(scrollTop + clientHeight)\n\n\t\t\tif (scrollTopBox >= scrollHeight) {\n\t\t\t\tthis.getScrollNotifications()\n\t\t\t}\n\n\t\t\tthis.notificationInteraction()\n\t\t},\n\t\tasync getScrollNotifications() {\n\t\t\tconst { current_page, last_page } = this.pagination\n\t\t\tif (this.loadingMore || current_page === last_page) return\n\t\t\tawait this.getMoreNotifications()\n\t\t},\n\t\tsetIsFilter() {\n\t\t\tif (Object.values(this.filters).filter((item) => item).length > 0) {\n\t\t\t\tthis.filterActive = true\n\t\t\t}\n\t\t},\n\t\tchangeFilters(filters) {\n\t\t\tthis.loadingMore = true\n\n\t\t\tthis.SET_STATE_NOTIFICATIONS({ type: 'filters', value: filters })\n\t\t\tthis.setIsFilter()\n\n\t\t\tthis.SET_STATE_NOTIFICATIONS({ type: 'notifications', value: [] })\n\t\t\tthis.SET_STATE_NOTIFICATIONS({\n\t\t\t\ttype: 'pagination',\n\t\t\t\tvalue: { ...this.pagination, current_page: 1 },\n\t\t\t})\n\t\t\tthis.getMoreNotifications({ page: 1 })\n\t\t},\n\t\tnotificationInteraction() {\n\t\t\tthis.$emit('interaction', true)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"postcss\">\n.notification {\n\t.box-shadow {\n\t\tbox-shadow:\n\t\t\t0px 0px 2px rgba(42, 30, 79, 0.25),\n\t\t\t0px 0px 4px rgba(42, 30, 79, 0.08),\n\t\t\t0px 4px 32px rgba(42, 30, 79, 0.16);\n\t}\n}\n</style>\n","<template>\n\t<div class=\"flex items-center\">\n\t\t<button\n\t\t\tclass=\"text-gray-700 rounded-full focus:outline-none focus:shadow-outline relative w-10 h-10 bg-neutral-50 hover:bg-gray-200 flex items-center justify-center\"\n\t\t\taria-label=\"Notifications\"\n\t\t\t@click.stop=\"notificationsStore.isOpenList = !notificationsStore.isOpenList\"\n\t\t>\n\t\t\t<UIcon\n\t\t\t\tname=\"uil:bell\"\n\t\t\t\tsize=\"22\"\n\t\t\t/>\n\n\t\t\t<span class=\"absolute -top-1.5 left-5\">\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"unReadCount > 0\"\n\t\t\t\t\tstyle=\"min-width: 18px\"\n\t\t\t\t\tclass=\"h-5 px-1 bg-red-600 rounded-full flex items-center justify-center\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"text-xs text-white font-semibold\">\n\t\t\t\t\t\t{{ getCountNotification }}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</button>\n\n\t\t<USlideover v-model=\"notificationsStore.isOpenList\">\n\t\t\t<ListNotifications\n\t\t\t\t@close=\"notificationsStore.isOpenList = false\"\n\t\t\t\t@interaction=\"hasInteraction\"\n\t\t\t/>\n\t\t</USlideover>\n\t</div>\n</template>\n\n<script setup>\nimport { useNotificationsStore } from '~/store/notifications'\nimport ListNotifications from '~/components/notifications/ListNotifications.vue'\n\nconst { $tracking } = useNuxtApp()\nconst { unReadCount } = storeToRefs(useNotificationsStore())\nconst { fetchNotifications } = useNotificationsStore()\nconst notificationsStore = useNotificationsStore()\n\n// const isOpenBoxNotifications = ref(false)\n\nconst getCountNotification = computed(() => {\n\treturn unReadCount.value > 99 ? '99+' : unReadCount.value\n})\n\nconst openNotification = () => {\n\t$tracking.storage.set('notifications', { startedAt: new Date() })\n}\n\nconst hasInteraction = () => {\n\t$tracking.storage.set('notifications', { noInteraction: false })\n}\n\nconst closeNotification = () => {\n\t$tracking.notifications.closeBoxNotifications(unReadCount.value)\n}\n\nwatch(notificationsStore.isOpenList, (value) => {\n\tif (value) {\n\t\topenNotification()\n\t} else {\n\t\tcloseNotification()\n\t}\n})\n\nonMounted(() => {\n\tfetchNotifications()\n\t// fetchNotificationPreferences()\n})\n</script>\n","<template>\n\t<header\n\t\tid=\"hire-navbar\"\n\t\tclass=\"bg-white border-b border-gray-300 w-full\"\n\t>\n\t\t<div class=\"flex justify-between items-stretch gap-3 px-4 lg:px-6\">\n\t\t\t<NuxtLinkLocale\n\t\t\t\tto=\"/\"\n\t\t\t\tclass=\"flex mr-3 items-center justify-center\"\n\t\t\t>\n\t\t\t\t<ULogo\n\t\t\t\t\ttype=\"hire\"\n\t\t\t\t\tclass=\"w-36\"\n\t\t\t\t/>\n\t\t\t</NuxtLinkLocale>\n\n\t\t\t<nav\n\t\t\t\tv-if=\"$auth?.user?.wizard?.completed\"\n\t\t\t\tclass=\"hidden lg:block flex-1 justify-between\"\n\t\t\t>\n\t\t\t\t<ul class=\"h-full flex items-stretch\">\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-for=\"link in navLinks\"\n\t\t\t\t\t\t:key=\"link.path\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\t\tv-slot=\"{ isActive }\"\n\t\t\t\t\t\t\t:to=\"link.path\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"h-full px-5 pt-px flex items-center justify-center text-sm border-t-3\"\n\t\t\t\t\t\t\t\t:class=\"\n\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t? 'bg-primary-50 font-semibold text-primary-700 border-primary-700'\n\t\t\t\t\t\t\t\t\t\t: 'border-white text-gray-500 '\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<UIcon\n\t\t\t\t\t\t\t\t\t:name=\"link.icon\"\n\t\t\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\t\t\tclass=\"mr-1.5\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{{ link.label }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\n\t\t\t<div class=\"flex items-center gap-4\">\n\t\t\t\t<!--\t\t\t\t<ActionsMenuDesktop v-if=\"$auth?.user?.wizard?.completed\" />-->\n\t\t\t\t<NotificationMenu v-if=\"$auth?.user?.wizard?.completed\" />\n\t\t\t\t<UserMenu />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<nav\n\t\t\t\tv-if=\"$auth?.user?.wizard?.completed\"\n\t\t\t\tclass=\"lg:hidden flex-1 flex justify-stretch\"\n\t\t\t>\n\t\t\t\t<ul class=\"h-full flex-1 flex items-stretch justify-stretch\">\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-for=\"link in navLinks\"\n\t\t\t\t\t\t:key=\"link.path\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<NuxtLinkLocale\n\t\t\t\t\t\t\tv-slot=\"{ isActive }\"\n\t\t\t\t\t\t\t:to=\"link.path\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"h-full pt-3 pb-3 flex items-center justify-center text-xs text-gray-400\"\n\t\t\t\t\t\t\t\t:class=\"\n\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t? 'bg-primary-50 font-semibold text-primary-700 border-t-3 border-primary-700'\n\t\t\t\t\t\t\t\t\t\t: 'border border-gray-100'\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ link.label }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</NuxtLinkLocale>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</header>\n</template>\n\n<script setup>\nimport UserMenu from '~/components/layout/header/user-menu/UserMenu.vue'\nimport NotificationMenu from '~/components/layout/header/NotificationMenu.vue'\n\ndefineOptions({ name: 'HeaderApp' })\n\nconst { t: $t } = useI18n()\n\nconst navLinks = computed(() => {\n\treturn [\n\t\t{\n\t\t\tlabel: $t('Mis búsquedas'),\n\t\t\tpath: '/',\n\t\t\ticon: 'heroicons:briefcase',\n\t\t},\n\t\t{\n\t\t\tlabel: $t('Buscar candidatos'),\n\t\t\tpath: '/candidates',\n\t\t\ticon: 'heroicons:magnifying-glass',\n\t\t},\n\t\t{\n\t\t\tlabel: $t('Mis usuarios'),\n\t\t\tpath: '/users',\n\t\t\ticon: 'heroicons:user-group',\n\t\t},\n\t]\n})\n</script>\n"],"file":"_nuxt/Dn7XgPG7.js"}