{"version":3,"file":"js/544.79b777aa.js","mappings":"0NAKIA,EAAAA,EAAAA,IAEO,QAFDC,KAAK,OAAQC,OAAK,QAAEC,EAAAA,YAA1B,cACIC,EAAAA,EAAAA,KAAkDC,EAAAA,EAAAA,IAAlCF,EAAAA,yBADpB,G,wBAWA,MAAMG,EAAgB,SAAUC,GAC5B,OAAOA,EAAKC,OAAS,EAAI,IAAMD,EAAKE,KAAK,KAAO,IAAMF,GAIpDG,EAAc,YAEhBC,EAAAA,EAAAA,IAASC,KAAKC,OAAON,MAErBK,KAAKE,OAAOC,SAAS,yBAA0B,CAAE,IAAOT,EAAcM,KAAKC,OAAOG,OAAOT,KAAOK,KAAKC,OAAOG,OAAOT,KAAO,OAMxHU,EAAoB,SAAUC,IAEhCP,EAAAA,EAAAA,IAASO,EAAGX,MAEZK,KAAKE,OAAOC,SAAS,yBAA0B,CAAE,IAAOT,EAAcY,EAAGF,OAAOT,SAG9EY,EAAsB,CACxBC,SAASC,EAAAA,EAAAA,KAAqB,IAC1B,gCAEJC,UAAUD,EAAAA,EAAAA,KAAqB,IAC3B,+BAEJE,MAAMF,EAAAA,EAAAA,KAAqB,IACvB,gCAEJG,WAAWH,EAAAA,EAAAA,KAAqB,IAC5B,gCAEJI,cAAcJ,EAAAA,EAAAA,KAAqB,IAC/B,gCAEJK,KAAKL,EAAAA,EAAAA,KAAqB,IACtB,gCAEJM,MAAMN,EAAAA,EAAAA,KAAqB,IACvB,iCAIFO,EAAU,SAAUC,EAAMC,GAC5B,IAAIC,EAAYF,EAAKG,WAAW,OAAS,WAAa,OAElDC,EAAKC,SAASC,cAAe,aAAYJ,MAAcF,OAGtDC,GAIIG,IACDA,EAAKC,SAASE,cAAc,QAC5BH,EAAGI,aAAc,GAAEN,IAAaF,GAChCK,SAASI,KAAKC,YAAYN,IAE9BA,EAAGI,aAAa,UAAWP,IARvBG,GAAIA,EAAGO,WAAWC,YAAYR,IAY1C,OACIvB,YAAAA,EACAO,kBAAAA,EACAyB,SAAU,KACHC,EAAAA,EAAAA,IAAW,CAAEC,gBAAiB,8BAA+BC,oBAAqB,oCACrFC,uBACI,OAAO3B,EAAoBP,KAAKiC,qBAAuB,YAE3DE,YACI,OAAOnC,KAAKiC,oBAAsBjC,KAAKiC,oBAAoBG,QAAQ,KAAM,IAAIA,QAAQ,QAAS,KAAKA,QAAQ,MAAO,KAAKA,QAAQ,KAAM,IAAIC,cAAgB,OAGjKC,MAAO,CACHN,gBAAiB,CACbO,QAAQC,GAGJlB,SAASmB,MAAQD,EAAKC,MAEtBzB,EAAQ,cAAewB,EAAKE,aAE5B1B,EAAQ,YAAawB,EAAKG,YAE1B3B,EAAQ,UAAW,WACnBA,EAAQ,SAAU4B,OAAOC,SAASC,OAASF,OAAOC,SAASE,UAC3D/B,EAAQ,WAAYwB,EAAKQ,YAAcR,EAAKQ,YAAcR,EAAKC,OAC/DzB,EAAQ,iBAAkBwB,EAAKS,kBAAoBT,EAAKS,kBAAoBT,EAAKE,aACjF1B,EAAQ,eAAgBwB,EAAKU,UAC7BlC,EAAQ,YAAawB,EAAKW,YAE1BnC,EAAQ,iBAAkBwB,EAAKY,SAC/BpC,EAAQ,eAAgBwB,EAAKa,oBAAsBb,EAAKa,oBAAsB,uBAC9ErC,EAAQ,gBAAiBwB,EAAKQ,YAAcR,EAAKQ,YAAcR,EAAKC,OACpEzB,EAAQ,sBAAuBwB,EAAKS,kBAAoBT,EAAKS,kBAAoBT,EAAKE,aACtF1B,EAAQ,eAAgBwB,EAAKc,iBAC7BtC,EAAQ,kBAAmBwB,EAAKc,iBAEhCtC,EAAQ,WAAYwB,EAAKe,YAAe,GAAEX,OAAOC,SAASC,0BAA0BN,EAAKe,cAAgB,MACzGvC,EAAQ,oBAAqBwB,EAAKe,YAAe,GAAEX,OAAOC,SAASC,0BAA0BN,EAAKe,cAAgB,MAClHvC,EAAQ,eAAgBwB,EAAKgB,gBAC7BxC,EAAQ,oBAAqBwB,EAAKgB,gBAElC,IAAIC,EAAMnC,SAASC,cAAc,4BAE5BkC,IACDA,EAAMnC,SAASE,cAAc,QAC7BiC,EAAIhC,aAAa,MAAO,aACxBH,SAASI,KAAKC,YAAY8B,IAE9BA,EAAIhC,aAAa,OAAS,GAAEmB,OAAOC,SAASC,SAAS9C,KAAKC,OAAON,OAAOyC,QAAQ,MAAO,S,UC7H3G,MAAMsB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE","sources":["webpack://fonmon-vue/./src/components/destination/DestinationLoader.vue","webpack://fonmon-vue/./src/components/destination/DestinationLoader.vue?e70b"],"sourcesContent":["/*\r\n Destination Loader.\r\n Loads the destination component for the url\r\n*/\r\n<template>\r\n <main role=\"main\" :class=\"className\">\r\n <component :is=\"getTemplateComponent\"></component>\r\n </main>\r\n</template>\r\n\r\n<script lang=\"js\">\r\n import { defineAsyncComponent } from 'vue'\r\n import { mapGetters } from 'vuex'\r\n import { pageview } from 'vue-gtag'\r\n\r\n // Process a route path by adding a / prefix and processing the string or joining the array\r\n const processedPath = function (path) {\r\n return path.length > 1 ? \"/\" + path.join(\"/\") : \"/\" + path;\r\n }\r\n\r\n // Load the page data when component is mounted using the page path\r\n const beforeMount = function () {\r\n // Google Analytics hit\r\n pageview(this.$route.path);\r\n // Get data\r\n this.$store.dispatch('destination/getContent', { \"url\": processedPath(this.$route.params.path ? this.$route.params.path : \"\") });\r\n }\r\n\r\n // Reload the page data when the component is reused by the router. Forces the loading of the next pages data\r\n // To Do: update to use composable so we don't have to manage updating manually.\r\n // See fetch example here https://vuejs.org/guide/reusability/composables.html#async-state-example\r\n const beforeRouteUpdate = function (to) {\r\n // Google Analytics hit\r\n pageview(to.path);\r\n // react to route changes...\r\n this.$store.dispatch('destination/getContent', { \"url\": processedPath(to.params.path) });\r\n }\r\n\r\n const availableComponents = {\r\n Default: defineAsyncComponent(() =>\r\n import('./DefaultPage.vue')\r\n ),\r\n Standard: defineAsyncComponent(() =>\r\n import('./StandardPage.vue')\r\n ),\r\n Home: defineAsyncComponent(() =>\r\n import('./HomePage.vue')\r\n ),\r\n EventList: defineAsyncComponent(() =>\r\n import('./EventListPage.vue')\r\n ),\r\n ActivityList: defineAsyncComponent(() =>\r\n import('./ActivityListPage.vue')\r\n ),\r\n Map: defineAsyncComponent(() =>\r\n import('./MapPage.vue')\r\n ),\r\n FAQs: defineAsyncComponent(() =>\r\n import('./FAQPage.vue')\r\n )\r\n }\r\n\r\n const setMeta = function (name, value) {\r\n let metaLabel = name.startsWith(\"og:\") ? \"property\" : \"name\";\r\n\r\n let el = document.querySelector(`head meta[${metaLabel}=\"${name}\"]`);\r\n\r\n // Remove if existing and null\r\n if (!value) {\r\n if (el) el.parentNode.removeChild(el);\r\n }\r\n else { \r\n if (!el) {\r\n el = document.createElement('meta')\r\n el.setAttribute(`${metaLabel}`, name);\r\n document.head.appendChild(el);\r\n }\r\n el.setAttribute('content', value);\r\n }\r\n }\r\n\r\n export default {\r\n beforeMount,\r\n beforeRouteUpdate,\r\n computed: {\r\n ...mapGetters({ destinationMeta: 'destination/destinationMeta', destinationTemplate: 'destination/destinationTemplate' }),\r\n getTemplateComponent() {\r\n return availableComponents[this.destinationTemplate || 'Default'];\r\n },\r\n className() {\r\n return this.destinationTemplate ? this.destinationTemplate.replace(/&/g, '').replace(/\\s\\s/g, '-').replace(/\\s/g, '-').replace(/'/g, '').toLowerCase() : null;\r\n }\r\n },\r\n watch: {\r\n destinationMeta: {\r\n handler(meta) {\r\n // Page Meta\r\n // Title\r\n document.title = meta.title;\r\n // Description\r\n setMeta(\"description\", meta.description);\r\n // Locale\r\n setMeta(\"og:locale\", meta.siteLocale);\r\n // OG\r\n setMeta(\"og:type\", \"article\");\r\n setMeta(\"og:url\", window.location.origin + window.location.pathname);\r\n setMeta(\"og:title\", meta.socialTitle ? meta.socialTitle : meta.title);\r\n setMeta(\"og:description\", meta.socialDescription ? meta.socialDescription : meta.description);\r\n setMeta(\"og:site_name\", meta.siteName);\r\n setMeta(\"og:author\", meta.siteFBName);\r\n //Twitter\r\n setMeta(\"twitter:domain\", meta.siteUrl);\r\n setMeta(\"twitter:card\", meta.siteTwitterCardType ? meta.siteTwitterCardType : \"summary_large_image\");\r\n setMeta(\"twitter:title\", meta.socialTitle ? meta.socialTitle : meta.title);\r\n setMeta(\"twitter:description\", meta.socialDescription ? meta.socialDescription : meta.description);\r\n setMeta(\"twitter:site\", meta.siteTwitterName);\r\n setMeta(\"twitter:creator\", meta.siteTwitterName);\r\n // Social Image\r\n setMeta(\"og:image\", meta.socialImage ? `${window.location.origin}/_resources/files${meta.socialImage}` : null);\r\n setMeta(\"twitter:image:src\", meta.socialImage ? `${window.location.origin}/_resources/files${meta.socialImage}` : null);\r\n setMeta(\"og:image:alt\", meta.socialImageAlt);\r\n setMeta(\"twitter:image:alt\", meta.socialImageAlt);\r\n // Canonical\r\n let cel = document.querySelector(\"head link[rel=canonical]\");\r\n // Remove if existing and null\r\n if (!cel) {\r\n cel = document.createElement('link')\r\n cel.setAttribute('rel', 'canonical');\r\n document.head.appendChild(cel);\r\n }\r\n cel.setAttribute('href', `${window.location.origin}${this.$route.path}`.replace(/\\/$/, ''));\r\n }\r\n }\r\n }\r\n };\r\n</script>\r\n\r\n","import { render } from \"./DestinationLoader.vue?vue&type=template&id=294100e8\"\nimport script from \"./DestinationLoader.vue?vue&type=script&lang=js\"\nexport * from \"./DestinationLoader.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Fonmon Castle\\\\Fonmon-Vue\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","role","class","_ctx","_createBlock","_resolveDynamicComponent","processedPath","path","length","join","beforeMount","pageview","this","$route","$store","dispatch","params","beforeRouteUpdate","to","availableComponents","Default","defineAsyncComponent","Standard","Home","EventList","ActivityList","Map","FAQs","setMeta","name","value","metaLabel","startsWith","el","document","querySelector","createElement","setAttribute","head","appendChild","parentNode","removeChild","computed","mapGetters","destinationMeta","destinationTemplate","getTemplateComponent","className","replace","toLowerCase","watch","handler","meta","title","description","siteLocale","window","location","origin","pathname","socialTitle","socialDescription","siteName","siteFBName","siteUrl","siteTwitterCardType","siteTwitterName","socialImage","socialImageAlt","cel","__exports__","render"],"sourceRoot":""}