diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 13f84cd..e61cb88 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ -pages: # the job must be named pages +build: image: node:latest - stage: deploy + stage: build before_script: # - ./update_version.sh - echo $CI_COMMIT_TIMESTAMP $CI_COMMIT_SHORT_SHA > src/assets/version.txt @@ -9,19 +9,23 @@ pages: # the job must be named pages - export NODE_OPTIONS=--openssl-legacy-provider - npm ci - npm run build - - mv public public-vue # GitLab Pages hooks on the public folder - - mv dist public # rename the dist folder (result of npm run build) artifacts: paths: - - public # artifact path must be /public for GitLab Pages to pick it up - only: - - main + - dist -s3-deploy: - stage: .post + +s3: + stage: deploy image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest script: - - aws s3 sync ./public s3://gp-web-prod-shared-weblite-bucket --delete --only-show-errors - - aws s3 sync ./public s3://gp-web-prod-shared-weblite-bucket-dev --delete --only-show-errors + - aws s3 sync ./dist s3://gp-web-prod-shared-weblite-bucket --delete --only-show-errors only: - main + +s3-dev: + stage: deploy + image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest + script: + - aws s3 sync ./dist s3://gp-web-prod-shared-weblite-bucket-dev --delete --only-show-errors + only: + - dev diff --git a/src/App.vue b/src/App.vue index 68a9084..0844ff5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -37,29 +37,12 @@ export default { data() { return { loading: true, - }; + browserLanguage: null, + availableJsonTranslation: null + } }, beforeMount() { - if (!this.$store.state.language) { - // No language set, default to browser language? - var browserLang = ( - navigator.language || - navigator.userLanguage || - "" - ).toLowerCase(); - if (this.$i18n.messages[browserLang]) { - this.$store.commit("setLanguage", browserLang); - } else if (browserLang.includes("-")) { - // Try with language name only. - let lang = browserLang.split("-")[0]; - if (this.$i18n.messages[lang]) { - this.$store.commit("setLanguage", lang); - } - } - } - - // Set language - this.$i18n.locale = this.$store.state.language || "en"; + this.setDefaultLanguage(); }, mounted() { /** @@ -95,6 +78,30 @@ export default { stickers.loadStickersFromConfig(config); } }, + setDefaultLanguage() { + let LocalesArr= Object.keys(this.$i18n.messages); + // No language set, default to browser language? + this.browserLanguage = (navigator.language ||navigator.userLanguage ||"").toLowerCase(); + // Try with language name only. + let lang = this.browserLanguage.split("-")[0]; + // Assigns available language for ex 'zh_Hans' when browser header language is 'zh' or 'zh-HK' + this.availableJsonTranslation= LocalesArr[LocalesArr.findIndex(locale => locale.includes(lang))]; + + if (this.$i18n.messages[this.browserLanguage]) { + this.$store.commit("setLanguage", this.browserLanguage); + } else if (this.browserLanguage.includes("-")) { + if (this.$i18n.messages[lang]) { + this.$store.commit("setLanguage", lang); + } else { + this.$store.commit("setLanguage", this.availableJsonTranslation); + } + } else { + this.$store.commit("setLanguage", this.availableJsonTranslation); + } + + // Set language + this.$i18n.locale = this.$store.state.language || "en"; + } }, computed: { currentUser() { diff --git a/src/services/matrix.service.js b/src/services/matrix.service.js index c1db9c1..ff72395 100644 --- a/src/services/matrix.service.js +++ b/src/services/matrix.service.js @@ -67,7 +67,7 @@ export default { }, currentUserHomeServer() { - return User.serverName(this.currentUserId); + return this.$config.homeServer ? this.$config.homeServer : User.serverName(this.currentUserId); }, currentRoomId() {