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==