-
-
- {{ $t("main.header.language") }}
-
-
-
+
+
+ {{ $t('language') }}
+
+
+
@@ -52,6 +53,15 @@ export default {
}),
computed: {
+ language: {
+ get() {
+ return this.$store.state.locale;
+ },
+ set(value) {
+ this.$store.dispatch('setLocale', value);
+ },
+ },
+
languages() {
const configLangs = this.$sunrise.languages;
const langs = configLangs ? Object.entries(configLangs) : [];
@@ -60,15 +70,30 @@ export default {
},
methods: {
- setCloseTimer() {
+ toggle() {
+ this.show = !this.show;
+ },
+
+ open() {
this.closeTimer = setTimeout(() => {
this.show = false;
}, 300);
},
- clearCloseTimer() {
+ close() {
clearTimeout(this.closeTimer);
},
},
};
+
+
+en:
+ location: "Location"
+ language: "Language"
+ country: "Country"
+de:
+ location: "Ort"
+ language: "Sprache"
+ country: "Land"
+
diff --git a/src/components/header/MiniCart.vue b/src/components/header/MiniCart.vue
index c70ed791..a02f2f58 100644
--- a/src/components/header/MiniCart.vue
+++ b/src/components/header/MiniCart.vue
@@ -62,7 +62,6 @@ import Vue from 'vue';
import gql from 'graphql-tag';
import VuePerfectScrollbar from 'vue-perfect-scrollbar';
import cartMixin from '@/mixins/cartMixin';
-import priceMixin from '@/mixins/priceMixin';
import productMixin from '@/mixins/productMixin';
import DisplayableMoneyFragment from '@/components/DisplayableMoney.gql';
import BaseMoney from '../common/BaseMoney.vue';
@@ -77,7 +76,7 @@ export default {
VuePerfectScrollbar,
},
- mixins: [cartMixin, priceMixin, productMixin],
+ mixins: [cartMixin, productMixin],
data: () => ({
me: null,
@@ -142,7 +141,7 @@ export default {
${DisplayableMoneyFragment}`,
variables() {
return {
- locale: this.$i18n.locale,
+ locale: this.$store.state.locale,
};
},
},
diff --git a/src/components/home/BannerPicture.vue b/src/components/home/BannerPicture.vue
index 1b9fe0a4..54d2a0c2 100644
--- a/src/components/home/BannerPicture.vue
+++ b/src/components/home/BannerPicture.vue
@@ -14,7 +14,7 @@ export default {
src() {
try {
// eslint-disable-next-line import/no-dynamic-require, global-require
- return require(`@/assets/img/banners/${this.$i18n.locale}/${this.file}`);
+ return require(`@/assets/img/banners/${this.$store.state.locale}/${this.file}`);
} catch (e) {
// eslint-disable-next-line import/no-dynamic-require, global-require
return require(`@/assets/img/banners/${this.file}`);
diff --git a/src/components/productdetail/AddToCartForm.vue b/src/components/productdetail/AddToCartForm.vue
index 62911ca4..0d86f775 100644
--- a/src/components/productdetail/AddToCartForm.vue
+++ b/src/components/productdetail/AddToCartForm.vue
@@ -41,7 +41,6 @@