Room description editable
This commit is contained in:
parent
4791f9f16e
commit
cfa0d6a05d
16 changed files with 77 additions and 21 deletions
|
|
@ -804,6 +804,10 @@ $admin-fg: white;
|
||||||
.topic {
|
.topic {
|
||||||
font-family: "Inter", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
|
input {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.created-by {
|
.created-by {
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,8 @@
|
||||||
"purge_removing_members": "ཚོགས་མི་ཁག་ཕྱིར་འདོན།",
|
"purge_removing_members": "ཚོགས་མི་ཁག་ཕྱིར་འདོན།",
|
||||||
"purge_redacting_events": "ཁ་བརྡ་གཙང་གསུབ།",
|
"purge_redacting_events": "ཁ་བརྡ་གཙང་གསུབ།",
|
||||||
"purge_set_room_state": "ཁ་བརྡ་ཁང་གི་རྣམ་པ་སྒྲིག་འགོད།",
|
"purge_set_room_state": "ཁ་བརྡ་ཁང་གི་རྣམ་པ་སྒྲིག་འགོད།",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"users_are_typing": "{count} ཚོགས་མི་ཡིས་གཏགས་བཞིན་འདུག",
|
"users_are_typing": "{count} ཚོགས་མི་ཡིས་གཏགས་བཞིན་འདུག",
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,8 @@
|
||||||
"purge_removing_members": "Entfernen von Mitgliedern",
|
"purge_removing_members": "Entfernen von Mitgliedern",
|
||||||
"purge_failed": "Fehler beim Bereinigen des Raums!",
|
"purge_failed": "Fehler beim Bereinigen des Raums!",
|
||||||
"room_list_rooms": "Räume",
|
"room_list_rooms": "Räume",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"info": "Herzlich willkommen! Hier sind ein paar Dinge, die du über deinen Raum wissen solltest:",
|
"info": "Herzlich willkommen! Hier sind ein paar Dinge, die du über deinen Raum wissen solltest:",
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,8 @@
|
||||||
"purge_failed": "Failed to purge room!",
|
"purge_failed": "Failed to purge room!",
|
||||||
"room_list_invites": "Invites",
|
"room_list_invites": "Invites",
|
||||||
"room_list_rooms": "Rooms",
|
"room_list_rooms": "Rooms",
|
||||||
"room_name_required": "Room name is required"
|
"room_name_required": "Room name is required",
|
||||||
|
"room_topic_required": "Room description is required"
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"info": "Welcome! Here are a few things to know about your room:",
|
"info": "Welcome! Here are a few things to know about your room:",
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,8 @@
|
||||||
"purge_removing_members": "Eliminar miembros",
|
"purge_removing_members": "Eliminar miembros",
|
||||||
"purge_failed": "¡Fallo en la purga de la sala!",
|
"purge_failed": "¡Fallo en la purga de la sala!",
|
||||||
"room_list_rooms": "Salas",
|
"room_list_rooms": "Salas",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,8 @@
|
||||||
"room": {
|
"room": {
|
||||||
"leave": "Poistu",
|
"leave": "Poistu",
|
||||||
"room_list_rooms": "Huoneet",
|
"room_list_rooms": "Huoneet",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"room_history_is": "Huoneen historia on {type}.",
|
"room_history_is": "Huoneen historia on {type}.",
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,8 @@
|
||||||
"room_list_invites": "Invitations",
|
"room_list_invites": "Invitations",
|
||||||
"room_list_rooms": "Salons",
|
"room_list_rooms": "Salons",
|
||||||
"purge_redacting_events": "Rédaction des évènements",
|
"purge_redacting_events": "Rédaction des évènements",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"info": "Bienvenue ! Voici quelques informations à connaître sur votre salon :",
|
"info": "Bienvenue ! Voici quelques informations à connaître sur votre salon :",
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,8 @@
|
||||||
"purge_failed": "Impossibile pulire la stanza!",
|
"purge_failed": "Impossibile pulire la stanza!",
|
||||||
"room_list_invites": "Inviti",
|
"room_list_invites": "Inviti",
|
||||||
"room_list_rooms": "Stanze",
|
"room_list_rooms": "Stanze",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"reply": "Risposta",
|
"reply": "Risposta",
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,8 @@
|
||||||
"room_list_invites": "Invitasjoner",
|
"room_list_invites": "Invitasjoner",
|
||||||
"purge_set_room_state": "Setter romtilstand",
|
"purge_set_room_state": "Setter romtilstand",
|
||||||
"leave": "Forlat",
|
"leave": "Forlat",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"purge_room": {
|
"purge_room": {
|
||||||
"n_seconds": "{seconds} sekunder",
|
"n_seconds": "{seconds} sekunder",
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,8 @@
|
||||||
"room_list_invites": "Convites",
|
"room_list_invites": "Convites",
|
||||||
"room_list_rooms": "Salas",
|
"room_list_rooms": "Salas",
|
||||||
"invitations": "Você não tem convites | Você tem 1 convite | Você tem {count} convites",
|
"invitations": "Você não tem convites | Você tem 1 convite | Você tem {count} convites",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"info": "Bem-vindo! Aqui estão algumas coisas que você deve saber sobre a sua sala:",
|
"info": "Bem-vindo! Aqui estão algumas coisas que você deve saber sobre a sua sala:",
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,8 @@
|
||||||
"purge_set_room_state": "Setarea stării camerei",
|
"purge_set_room_state": "Setarea stării camerei",
|
||||||
"leave": "Lăsați",
|
"leave": "Lăsați",
|
||||||
"members": "fără membri | 1 membru | {count} membri",
|
"members": "fără membri | 1 membru | {count} membri",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"user_changed_guest_access_open": "{user} a permis oaspeților să intre în cameră",
|
"user_changed_guest_access_open": "{user} a permis oaspeților să intre în cameră",
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,8 @@
|
||||||
"purge_set_room_state": "مۇنازىرەخانىنىڭ شەرتىنى قۇرۇش",
|
"purge_set_room_state": "مۇنازىرەخانىنىڭ شەرتىنى قۇرۇش",
|
||||||
"leave": "كېتىش",
|
"leave": "كېتىش",
|
||||||
"members": "ئەزالار يوق | بىر ئەزا | [نەپەر] ئەزا",
|
"members": "ئەزالار يوق | بىر ئەزا | [نەپەر] ئەزا",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"leave": {
|
"leave": {
|
||||||
"text_public_lastroom": "ئەگەر بۇ ئۆيگە يەنە قوشۇلماقچى بولسىڭىز ، يېڭى سالاھىيەت ئاستىدا قاتناشسىڭىز بولىدۇ. {ئىشلەتكۈچى} ، {ھەرىكەت} نى ساقلاش.",
|
"text_public_lastroom": "ئەگەر بۇ ئۆيگە يەنە قوشۇلماقچى بولسىڭىز ، يېڭى سالاھىيەت ئاستىدا قاتناشسىڭىز بولىدۇ. {ئىشلەتكۈچى} ، {ھەرىكەت} نى ساقلاش.",
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,8 @@
|
||||||
"purge_removing_members": "移除成员",
|
"purge_removing_members": "移除成员",
|
||||||
"purge_redacting_events": "编辑事件",
|
"purge_redacting_events": "编辑事件",
|
||||||
"purge_set_room_state": "设置聊天室状态",
|
"purge_set_room_state": "设置聊天室状态",
|
||||||
"room_name_required": ""
|
"room_name_required": "",
|
||||||
|
"room_topic_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"you": "您",
|
"you": "您",
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,13 @@
|
||||||
<room-avatar-picker />
|
<room-avatar-picker />
|
||||||
<div :class="{'name':true,'cursor-default':!userCanPurgeRoom}">
|
<div :class="{'name':true,'cursor-default':!userCanPurgeRoom}">
|
||||||
<span
|
<span
|
||||||
v-if="!isEditMode"
|
v-if="!isRoomNameEditMode"
|
||||||
@click="onRoomNameClicked()"
|
@click="onRoomNameClicked()"
|
||||||
>
|
>
|
||||||
{{ roomName }}
|
{{ roomName }}
|
||||||
</span>
|
</span>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
|
v-else
|
||||||
v-model="editedRoomName"
|
v-model="editedRoomName"
|
||||||
ref="editedRoomName"
|
ref="editedRoomName"
|
||||||
:rules="[(v) => !!v || $t('room.room_name_required')]"
|
:rules="[(v) => !!v || $t('room.room_name_required')]"
|
||||||
|
|
@ -43,14 +44,36 @@
|
||||||
counter="50"
|
counter="50"
|
||||||
background-color="white"
|
background-color="white"
|
||||||
autofocus
|
autofocus
|
||||||
v-if="isEditMode"
|
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
@blur="updateRoomName()"
|
@blur="updateRoomName()"
|
||||||
@keyup.enter="updateRoomName()"
|
@keyup.enter="updateRoomName()"
|
||||||
solo
|
solo
|
||||||
></v-text-field>
|
></v-text-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="topic">{{ roomTopic }}</div>
|
<div :class="{'topic':true,'cursor-default':!userCanPurgeRoom}">
|
||||||
|
<span
|
||||||
|
v-if="!isRoomTopicEditMode"
|
||||||
|
@click="onRoomTopicClicked()"
|
||||||
|
>
|
||||||
|
{{ roomTopic }}
|
||||||
|
</span>
|
||||||
|
<v-text-field
|
||||||
|
v-else
|
||||||
|
v-model="editedRoomTopic"
|
||||||
|
ref="editedRoomTopic"
|
||||||
|
:rules="[(v) => !!v || $t('room.room_topic_required')]"
|
||||||
|
:error="roomTopicErrorMessage != null"
|
||||||
|
:error-messages="roomTopicErrorMessage"
|
||||||
|
required
|
||||||
|
color="black"
|
||||||
|
background-color="white"
|
||||||
|
autofocus
|
||||||
|
@blur="updateRoomTopic()"
|
||||||
|
@keyup.enter="updateRoomTopic()"
|
||||||
|
solo
|
||||||
|
>
|
||||||
|
</v-text-field>
|
||||||
|
</div>
|
||||||
<div :class="{'created-by':true, 'cursor-default':!userCanPurgeRoom}">
|
<div :class="{'created-by':true, 'cursor-default':!userCanPurgeRoom}">
|
||||||
{{ $t("room_info.created_by", { user: creator }) }}
|
{{ $t("room_info.created_by", { user: creator }) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<div class="h4">{{$t('room_info_sheet.this_room')}}</div>
|
<div class="h4">{{$t('room_info_sheet.this_room')}}</div>
|
||||||
<div
|
<div
|
||||||
class="h2"
|
class="h2"
|
||||||
v-if="!isEditMode"
|
v-if="!isRoomNameEditMode"
|
||||||
@click="onRoomNameClicked()"
|
@click="onRoomNameClicked()"
|
||||||
>
|
>
|
||||||
{{ roomName }}
|
{{ roomName }}
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
counter="50"
|
counter="50"
|
||||||
background-color="white"
|
background-color="white"
|
||||||
autofocus
|
autofocus
|
||||||
v-if="isEditMode"
|
v-if="isRoomNameEditMode"
|
||||||
maxlength="50"
|
maxlength="50"
|
||||||
@blur="updateRoomName()"
|
@blur="updateRoomName()"
|
||||||
@keyup.enter="updateRoomName()"
|
@keyup.enter="updateRoomName()"
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,11 @@ export default {
|
||||||
userCanChangeJoinRule: false,
|
userCanChangeJoinRule: false,
|
||||||
userCanPurgeRoom: false,
|
userCanPurgeRoom: false,
|
||||||
editedRoomName: "",
|
editedRoomName: "",
|
||||||
isEditMode: false,
|
isRoomNameEditMode: false,
|
||||||
roomNameErrorMessage: null
|
roomNameErrorMessage: null,
|
||||||
|
editedRoomTopic: "",
|
||||||
|
isRoomTopicEditMode: false,
|
||||||
|
roomTopicErrorMessage: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -93,18 +96,32 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
onRoomNameClicked() {
|
onRoomNameClicked() {
|
||||||
if(this.userCanPurgeRoom) {
|
if(this.userCanPurgeRoom) {
|
||||||
this.isEditMode = !this.isEditMode;
|
this.isRoomNameEditMode = !this.isRoomNameEditMode;
|
||||||
this.editedRoomName = this.roomName;
|
this.editedRoomName = this.roomName;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateRoomName() {
|
updateRoomName() {
|
||||||
if(this.editedRoomName) {
|
if(this.editedRoomName) {
|
||||||
this.$matrix.matrixClient.setRoomName(this.room.roomId, this.editedRoomName);
|
this.$matrix.matrixClient.setRoomName(this.room.roomId, this.editedRoomName);
|
||||||
this.isEditMode = !this.isEditMode;
|
this.isRoomNameEditMode = !this.isRoomNameEditMode;
|
||||||
} else {
|
} else {
|
||||||
this.$refs.editedRoomName.focus();
|
this.$refs.editedRoomName.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onRoomTopicClicked() {
|
||||||
|
if(this.userCanPurgeRoom) {
|
||||||
|
this.isRoomTopicEditMode = !this.isRoomTopicEditMode;
|
||||||
|
this.editedRoomTopic = this.roomTopic;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
updateRoomTopic() {
|
||||||
|
if(this.editedRoomTopic) {
|
||||||
|
this.$matrix.matrixClient.setRoomTopic(this.room.roomId, this.editedRoomTopic);
|
||||||
|
this.isRoomTopicEditMode = !this.isRoomTopicEditMode;
|
||||||
|
} else {
|
||||||
|
this.$refs.editedRoomTopic.focus();
|
||||||
|
}
|
||||||
|
},
|
||||||
setRoomJoinRule(ignoredJoinRule) {
|
setRoomJoinRule(ignoredJoinRule) {
|
||||||
// Do nothing in the general mixin, override in RoomInfo.vue
|
// Do nothing in the general mixin, override in RoomInfo.vue
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue