diff --git a/src/assets/translations/bo.json b/src/assets/translations/bo.json index 42d9488..0ad9610 100644 --- a/src/assets/translations/bo.json +++ b/src/assets/translations/bo.json @@ -70,7 +70,8 @@ "name_room": "ཁ་བརྡ་ཁང་ལ་མིང་ཐོགས།", "room_topic": "གལ་ཏེ་འདོད་པ་ཡོད་ན། ཚོགས་པའི་སྐོར་གྱི་འགྲེལ་བཤད་ཐུང་ངུ་ཞིག་འབྲི་ཆོག", "create": "བཟོས།", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "menu": { "logout": "ཕྱིར་ཐོན།", diff --git a/src/assets/translations/de.json b/src/assets/translations/de.json index bdd50f5..5af960b 100644 --- a/src/assets/translations/de.json +++ b/src/assets/translations/de.json @@ -96,7 +96,8 @@ "next": "Nächste", "name_room": "Raum benennen", "room_topic": "Füge eine Beschreibung hinzu, wenn du möchtest", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "device_list": { "title": "GERÄTE", diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index b795483..5a3fa1a 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -106,7 +106,8 @@ "status_creating": "Creating room", "status_avatar_total": "Uploading avatar: {count} of {total}", "status_avatar": "Uploading avatar: {count}", - "room_name_limit_error_msg": "Maximum 50 characters allowed" + "room_name_limit_error_msg": "Maximum 50 characters allowed", + "colon_not_allowed": "Colon is not allowed" }, "device_list": { "title": "DEVICES", diff --git a/src/assets/translations/es.json b/src/assets/translations/es.json index db9243e..ce9a3e6 100644 --- a/src/assets/translations/es.json +++ b/src/assets/translations/es.json @@ -122,7 +122,8 @@ "new_room": "Nueva Sala", "create": "Crear", "room_topic": "Añade una descripción si quieres", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "room_welcome": { "join_public": "Cualquiera puede unirse abriendo este vínculo: {link}", diff --git a/src/assets/translations/fi.json b/src/assets/translations/fi.json index aba08c7..d1f274b 100644 --- a/src/assets/translations/fi.json +++ b/src/assets/translations/fi.json @@ -28,7 +28,8 @@ "add_people": "Lisää ihmisiä", "link_copied": "Linkki kopioitu!", "public_info": "Kuka tahansa, jolla on linkki", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "purge_room": { "n_seconds": "{seconds} sekuntia", diff --git a/src/assets/translations/fr.json b/src/assets/translations/fr.json index b4a1dad..6cd2c6e 100644 --- a/src/assets/translations/fr.json +++ b/src/assets/translations/fr.json @@ -96,7 +96,8 @@ "public_info": "Quiconque avec un lien", "join_permissions_info": "Ces autorisations déterminent comment les personnes peuvent rejoindre le salon et avec quelle facilité d’autres personnes peuvent être invitées. Elles peuvent être modifiées à tout moment.", "status_creating": "Création du salon", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "device_list": { "title": "APPAREILS", diff --git a/src/assets/translations/it.json b/src/assets/translations/it.json index 7e2017b..6bfcc62 100644 --- a/src/assets/translations/it.json +++ b/src/assets/translations/it.json @@ -95,7 +95,8 @@ "invite_info": "Solo le persone aggiunte", "join_permissions_info": "Questi permessi determinano come le persone possono entrare nella stanza e quanto facilmente gli altri possono essere invitati. Possono essere cambiati in qualsiasi momento.", "public_info": "Chiunque abbia un collegamento", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "device_list": { "title": "DISPOSITIVI", diff --git a/src/assets/translations/nb_NO.json b/src/assets/translations/nb_NO.json index 1e0342d..a8f00b5 100644 --- a/src/assets/translations/nb_NO.json +++ b/src/assets/translations/nb_NO.json @@ -115,7 +115,8 @@ "next": "Neste", "create": "Opprett", "new_room": "Nytt rom", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "room_welcome": { "room_history_is": "Romhistorikken er {type}.", diff --git a/src/assets/translations/pt_BR.json b/src/assets/translations/pt_BR.json index 8c395dc..c322a1e 100644 --- a/src/assets/translations/pt_BR.json +++ b/src/assets/translations/pt_BR.json @@ -119,7 +119,8 @@ "status_creating": "Criando a sala", "status_avatar_total": "Enviando o avatar: {count} de {total}", "status_avatar": "Enviando avatar: {count}", - "room_name_limit_error_msg": "O máximo de 50 caracteres são permitidos" + "room_name_limit_error_msg": "O máximo de 50 caracteres são permitidos", + "colon_not_allowed": "" }, "device_list": { "title": "DISPOSITIVOS", diff --git a/src/assets/translations/ro.json b/src/assets/translations/ro.json index d9df0b9..e8c59b9 100644 --- a/src/assets/translations/ro.json +++ b/src/assets/translations/ro.json @@ -167,7 +167,8 @@ "next": "Următorul", "create": "Creați", "new_room": "Cameră nouă", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "room_welcome": { "got_it": "L-am prins", diff --git a/src/assets/translations/ug.json b/src/assets/translations/ug.json index 1df59c3..339ab19 100644 --- a/src/assets/translations/ug.json +++ b/src/assets/translations/ug.json @@ -84,7 +84,8 @@ "next": "كېيىنكى", "create": "قۇرۇش", "new_room": "يېڭى مۇنازىرەخانا", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "room": { "purge_failed": "مۇنازىرەخانىنى يۇيۇش مەغلۇب بولدى!", diff --git a/src/assets/translations/zh_Hans.json b/src/assets/translations/zh_Hans.json index 570f338..d83e981 100644 --- a/src/assets/translations/zh_Hans.json +++ b/src/assets/translations/zh_Hans.json @@ -217,7 +217,8 @@ "new_room": "新的聊天室", "room_topic": "如果您愿意,请添加说明", "create": "创建", - "room_name_limit_error_msg": "" + "room_name_limit_error_msg": "", + "colon_not_allowed": "" }, "room_welcome": { "got_it": "知道了", diff --git a/src/components/CreateRoom.vue b/src/components/CreateRoom.vue index 79fa4bc..3332e2a 100644 --- a/src/components/CreateRoom.vue +++ b/src/components/CreateRoom.vue @@ -52,6 +52,7 @@ :disabled="step > steps.INITIAL" autofocus solo + @update:error="updateErrorState" >
{{ $t("new_room.room_topic") }}
+
{{roomCreationErrorMsg}}
{{ status }} @@ -298,7 +300,12 @@ export default { name: "" }, enterRoomDialog: false, - roomNamerules: [v => v.length <= 50 || this.$t("new_room.room_name_limit_error_msg")], + roomNamerules: [ + v => v.length <= 50 || this.$t("new_room.room_name_limit_error_msg"), + v => !v.includes(':') || this.$t("new_room.colon_not_allowed") + ], + roomNameHasError: false, + roomCreationErrorMsg: "" }; }, @@ -318,6 +325,9 @@ export default { }, }, computed: { + isDisabled() { + return this.status ? true : this.roomName.length === 0 || this.roomName.length > 50 || this.roomNameHasError + }, roomAvatarLetter() { if (!this.roomName) { return null; @@ -337,6 +347,9 @@ export default { }, methods: { + updateErrorState(errorState) { + this.roomNameHasError = errorState + }, goBack() { if (this.step == steps.NAME_SET) { this.step = steps.INITIAL; @@ -578,10 +591,8 @@ export default { return roomId; }) .catch((error) => { - this.status = - (error.data && error.data.error) || - error.message || - error.toString(); + this.status = "" + this.roomCreationErrorMsg = (error.data && error.data.error) || error.message || error.toString(); this.step = steps.INITIAL; // revert return null; });