diff --git a/.eslintrc.js b/.eslintrc.js index fb2c5ee..569cc0d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,18 +2,20 @@ module.exports = { root: true, env: { node: true, + es2022: true, }, plugins: [ 'vuejs-accessibility', ], extends: [ - 'plugin:vue/essential', '@vue/airbnb', + 'airbnb-base', + 'eslint:recommended', + 'plugin:import/recommended', + 'plugin:vue/vue3-strongly-recommended', + 'plugin:vue/essential', 'plugin:vuejs-accessibility/recommended', ], - parserOptions: { - parser: 'babel-eslint', - }, rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index 757ff9b..0000000 --- a/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset', - ], -}; diff --git a/public/index.html b/index.html similarity index 97% rename from public/index.html rename to index.html index 8cb9e79..ea6aab4 100644 --- a/public/index.html +++ b/index.html @@ -1,10 +1,11 @@ - + palava.tv + @@ -43,12 +44,12 @@ +
- diff --git a/package.json b/package.json index e78f97b..bd55863 100644 --- a/package.json +++ b/package.json @@ -1,54 +1,41 @@ { "name": "palava-web", - "version": "1.1.0", - "author": "palava e. V.", - "license": "MIT", - "description": "The 2020 web front-end of palava.tv", + "version": "2.0.0", + "description": "The 2023 web front-end of palava.tv", "keywords": [ "palava", "webrtc", "video chat" ], + "license": "MIT", + "author": "palava e.V.", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "test:e2e": "vue-cli-service test:e2e", - "lint": "vue-cli-service lint" + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src" }, "dependencies": { - "@vue/compat": "^3.2.24", - "core-js": "^3.6.5", + "@vueuse/head": "^1.1.23", "palava-client": "^2.2.1", - "register-service-worker": "^1.7.1", - "vue": "^3.2.24", - "vue-i18n": "^9.0.0", - "vue-inline-svg": "^1.3.1", - "vue-meta": "^2.3.3", - "vue-router": "^4.0.12", + "register-service-worker": "^1.7.2", + "vue": "^3.3.4", + "vue-i18n": "^9.4.1", + "vue-inline-svg": "^3.1.2", + "vue-router": "^4.2.5", "yyid": "2" }, "devDependencies": { - "@babel/eslint-parser": "^7.16.3", - "@vue/cli-plugin-babel": "~4.5.15", - "@vue/cli-plugin-e2e-nightwatch": "~4.5.15", - "@vue/cli-plugin-eslint": "~4.5.15", - "@vue/cli-plugin-router": "~4.5.15", - "@vue/cli-plugin-unit-mocha": "~4.5.15", - "@vue/cli-plugin-vuex": "~4.5.15", - "@vue/cli-service": "~4.5.15", - "@vue/compiler-sfc": "^3.2.24", - "@vue/eslint-config-airbnb": "^6.0.0", - "@vue/test-utils": "^1.3.0", - "babel-eslint": "^10.1.0", - "chai": "^4.1.2", - "chromedriver": "88", - "eslint": "^7.0.0", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-vue": "^8.2.0", - "eslint-plugin-vuejs-accessibility": "^1.1.0", - "geckodriver": "^2.0.4", + "@vitejs/plugin-vue": "^4.3.4", + "@vue/eslint-config-airbnb": "^7.0.0", + "eslint": "^8.50.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-vue": "^9.2.0", + "eslint-plugin-vuejs-accessibility": "^2.2.0", + "path": "^0.12.7", "sass": "^1.44.0", - "sass-loader": "^10.0.0" + "url": "^0.11.3", + "vite": "^4.4.9" } } diff --git a/src/App.vue b/src/App.vue index 26a6ad8..246df9e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,31 +1,33 @@ - diff --git a/src/components/InfoScreen.vue b/src/components/InfoScreen.vue index d23f0d3..77a9ddb 100644 --- a/src/components/InfoScreen.vue +++ b/src/components/InfoScreen.vue @@ -1,24 +1,35 @@ diff --git a/src/views/InfoPage.vue b/src/views/InfoPage.vue index de05797..a731d2a 100644 --- a/src/views/InfoPage.vue +++ b/src/views/InfoPage.vue @@ -1,5 +1,6 @@ @@ -17,7 +21,10 @@ import LanguageSwitcher from '@/components/LanguageSwitcher.vue' import Logo from '@/components/Logo.vue' import Navigation from '@/components/Navigation.vue' -import i18nStrings from '@/i18nStrings' +import i18nStrings from "../i18nStrings" +import { detectLanguage } from "../support" + +const lang = detectLanguage() export default { components: { @@ -33,12 +40,7 @@ export default { }, computed: { infoPage() { - return i18nStrings[this.$root.$i18n.locale].infoPages.filter((ip) => ip.id === this.page)[0] || {} - } - }, - metaInfo() { - return { - title: this.infoPage.title, + return i18nStrings[lang].infoPages.filter((ip) => ip.id === this.page)[0] || {} } }, } diff --git a/src/views/Room.vue b/src/views/Room.vue index 115b7e3..cc24ddb 100644 --- a/src/views/Room.vue +++ b/src/views/Room.vue @@ -10,34 +10,34 @@ :page="infoPage" @close="closeInfoScreen" @open-info-screen="openInfoScreen" - /> + /> + />