From fcc3d455c6bf7ba048f85c6053cdd5cdc51c476e Mon Sep 17 00:00:00 2001 From: Shiny Nematoda Date: Mon, 12 Sep 2022 15:00:54 +0000 Subject: [PATCH] Changes: - Closes #9 - Removed dependency on vue-i18n - Localization Changes --- package-lock.json | 128 --------------------------------- package.json | 1 - src/App.vue | 10 +-- src/assets/base.css | 1 + src/components/Genres.vue | 13 ++-- src/components/Info.vue | 9 +-- src/components/Lyrics.vue | 9 +-- src/components/NewPlaylist.vue | 33 +++++---- src/components/Playlists.vue | 7 +- src/components/Prefs.vue | 45 ++++++------ src/components/Search.vue | 20 +++--- src/components/SearchBar.vue | 8 +-- src/components/SongItem.vue | 2 +- src/components/StatusBar.vue | 9 +-- src/locales/en.json | 32 ++++----- src/main.js | 14 ---- src/scripts/i18n.js | 29 -------- src/stores/misc.js | 43 ++++++++++- 18 files changed, 143 insertions(+), 270 deletions(-) delete mode 100644 src/scripts/i18n.js diff --git a/package-lock.json b/package-lock.json index b58afd1..689af53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,6 @@ "shaka-player": "^4.2.1", "stream-browserify": "^3.0.0", "vue": "^3.2.38", - "vue-i18n": "^9.2.2", "xml-js": "^1.6.11" }, "devDependencies": { @@ -64,63 +63,6 @@ "node": ">=12" } }, - "node_modules/@intlify/core-base": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", - "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", - "dependencies": { - "@intlify/devtools-if": "9.2.2", - "@intlify/message-compiler": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/devtools-if": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", - "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", - "dependencies": { - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/message-compiler": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", - "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", - "dependencies": { - "@intlify/shared": "9.2.2", - "source-map": "0.6.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/shared": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", - "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/vue-devtools": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", - "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@swc/helpers": { "version": "0.3.17", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", @@ -1147,23 +1089,6 @@ "@vue/shared": "3.2.39" } }, - "node_modules/vue-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", - "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2", - "@vue/devtools-api": "^6.2.1" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, "node_modules/webrtc-adapter": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz", @@ -1210,48 +1135,6 @@ "dev": true, "optional": true }, - "@intlify/core-base": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", - "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", - "requires": { - "@intlify/devtools-if": "9.2.2", - "@intlify/message-compiler": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2" - } - }, - "@intlify/devtools-if": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", - "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", - "requires": { - "@intlify/shared": "9.2.2" - } - }, - "@intlify/message-compiler": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", - "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", - "requires": { - "@intlify/shared": "9.2.2", - "source-map": "0.6.1" - } - }, - "@intlify/shared": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", - "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" - }, - "@intlify/vue-devtools": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", - "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", - "requires": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2" - } - }, "@swc/helpers": { "version": "0.3.17", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", @@ -1873,17 +1756,6 @@ "@vue/shared": "3.2.39" } }, - "vue-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", - "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", - "requires": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2", - "@vue/devtools-api": "^6.2.1" - } - }, "webrtc-adapter": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz", diff --git a/package.json b/package.json index 7e308a6..8101397 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "shaka-player": "^4.2.1", "stream-browserify": "^3.0.0", "vue": "^3.2.38", - "vue-i18n": "^9.2.2", "xml-js": "^1.6.11" }, "devDependencies": { diff --git a/src/App.vue b/src/App.vue index 51b4257..41b0859 100644 --- a/src/App.vue +++ b/src/App.vue @@ -18,15 +18,15 @@ import Prefs from '@/components/Prefs.vue'; /* Composables */ import { useStore } from '@/scripts/util.js'; -import { useT, useSetupLocale } from '@/scripts/i18n.js'; import { useSetupDB, useUpdatePlaylist } from '@/scripts/db.js'; /* Stores */ import { useData, usePlayer } from '@/stores/player.js'; import { useResults, useArtist } from '@/stores/results.js'; -import { useNav } from '@/stores/misc.js'; +import { useNav, useI18n } from '@/stores/misc.js'; -const store = useStore(), +const { t, setupLocale } = useI18n(), + store = useStore(), data = useData(), player = usePlayer(), results = useResults(), @@ -101,7 +101,7 @@ onBeforeMount(() => { /* Set the default locale if set */ if (store.locale) { - useSetupLocale(store.locale); + setupLocale(store.locale); } }); @@ -160,7 +160,7 @@ onMounted(() => { -
+
diff --git a/src/assets/base.css b/src/assets/base.css index 4ecf542..477bde1 100644 --- a/src/assets/base.css +++ b/src/assets/base.css @@ -181,6 +181,7 @@ body { } button { + padding: 1px 6px; border: none; background: transparent; color: var(--color-text); diff --git a/src/components/Genres.vue b/src/components/Genres.vue index 8771e62..5f51671 100644 --- a/src/components/Genres.vue +++ b/src/components/Genres.vue @@ -5,12 +5,13 @@ import { useResults } from '@/stores/results.js'; import { getJsonHyp } from '@/scripts/fetch.js'; import { useRoute } from '@/scripts/util.js'; -import { useT } from '@/scripts/i18n.js'; +import { useI18n } from '@/stores/misc.js'; import AlbumItem from './AlbumItem.vue'; const props = defineProps(['id']), - { getAlbum } = useResults(); + { getAlbum } = useResults(), + { t } = useI18n(); const data = reactive({ title: '', @@ -57,12 +58,12 @@ onMounted(get);