{"version":3,"file":"useGlobalHead-4ab088f4-40e583f9.js","sources":["../../src/router/useGlobalHead.ts"],"sourcesContent":["import { useRouter } from 'vue-router'\nimport isObject from 'lodash/isObject'\nimport { useHead } from '@unhead/vue'\nimport { useGlobalStore } from '@/stores/global'\nimport i18n from '@/i18n'\nimport { useServiceTemplatesStore } from '@/stores/serviceTemplates'\nimport { useGeolocationStore } from '@/stores/geolocation'\nimport { isEmpty } from 'lodash'\nimport { useSearchFiltersStore } from '@/stores/searchFilters'\nimport { useCustomRouter } from './useCustomRouter'\nimport { setFocusForAccessibility } from '@core/plugins/accessibility/accessibility'\nimport { useLanguage } from '@core/composables/language/useLanguage'\n\nexport function useSeoHead() {\n const router = useRouter()\n const { language } = useLanguage()\n\n const setGlobalTitle = (readForAccessibility: boolean = true) => {\n if (router) {\n if (isObject(router.currentRoute.value.meta.title)) {\n const titleText = useCustomRouter().inResultPage()\n ? getSearchResultsTitle(false)\n : useCustomRouter().inHomePage()\n ? getBaseTitle()\n : getBaseTitle() +\n ' - ' +\n router.currentRoute.value.meta.title[language.value].replace('/', ' ')\n\n useHead({\n title: titleText,\n meta: [\n {\n name: 'description',\n content:\n router.currentRoute.value.meta.description?.[language.value] ||\n 'Prenez rendez-vous avec un professionnel de la santé près de chez vous (vaccination enfants et adultes, prélèvements, etc.).'\n }\n ]\n })\n\n const appEl: HtmlElement = document.getElementById('app')\n appEl.setAttribute('aria-label', titleText)\n\n if (!readForAccessibility) {\n return\n }\n\n if (!useCustomRouter().inResultPage()) {\n setFocusForAccessibility('app', 10, false, false)\n }\n }\n }\n }\n\n return {\n baseTitle: getBaseTitle(),\n setGlobalTitle\n }\n}\n\nfunction getBaseTitle() {\n const { t } = i18n.global\n const globalStore = useGlobalStore()\n\n return t(`base.${globalStore.style}.formattedName${useCustomRouter().isFirstEntry ? 'Full' : ''}`)\n}\n\nexport function getSearchResultsTitle(withBaseTitle: boolean = false) {\n const { t } = i18n.global\n const unknowService = t('base.pageTitle.unknowService')\n const geolocalized = t('base.pageTitle.geolocalized')\n const serviceStore = useServiceTemplatesStore()\n const geolocaliationStore = useGeolocationStore()\n const { upperLanguage } = useLanguage()\n const searchFiltersStore = useSearchFiltersStore()\n\n const serviceName =\n serviceStore.currentServiceTemplate !== null\n ? serviceStore.currentServiceTemplate[`title${upperLanguage.value}`]\n : unknowService\n\n const postalCode = isEmpty(geolocaliationStore.postalCode)\n ? geolocalized\n : geolocaliationStore.postalCode\n\n const feesType = searchFiltersStore.getPricingFilter()?.title\n ? t(searchFiltersStore.getPricingFilter().title)\n : t('base.pageTitle.withWithoutFees')\n\n return (\n t('base.pageTitle.searchResultsTitle', [serviceName, postalCode, feesType]) +\n (withBaseTitle ? ' | ' + getBaseTitle() : '')\n )\n}\n"],"names":["useSeoHead","router","useRouter","language","useLanguage","setGlobalTitle","readForAccessibility","isObject","titleText","useCustomRouter","getSearchResultsTitle","getBaseTitle","useHead","setFocusForAccessibility","i18n","globalStore","useGlobalStore","withBaseTitle","t","unknowService","geolocalized","serviceStore","useServiceTemplatesStore","geolocaliationStore","useGeolocationStore","upperLanguage","searchFiltersStore","useSearchFiltersStore","serviceName","postalCode","isEmpty","feesType"],"mappings":"+RAaO,SAASA,GAAa,CAC3B,MAAMC,EAASC,IACT,CAAE,SAAAC,GAAaC,IAEfC,EAAiB,CAACC,EAAgC,KAAS,CAC/D,GAAIL,GACEM,EAASN,EAAO,aAAa,MAAM,KAAK,KAAK,EAAG,CAC5C,MAAAO,EAAYC,IAAkB,aAAa,EAC7CC,EAAsB,EAAK,EAC3BD,EAAkB,EAAA,WAClB,EAAAE,EAAA,EACAA,IACA,MACAV,EAAO,aAAa,MAAM,KAAK,MAAME,EAAS,KAAK,EAAE,QAAQ,IAAK,GAAG,EAiBzE,GAfQS,EAAA,CACN,MAAOJ,EACP,KAAM,CACJ,CACE,KAAM,cACN,QACEP,EAAO,aAAa,MAAM,KAAK,cAAcE,EAAS,KAAK,GAC3D,8HACJ,CACF,CAAA,CACD,EAE0B,SAAS,eAAe,KAAK,EAClD,aAAa,aAAcK,CAAS,EAEtC,CAACF,EACH,OAGGG,IAAkB,gBACII,EAAA,MAAO,GAAI,GAAO,EAAK,CAEpD,CACF,EAGK,MAAA,CACL,UAAWF,EAAa,EACxB,eAAAN,CAAA,CAEJ,CAEA,SAASM,GAAe,CAChB,KAAA,CAAE,CAAE,EAAIG,EAAK,OACbC,EAAcC,IAEb,OAAA,EAAE,QAAQD,EAAY,KAAK,iBAAiBN,IAAkB,aAAe,OAAS,EAAE,EAAE,CACnG,CAEgB,SAAAC,EAAsBO,EAAyB,GAAO,CAC9D,KAAA,CAAE,EAAAC,CAAE,EAAIJ,EAAK,OACbK,EAAgBD,EAAE,8BAA8B,EAChDE,EAAeF,EAAE,6BAA6B,EAC9CG,EAAeC,IACfC,EAAsBC,IACtB,CAAE,cAAAC,GAAkBrB,IACpBsB,EAAqBC,IAErBC,EACJP,EAAa,yBAA2B,KACpCA,EAAa,uBAAuB,QAAQI,EAAc,KAAK,EAAE,EACjEN,EAEAU,EAAaC,EAAAA,QAAQP,EAAoB,UAAU,EACrDH,EACAG,EAAoB,WAElBQ,EAAWL,EAAmB,iBAAiB,GAAG,MACpDR,EAAEQ,EAAmB,iBAAmB,EAAA,KAAK,EAC7CR,EAAE,gCAAgC,EAGpC,OAAAA,EAAE,oCAAqC,CAACU,EAAaC,EAAYE,CAAQ,CAAC,GACzEd,EAAgB,MAAQN,EAAiB,EAAA,GAE9C"}