From 1ff96792dccff990a6921fe958476df289bc68f8 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 18 Oct 2021 10:00:22 -0400 Subject: [PATCH] Breaking out funnel into repeatable template --- src/assets/scss/components/_SelectCar.scss | 14 +- ...SelectCarTemplate.vue => BaseTemplate.vue} | 21 ++- src/layouts/SelectCar/SelectCar.vue | 140 ------------------ src/layouts/SelectCar/SelectMake.vue | 49 ++---- src/layouts/SelectCar/SelectModel.vue | 50 ++----- src/layouts/SelectCar/SelectStyle.vue | 48 ++---- src/layouts/SelectCar/SelectYear.vue | 49 ++---- src/router/index.js | 6 - src/store/index.js | 12 +- 9 files changed, 88 insertions(+), 301 deletions(-) rename src/layouts/SelectCar/{SelectCarTemplate.vue => BaseTemplate.vue} (70%) delete mode 100644 src/layouts/SelectCar/SelectCar.vue diff --git a/src/assets/scss/components/_SelectCar.scss b/src/assets/scss/components/_SelectCar.scss index 329d69438..541fe8960 100644 --- a/src/assets/scss/components/_SelectCar.scss +++ b/src/assets/scss/components/_SelectCar.scss @@ -34,13 +34,25 @@ transform: translateX(30vw); } .slide-enter-active, .slide-leave-active { - transition: all .3s; + transition: all .4s; } .slide-leave-to { opacity: 0; transform: translateX(-30vw); } +.slide_reverse-enter-from { + opacity: 0; + transform: translateX(-30vw); +} +.slide_reverse-enter-active, .slide_reverse-leave-active { + transition: all .4s; +} +.slide_reverse-leave-to { + opacity: 0; + transform: translateX(30vw); +} + .fade-enter-from, .fade-leave-to { opacity: 0; } diff --git a/src/layouts/SelectCar/SelectCarTemplate.vue b/src/layouts/SelectCar/BaseTemplate.vue similarity index 70% rename from src/layouts/SelectCar/SelectCarTemplate.vue rename to src/layouts/SelectCar/BaseTemplate.vue index c11908be0..e89c4f27d 100644 --- a/src/layouts/SelectCar/SelectCarTemplate.vue +++ b/src/layouts/SelectCar/BaseTemplate.vue @@ -7,24 +7,27 @@
-
+
+

{{ this.currentCarInfo }}

+
+

{{ this.currentCarInfo }}

- +

{{ this.neededCarInfo }}

- +
@@ -36,14 +39,20 @@ \ No newline at end of file diff --git a/src/layouts/SelectCar/SelectCar.vue b/src/layouts/SelectCar/SelectCar.vue deleted file mode 100644 index 530b0ef50..000000000 --- a/src/layouts/SelectCar/SelectCar.vue +++ /dev/null @@ -1,140 +0,0 @@ - - - \ No newline at end of file diff --git a/src/layouts/SelectCar/SelectMake.vue b/src/layouts/SelectCar/SelectMake.vue index 338541825..e5998e137 100644 --- a/src/layouts/SelectCar/SelectMake.vue +++ b/src/layouts/SelectCar/SelectMake.vue @@ -1,59 +1,36 @@ \ No newline at end of file diff --git a/src/layouts/SelectCar/SelectModel.vue b/src/layouts/SelectCar/SelectModel.vue index 3a4ae5bf7..a865d09c5 100644 --- a/src/layouts/SelectCar/SelectModel.vue +++ b/src/layouts/SelectCar/SelectModel.vue @@ -1,59 +1,35 @@ \ No newline at end of file diff --git a/src/layouts/SelectCar/SelectStyle.vue b/src/layouts/SelectCar/SelectStyle.vue index 414fefcf8..42be51a55 100644 --- a/src/layouts/SelectCar/SelectStyle.vue +++ b/src/layouts/SelectCar/SelectStyle.vue @@ -1,55 +1,31 @@ \ No newline at end of file diff --git a/src/layouts/SelectCar/SelectYear.vue b/src/layouts/SelectCar/SelectYear.vue index 8afa516d8..f6efbddc5 100644 --- a/src/layouts/SelectCar/SelectYear.vue +++ b/src/layouts/SelectCar/SelectYear.vue @@ -1,43 +1,19 @@ \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index cd1f7dc0f..f78d3a808 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,5 @@ import { createWebHistory, createRouter } from "vue-router"; import Home from "@/layouts/ContentSite/Home.vue"; -import SelectCar from "@/layouts/SelectCar/SelectCar.vue"; import SelectYear from "@/layouts/SelectCar/SelectYear.vue"; import SelectMake from "@/layouts/SelectCar/SelectMake.vue"; import SelectModel from "@/layouts/SelectCar/SelectModel.vue"; @@ -12,11 +11,6 @@ const routes = [ name: "Home", component: Home, }, - { - path: "/select-car", - name: "SelectCar", - component: SelectCar, - }, { path: "/select-year", name: "SelectYear", diff --git a/src/store/index.js b/src/store/index.js index 6a650aeb5..997c292d9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -13,37 +13,41 @@ export default createStore({ styles: [], year: '', make: '', - model: '' + model: '', + slideTransition: 'none' }, mutations: { updateYear(state, data){ state.year = data.year; state.makes = data.makes.data.Result; + state.slideTransition = 'slide' }, updateMake(state, data){ state.make = data.make; state.models = data.models.data.Result; + state.slideTransition = 'slide' }, updateModel(state, data){ state.model = data.model; state.styles = data.styles.data.Result; + state.slideTransition = 'slide' } }, actions: { async selectYear(context, year){ const makes = await axios.get(`https://mockey.qa.sagaws.net/service/makes/year=${year}`); context.commit('updateYear', {year, makes}); - router.push(`/select-make#year=${year}`); + router.push(`/select-make?year=${year}`); }, async selectMake({commit, state}, make){ const models = await axios.get(`https://mockey.qa.sagaws.net/service/models/year=${state.year}/make=${make}`); commit('updateMake', {make, models}); - router.push(`/select-model#year=${state.year}/make=${make}`); + router.push(`/select-model?year=${state.year}&make=${make}`); }, async selectModel({commit, state}, model){ const styles = await axios.get(`https://mockey.qa.sagaws.net/service/styles/year=${state.year}/make=${state.make}/model=${model}`); commit('updateModel', {model, styles}); - router.push(`/select-style#year=${state.year}/make=${state.make}/model=${model}`); + router.push(`/select-style?year=${state.year}&make=${state.make}&model=${model}`); } }