diff --git a/front/package.json b/front/package.json index e81081611..e349335da 100644 --- a/front/package.json +++ b/front/package.json @@ -38,6 +38,7 @@ "sass": "1.53.0", "showdown": "2.1.0", "text-clipper": "2.2.0", + "transliteration": "^2.3.5", "vue": "3.2.37", "vue-gettext": "2.1.12", "vue-plyr": "7.0.0", diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index a6696ad41..a29301312 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -122,16 +122,11 @@ const showUserModal = ref(false) const showLanguageModal = ref(false) const showThemeModal = ref(false) -// TODO (wvffle): Use current language this.$language.current -const languageSelection = undefined -// export default { -// watch: { -// languageSelection: function (v) { -// this.$store.dispatch('ui/currentLanguage', v) -// this.$refs.languageModal.closeModal() -// } -// }, -// } +const gettext = useGettext() +const languageSelection = ref(gettext.current) +watch(languageSelection, (v) => { + store.dispatch('ui/currentLanguage', v) +}) watch(() => store.state.auth.authenticated, (authenticated) => { if (authenticated) { diff --git a/front/src/components/audio/ChannelForm.vue b/front/src/components/audio/ChannelForm.vue index ae8d3a8a2..93ff5cdb6 100644 --- a/front/src/components/audio/ChannelForm.vue +++ b/front/src/components/audio/ChannelForm.vue @@ -1,3 +1,145 @@ + + - - diff --git a/front/src/types.ts b/front/src/types.ts index 53d3094c7..1ce8941f2 100644 --- a/front/src/types.ts +++ b/front/src/types.ts @@ -113,6 +113,14 @@ export interface Channel { subscriptions_count: number downloads_count: number content_category: ContentCategory + + metadata?: { + itunes_category?: unknown + itunes_subcategory?: unknown + language?: string + owner_name: string + owner_email: string + } } export type PrivacyLevel = 'everyone' | 'instance' | 'me' diff --git a/front/yarn.lock b/front/yarn.lock index 144566bcc..37eaf5ac8 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -6237,6 +6237,13 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +transliteration@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/transliteration/-/transliteration-2.3.5.tgz#8f92309575f69e4a8a525dab4ff705ebcf961c45" + integrity sha512-HAGI4Lq4Q9dZ3Utu2phaWgtm3vB6PkLUFqWAScg/UW+1eZ/Tg6Exo4oC0/3VUol/w4BlefLhUUSVBr/9/ZGQOw== + dependencies: + yargs "^17.5.1" + ts-jest@28.0.5: version "28.0.5" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.5.tgz#31776f768fba6dfc8c061d488840ed0c8eeac8b9" @@ -6895,7 +6902,7 @@ yargs-parser@^21.0.0, yargs-parser@^21.0.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1: +yargs@^17.3.1, yargs@^17.5.1: version "17.5.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==