{"version":3,"mappings":"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","names":["_sfc_main","Overlay","SvgIcon","mapState","state","to","mapMutations","selections","step","selection","_hoisted_2","_hoisted_3","_hoisted_4","_ctx","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_component_overlay","_createCommentVNode","_createElementVNode","_cache","_withModifiers","$options","args","_createVNode","_component_svg_icon","_toDisplayString","_hoisted_5","_component_router_view","WeddingPreferencesStepOne","WeddingPreferencesStepTwo","WeddingPreferencesStepThree","WeddingPreferencesStepFour","WeddingPreferencesResults","routes","router","createRouter","createWebHistory","store","createStore","collection","key","element","getters","colour","commit","data","api","dispatch","sort","loading","value","results","query","payload","user","path","ready","appLaunchCta","questionnaireNode","photoBanners","landingNode","translations","storeData","app","createApp","WeddingPreferencesQuestionnaire","removePhotoBanners","el","showApp","e","I18n","weddingData","parsedData"],"ignoreList":[],"sources":["../../../app/javascript/components/catalog/WeddingPreferencesQuestionnaire.vue","../../../app/javascript/routers/weddingPreferencesQuestionnaire.js","../../../app/javascript/store/weddingPreferencesQuestionnaire.js","../../../app/javascript/entrypoints/weddingPreferencesQuestionnaire.js"],"sourcesContent":["<template>\n  <div\n    v-if=\"step > 0\"\n    class=\"mx-auto\">\n    <overlay v-if=\"loading\" />\n\n    <div class=\"pt-4 sm:pt-8 pb-8 flex flex-col items-center\">\n      <a\n        href=\"#\"\n        class=\"mb-4 flex sm:hidden w-full\"\n        @click.prevent=\"goBack\">\n        <div class=\"flex items-center\">\n          <svg-icon name=\"leftarrow-small-thin\" />\n        </div>\n        <span class=\"underline ml-3 typeset-7\">\n          {{ t(\"wedding-preferences-questionnaire.back\") }}\n        </span>\n      </a>\n      <p\n        v-if=\"step < 5\"\n        class=\"typeset-4 mb-4 text-ink-4 sm:text-center w-full sm:w-auto\">\n        {{ step }}/4\n      </p>\n      <router-view key=\"view\" />\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapMutations, mapState } from \"vuex\";\n\nimport Overlay from \"@/app/javascript/components/shared/Overlay.vue\";\nimport SvgIcon from \"@/app/javascript/components/shared/SvgIcon.vue\";\n\nexport default {\n  name: \"WeddingPreferencesQuestionnaire\",\n  components: {\n    Overlay,\n    SvgIcon\n  },\n  props: {\n    landingNode: {\n      type: HTMLDivElement,\n      required: true\n    },\n    questionnaireNode: {\n      type: HTMLDivElement,\n      required: true\n    }\n  },\n  computed: {\n    ...mapState({\n      loading: state => state.loading,\n      step: state => state.step,\n      results: state => state.results,\n      colourProfiles: state => state.colourProfiles,\n      seasonPreferences: state => state.seasonPreferences,\n      styles: state => state.styles\n    })\n  },\n  watch: {\n    $route(to) {\n      if (!to.name || to.name === \"home\") {\n        this.setStep(0);\n        this.showLandingNode();\n        analytics.track(\"Viewed Wedding Preferences Questionnaire\", {\n          step: \"Opening Page\",\n          number: 1\n        });\n      } else if (to.name === \"one\") {\n        this.setStep(1);\n        this.showQuestionnaireApp();\n        analytics.track(\"Viewed Wedding Preferences Questionnaire\", {\n          step: \"Wedding Date\",\n          number: 2\n        });\n      } else if (to.name === \"two\") {\n        analytics.track(\"Viewed Wedding Preferences Questionnaire\", {\n          step: \"Colour\",\n          number: 3\n        });\n        this.setStep(2);\n      } else if (to.name === \"three\") {\n        this.setStep(3);\n        this.anaylticsTrackingForSelection(this.colourProfiles, \"Colour\");\n        analytics.track(\"Viewed Wedding Preferences Questionnaire\", {\n          step: \"Season\",\n          number: 4\n        });\n      } else if (to.name === \"four\") {\n        this.setStep(4);\n        this.anaylticsTrackingForSelection(this.seasonPreferences, \"Season\");\n        analytics.track(\"Viewed Wedding Preferences Questionnaire\", {\n          step: \"Style\",\n          number: 5\n        });\n      } else if (to.name === \"results\") {\n        this.setStep(5);\n        this.anaylticsTrackingForSelection(this.styles, \"Style\");\n        this.showQuestionnaireApp();\n      }\n    },\n    results() {\n      // run this when new results are retrieved\n      if (this.$route.path !== \"/wedding-picks-for-you/your-results\") {\n        this.$router.push(\"/wedding-picks-for-you/your-results\");\n      }\n    }\n  },\n  methods: {\n    ...mapMutations([\"setStep\"]),\n    goBack() {\n      this.$router.back();\n    },\n    showQuestionnaireApp() {\n      this.landingNode.classList.add(\"hidden\");\n      this.questionnaireNode.classList.remove(\"hidden\");\n    },\n    showLandingNode() {\n      this.landingNode.classList.remove(\"hidden\");\n      this.questionnaireNode.classList.add(\"hidden\");\n    },\n    anaylticsTrackingForSelection(selections, step) {\n      selections.forEach(selection => {\n        analytics.track(\"Selected Wedding Quiz Option\", {\n          value: `${step} - ${selection}`\n        });\n      });\n    }\n  }\n};\n</script>\n","import { createRouter, createWebHistory } from \"vue-router\";\n\nconst WeddingPreferencesStepOne = () =>\n  import(\n    \"../components/catalog/weddingPreferencesQuestionnaire/WeddingPreferencesStepOne.vue\"\n  );\nconst WeddingPreferencesStepTwo = () =>\n  import(\n    \"../components/catalog/weddingPreferencesQuestionnaire/WeddingPreferencesStepTwo.vue\"\n  );\nconst WeddingPreferencesStepThree = () =>\n  import(\n    \"../components/catalog/weddingPreferencesQuestionnaire/WeddingPreferencesStepThree.vue\"\n  );\nconst WeddingPreferencesStepFour = () =>\n  import(\n    \"../components/catalog/weddingPreferencesQuestionnaire/WeddingPreferencesStepFour.vue\"\n  );\nconst WeddingPreferencesResults = () =>\n  import(\n    \"../components/catalog/weddingPreferencesQuestionnaire/WeddingPreferencesResults.vue\"\n  );\n\nconst routes = [\n  {\n    path: \"/wedding-picks-for-you\",\n    name: \"home\",\n    children: [\n      {\n        path: \"/wedding-picks-for-you/step-one\",\n        name: \"one\",\n        component: WeddingPreferencesStepOne\n      },\n      {\n        path: \"/wedding-picks-for-you/step-two\",\n        name: \"two\",\n        component: WeddingPreferencesStepTwo\n      },\n      {\n        path: \"/wedding-picks-for-you/step-three\",\n        name: \"three\",\n        component: WeddingPreferencesStepThree\n      },\n      {\n        path: \"/wedding-picks-for-you/step-four\",\n        name: \"four\",\n        component: WeddingPreferencesStepFour\n      },\n      {\n        path: \"/wedding-picks-for-you/your-results\",\n        name: \"results\",\n        component: WeddingPreferencesResults\n      }\n    ]\n  }\n];\n\nconst router = createRouter({\n  routes,\n  history: createWebHistory(`${window.countryCode}/`),\n  scrollBehavior() {\n    return { left: 0, top: 0 };\n  }\n});\n\nexport default router;\n","import { createStore } from \"vuex\";\nimport api from \"../api\";\n\nexport default createStore({\n  state: {\n    weddingDate: null,\n    loading: false,\n    step: 0,\n    seasonPreferences: [],\n    colourProfiles: [],\n    styles: [],\n    colourMap: {\n      warm: [\"Orange\", \"Pink\", \"Red\", \"Gold\", \"Yellow\"],\n      cool: [\"Blue\", \"Green\", \"Purple\"],\n      neutral: [\"Black\", \"White\", \"Brown\", \"Grey\"]\n    },\n    results: [],\n    sort: \"favourite\",\n    lastQuery: null,\n    currentUser: null,\n    weddingPath: null\n  },\n  getters: {\n    encodedCollection() {\n      return (collection, key) => {\n        return collection\n          .map(element => `${key}[]=${encodeURIComponent(element)}`)\n          .join(\"&\");\n      };\n    },\n    stylesParams(state, getters) {\n      return getters.encodedCollection(state.styles, \"styles\");\n    },\n    colourParams(state, getters) {\n      return getters.encodedCollection(getters.colours, \"colour\");\n    },\n    seasonParams(state, getters) {\n      return getters.encodedCollection(state.seasonPreferences, \"season_vm\");\n    },\n    colours(state) {\n      return state.colourProfiles.flatMap(colour => state.colourMap[colour]);\n    },\n    resultsPath(state, getters) {\n      return `/wedding-picks-for-you/results?category=wedding&${getters.joinedParams}&sort=${state.sort}`;\n    },\n    joinedParams(state, getters) {\n      return [getters.stylesParams, getters.colourParams, getters.seasonParams]\n        .filter(Boolean)\n        .join(\"&\");\n    }\n  },\n  actions: {\n    async fetchResults({ state, commit, getters }) {\n      if (state.lastQuery === getters.resultsPath) return;\n      commit(\"setLastQuery\", getters.resultsPath);\n      commit(\"setLoading\", true);\n      const { data } = await api.get(getters.resultsPath);\n      commit(\"setResults\", data);\n      commit(\"setLoading\", false);\n    },\n    updateSort({ commit, dispatch }, sort) {\n      commit(\"setSort\", sort);\n      dispatch(\"fetchResults\");\n    },\n    async updateUser({ state }) {\n      await api.post(\"/wedding-picks-for-you/update_user\", {\n        weddingDate: state.weddingDate\n      });\n    }\n  },\n  mutations: {\n    setLoading(state, loading) {\n      state.loading = loading;\n    },\n    setStep(state, step) {\n      state.step = step;\n    },\n    toggleColourProfiles(state, value) {\n      if (state.colourProfiles.includes(value)) {\n        state.colourProfiles.splice(state.colourProfiles.indexOf(value), 1);\n      } else {\n        state.colourProfiles.push(value);\n      }\n    },\n    toggleStyles(state, value) {\n      if (state.styles.includes(value)) {\n        state.styles.splice(state.styles.indexOf(value), 1);\n      } else if (state.styles.length < 3) {\n        state.styles.push(value);\n      }\n    },\n    toggleSeasonPreferences(state, value) {\n      if (state.seasonPreferences.includes(value)) {\n        state.seasonPreferences.splice(\n          state.seasonPreferences.indexOf(value),\n          1\n        );\n      } else if (state.seasonPreferences.length < 4) {\n        state.seasonPreferences.push(value);\n      }\n    },\n    setResults(state, results) {\n      state.results = results;\n    },\n    setSort(state, sort) {\n      state.sort = sort;\n    },\n    setLastQuery(state, query) {\n      state.lastQuery = query;\n    },\n    setWeddingDate(state, value) {\n      state.weddingDate = value;\n    },\n    setFullState(state, payload) {\n      Object.assign(state, payload);\n    },\n    setCurrentUser(state, user) {\n      state.currentUser = user;\n    },\n    setWeddingPath(state, path) {\n      state.weddingPath = path;\n    }\n  }\n});\n","import { createApp } from \"vue\";\nimport WeddingPreferencesQuestionnaire from \"@/app/javascript/components/catalog/WeddingPreferencesQuestionnaire.vue\";\nimport router from \"../routers/weddingPreferencesQuestionnaire\";\nimport store from \"../store/weddingPreferencesQuestionnaire\";\nimport I18n from \"../plugins/i18n\";\n\nimport { ready } from \"../utils/listeners\";\n\nready(() => {\n  const appLaunchCta = document.getElementById(\"wedding-preferences-start-cta\");\n  const questionnaireNode = document.getElementById(\n    \"wedding-questionnaire-app\"\n  );\n  const photoBanners = document.querySelectorAll(\".js-photo-banner\");\n\n  if (!appLaunchCta || !questionnaireNode) return;\n\n  const landingNode = document.getElementById(\n    \"wedding-preferences-landing-page\"\n  );\n\n  const translations = JSON.parse(questionnaireNode.dataset.translations);\n  const storeData = JSON.parse(questionnaireNode.dataset.store);\n\n  const app = createApp(WeddingPreferencesQuestionnaire, {\n    name: \"WeddingPreferencesQuestionnaire\",\n    landingNode,\n    questionnaireNode\n  });\n\n  const removePhotoBanners = () => {\n    photoBanners.forEach(el => {\n      el.classList.add(\"hidden\");\n    });\n  };\n  const showApp = e => {\n    e.preventDefault();\n    router.push(\"/wedding-picks-for-you/step-one\");\n    removePhotoBanners();\n  };\n\n  app.use(router);\n  app.use(store);\n  app.use(I18n, translations);\n\n  const weddingData = localStorage.getItem(\"weddingPreferences\");\n\n  if (weddingData) {\n    const parsedData = JSON.parse(weddingData);\n    store.commit(\"setFullState\", parsedData);\n    localStorage.removeItem(\"weddingPreferences\");\n    router.push(\"/wedding-picks-for-you/your-results\");\n  }\n\n  store.commit(\"setCurrentUser\", storeData.currentUser);\n  store.commit(\"setWeddingPath\", storeData.weddingPath);\n\n  appLaunchCta.addEventListener(\"click\", showApp);\n\n  app.mount(questionnaireNode);\n});\n"],"file":"assets/weddingPreferencesQuestionnaire-lJS8J8eg.js"}