Merge branch 'dev'
This commit is contained in:
commit
d7b6d14cf8
28 changed files with 21840 additions and 6321 deletions
5
app-icon_convene_512x512-black.svg
Normal file
5
app-icon_convene_512x512-black.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 78 KiB |
27952
package-lock.json
generated
27952
package-lock.json
generated
File diff suppressed because it is too large
Load diff
17
package.json
17
package.json
|
|
@ -9,11 +9,14 @@
|
||||||
"create-sticker-config": "node ./create_sticker_config.js $1"
|
"create-sticker-config": "node ./create_sticker_config.js $1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@matrix-org/olm": "^3.2.8",
|
"@matrix-org/olm": "^3.2.12",
|
||||||
"aes-js": "^3.1.2",
|
"aes-js": "^3.1.2",
|
||||||
"axios": "^0.21.0",
|
"axios": "^0.21.0",
|
||||||
|
"browserify-fs": "^1.0.0",
|
||||||
|
"buffer": "^6.0.3",
|
||||||
"clean-insights-sdk": "^2.4",
|
"clean-insights-sdk": "^2.4",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"crypto-browserify": "^3.12.0",
|
||||||
"data-uri-to-buffer": "^3.0.1",
|
"data-uri-to-buffer": "^3.0.1",
|
||||||
"dayjs": "^1.10.3",
|
"dayjs": "^1.10.3",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
|
|
@ -26,13 +29,15 @@
|
||||||
"jszip": "^3.9.1",
|
"jszip": "^3.9.1",
|
||||||
"linkifyjs": "3.0.0-beta.3",
|
"linkifyjs": "3.0.0-beta.3",
|
||||||
"material-design-icons-iconfont": "^6.1",
|
"material-design-icons-iconfont": "^6.1",
|
||||||
"matrix-js-sdk": "^17.2.0",
|
"matrix-js-sdk": "^19.7.0",
|
||||||
"md-gum-polyfill": "^1.0.0",
|
"md-gum-polyfill": "^1.0.0",
|
||||||
"mic-recorder-to-mp3": "^2.2.2",
|
"mic-recorder-to-mp3": "^2.2.2",
|
||||||
|
"path-browserify": "^1.0.1",
|
||||||
"pretty-bytes": "^5.6.0",
|
"pretty-bytes": "^5.6.0",
|
||||||
"qrcode": "^1.4.4",
|
"qrcode": "^1.4.4",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"roboto-fontface": "*",
|
"roboto-fontface": "*",
|
||||||
|
"stream-browserify": "^3.0.0",
|
||||||
"v-emoji-picker": "^2.3.1",
|
"v-emoji-picker": "^2.3.1",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-clipboard2": "^0.3.1",
|
"vue-clipboard2": "^0.3.1",
|
||||||
|
|
@ -46,11 +51,11 @@
|
||||||
"vuex-persist": "^3.1.3"
|
"vuex-persist": "^3.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.5.0",
|
"@vue/cli-plugin-babel": "^5.0.8",
|
||||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/cli-service": "~4.5.0",
|
"@vue/cli-service": "^5.0.8",
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"copy-webpack-plugin": "^5.1.2",
|
"copy-webpack-plugin": "^11.0.0",
|
||||||
"eslint": "^7.0",
|
"eslint": "^7.0",
|
||||||
"eslint-plugin-vue": "^7.0",
|
"eslint-plugin-vue": "^7.0",
|
||||||
"sass": "^1.19.0",
|
"sass": "^1.19.0",
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,14 @@
|
||||||
"create-sticker-config": "node ./create_sticker_config.js $1"
|
"create-sticker-config": "node ./create_sticker_config.js $1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@matrix-org/olm": "^3.2.8",
|
"@matrix-org/olm": "^3.2.12",
|
||||||
"aes-js": "^3.1.2",
|
"aes-js": "^3.1.2",
|
||||||
"axios": "^0.21.0",
|
"axios": "^0.21.0",
|
||||||
|
"browserify-fs": "^1.0.0",
|
||||||
|
"buffer": "^6.0.3",
|
||||||
"clean-insights-sdk": "^2.4",
|
"clean-insights-sdk": "^2.4",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"crypto-browserify": "^3.12.0",
|
||||||
"data-uri-to-buffer": "^3.0.1",
|
"data-uri-to-buffer": "^3.0.1",
|
||||||
"dayjs": "^1.10.3",
|
"dayjs": "^1.10.3",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
|
|
@ -29,10 +32,12 @@
|
||||||
"matrix-js-sdk": "^17.2.0",
|
"matrix-js-sdk": "^17.2.0",
|
||||||
"md-gum-polyfill": "^1.0.0",
|
"md-gum-polyfill": "^1.0.0",
|
||||||
"mic-recorder-to-mp3": "^2.2.2",
|
"mic-recorder-to-mp3": "^2.2.2",
|
||||||
|
"path-browserify": "^1.0.1",
|
||||||
"pretty-bytes": "^5.6.0",
|
"pretty-bytes": "^5.6.0",
|
||||||
"qrcode": "^1.4.4",
|
"qrcode": "^1.4.4",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"roboto-fontface": "*",
|
"roboto-fontface": "*",
|
||||||
|
"stream-browserify": "^3.0.0",
|
||||||
"v-emoji-picker": "^2.3.1",
|
"v-emoji-picker": "^2.3.1",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-clipboard2": "^0.3.1",
|
"vue-clipboard2": "^0.3.1",
|
||||||
|
|
@ -46,11 +51,11 @@
|
||||||
"vuex-persist": "^3.1.3"
|
"vuex-persist": "^3.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.5.0",
|
"@vue/cli-plugin-babel": "^5.0.8",
|
||||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/cli-service": "~4.5.0",
|
"@vue/cli-service": "^5.0.8",
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"copy-webpack-plugin": "^5.1.2",
|
"copy-webpack-plugin": "^11.0.0",
|
||||||
"eslint": "^7.0",
|
"eslint": "^7.0",
|
||||||
"eslint-plugin-vue": "^7.0",
|
"eslint-plugin-vue": "^7.0",
|
||||||
"sass": "^1.19.0",
|
"sass": "^1.19.0",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
.cursor-pointer {
|
.cursor-pointer {
|
||||||
cursor: pointer;
|
cursor: pointer !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cursor-default {
|
||||||
|
cursor: default !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cursor-text {
|
||||||
|
cursor: text !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-transform-0 {
|
.text-transform-0 {
|
||||||
|
|
|
||||||
|
|
@ -782,6 +782,8 @@ $admin-fg: white;
|
||||||
width: 64px !important;
|
width: 64px !important;
|
||||||
height: 64px !important;
|
height: 64px !important;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
cursor: default;
|
||||||
|
|
||||||
.headline {
|
.headline {
|
||||||
font-size: 70 * $chat-text-size !important;
|
font-size: 70 * $chat-text-size !important;
|
||||||
}
|
}
|
||||||
|
|
@ -791,6 +793,9 @@ $admin-fg: white;
|
||||||
font-family: "Poppins", sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
|
input {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.topic {
|
.topic {
|
||||||
|
|
@ -1051,6 +1056,16 @@ $admin-fg: white;
|
||||||
background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%), #f5f5f7;
|
background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%), #f5f5f7;
|
||||||
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);
|
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
|
|
||||||
|
input {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h2 {
|
||||||
|
&:hover {
|
||||||
|
cursor: text;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.room-avatar {
|
.room-avatar {
|
||||||
|
|
@ -1058,6 +1073,8 @@ $admin-fg: white;
|
||||||
width: 44px !important;
|
width: 44px !important;
|
||||||
height: 44px !important;
|
height: 44px !important;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
cursor: default;
|
||||||
|
|
||||||
.headline {
|
.headline {
|
||||||
font-size: 70 * $chat-text-size !important;
|
font-size: 70 * $chat-text-size !important;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,8 @@
|
||||||
"purge_failed": "ཁ་བརྡ་ཁང་བཤིག་ཐུབ་མ་སོང་།",
|
"purge_failed": "ཁ་བརྡ་ཁང་བཤིག་ཐུབ་མ་སོང་།",
|
||||||
"purge_removing_members": "ཚོགས་མི་ཁག་ཕྱིར་འདོན།",
|
"purge_removing_members": "ཚོགས་མི་ཁག་ཕྱིར་འདོན།",
|
||||||
"purge_redacting_events": "ཁ་བརྡ་གཙང་གསུབ།",
|
"purge_redacting_events": "ཁ་བརྡ་གཙང་གསུབ།",
|
||||||
"purge_set_room_state": "ཁ་བརྡ་ཁང་གི་རྣམ་པ་སྒྲིག་འགོད།"
|
"purge_set_room_state": "ཁ་བརྡ་ཁང་གི་རྣམ་པ་སྒྲིག་འགོད།",
|
||||||
|
"room_name_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"users_are_typing": "{count} ཚོགས་མི་ཡིས་གཏགས་བཞིན་འདུག",
|
"users_are_typing": "{count} ཚོགས་མི་ཡིས་གཏགས་བཞིན་འདུག",
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,8 @@
|
||||||
"members": "keine Mitglieder | 1 Mitglied | {count} Mitglieder",
|
"members": "keine Mitglieder | 1 Mitglied | {count} Mitglieder",
|
||||||
"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_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:",
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,8 @@
|
||||||
"purge_removing_members": "Removing members",
|
"purge_removing_members": "Removing members",
|
||||||
"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_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:",
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,8 @@
|
||||||
"purge_set_room_state": "Estado de la sala",
|
"purge_set_room_state": "Estado de la sala",
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
"user_powerlevel_change_from_to": "{user} de {powerOld} a {powerNew}",
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,8 @@
|
||||||
},
|
},
|
||||||
"room": {
|
"room": {
|
||||||
"leave": "Poistu",
|
"leave": "Poistu",
|
||||||
"room_list_rooms": "Huoneet"
|
"room_list_rooms": "Huoneet",
|
||||||
|
"room_name_required": ""
|
||||||
},
|
},
|
||||||
"room_welcome": {
|
"room_welcome": {
|
||||||
"room_history_is": "Huoneen historia on {type}.",
|
"room_history_is": "Huoneen historia on {type}.",
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,8 @@
|
||||||
"purge_removing_members": "Suppression de membres",
|
"purge_removing_members": "Suppression de membres",
|
||||||
"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_welcome": {
|
"room_welcome": {
|
||||||
"info": "Bienvenue ! Voici quelques informations à connaître sur votre salon :",
|
"info": "Bienvenue ! Voici quelques informations à connaître sur votre salon :",
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,8 @@
|
||||||
"purge_redacting_events": "Redazione di eventi",
|
"purge_redacting_events": "Redazione di eventi",
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"reply": "Risposta",
|
"reply": "Risposta",
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,8 @@
|
||||||
"room_list_rooms": "Rom",
|
"room_list_rooms": "Rom",
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
"purge_room": {
|
"purge_room": {
|
||||||
"n_seconds": "{seconds} sekunder",
|
"n_seconds": "{seconds} sekunder",
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@
|
||||||
"purge_failed": "Houve uma falha ao eliminar a sala!",
|
"purge_failed": "Houve uma falha ao eliminar a sala!",
|
||||||
"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_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:",
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,8 @@
|
||||||
"purge_redacting_events": "Redactarea evenimentelor",
|
"purge_redacting_events": "Redactarea evenimentelor",
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
"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ă",
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,8 @@
|
||||||
"purge_redacting_events": "پائالىيەتلەرنى تەھرىرلەش",
|
"purge_redacting_events": "پائالىيەتلەرنى تەھرىرلەش",
|
||||||
"purge_set_room_state": "مۇنازىرەخانىنىڭ شەرتىنى قۇرۇش",
|
"purge_set_room_state": "مۇنازىرەخانىنىڭ شەرتىنى قۇرۇش",
|
||||||
"leave": "كېتىش",
|
"leave": "كېتىش",
|
||||||
"members": "ئەزالار يوق | بىر ئەزا | [نەپەر] ئەزا"
|
"members": "ئەزالار يوق | بىر ئەزا | [نەپەر] ئەزا",
|
||||||
|
"room_name_required": ""
|
||||||
},
|
},
|
||||||
"leave": {
|
"leave": {
|
||||||
"text_public_lastroom": "ئەگەر بۇ ئۆيگە يەنە قوشۇلماقچى بولسىڭىز ، يېڭى سالاھىيەت ئاستىدا قاتناشسىڭىز بولىدۇ. {ئىشلەتكۈچى} ، {ھەرىكەت} نى ساقلاش.",
|
"text_public_lastroom": "ئەگەر بۇ ئۆيگە يەنە قوشۇلماقچى بولسىڭىز ، يېڭى سالاھىيەت ئاستىدا قاتناشسىڭىز بولىدۇ. {ئىشلەتكۈچى} ، {ھەرىكەت} نى ساقلاش.",
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,8 @@
|
||||||
"purge_failed": "删除聊天室失败了!",
|
"purge_failed": "删除聊天室失败了!",
|
||||||
"purge_removing_members": "移除成员",
|
"purge_removing_members": "移除成员",
|
||||||
"purge_redacting_events": "编辑事件",
|
"purge_redacting_events": "编辑事件",
|
||||||
"purge_set_room_state": "设置聊天室状态"
|
"purge_set_room_state": "设置聊天室状态",
|
||||||
|
"room_name_required": ""
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"you": "您",
|
"you": "您",
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
color="black"
|
color="black"
|
||||||
:rules="roomNamerules"
|
:rules="roomNamerules"
|
||||||
counter="50"
|
counter="50"
|
||||||
|
maxlength="50"
|
||||||
background-color="white"
|
background-color="white"
|
||||||
v-on:keyup.enter="$refs.topic.focus()"
|
v-on:keyup.enter="$refs.topic.focus()"
|
||||||
:disabled="step > steps.INITIAL"
|
:disabled="step > steps.INITIAL"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<v-avatar :class="{'room-avatar':true, 'cursor-pointer':userCanPurgeRoom}" @click="userCanPurgeRoom?showRoomAvatarPicker:null" v-if="isRoomAvatarLoaded">
|
<v-avatar :class="{'room-avatar':true, 'cursor-pointer':userCanPurgeRoom}" @click="userCanPurgeRoom?showRoomAvatarPicker():null" v-if="isRoomAvatarLoaded">
|
||||||
<v-img v-if="roomAvatar" :src="roomAvatar"/>
|
<v-img v-if="roomAvatar" :src="roomAvatar"/>
|
||||||
<span v-else class="white--text headline">{{
|
<span v-else class="white--text headline">{{
|
||||||
roomName.substring(0, 1).toUpperCase()
|
roomName.substring(0, 1).toUpperCase()
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,33 @@
|
||||||
|
|
||||||
<div class="members ma-3 pa-3 mt-0 pt-0 text-center">
|
<div class="members ma-3 pa-3 mt-0 pt-0 text-center">
|
||||||
<room-avatar-picker />
|
<room-avatar-picker />
|
||||||
<div class="name">{{ roomName }}</div>
|
<div :class="{'name':true,'cursor-default':!userCanPurgeRoom}">
|
||||||
|
<span
|
||||||
|
v-if="!isEditMode"
|
||||||
|
@click="onRoomNameClicked()"
|
||||||
|
>
|
||||||
|
{{ roomName }}
|
||||||
|
</span>
|
||||||
|
<v-text-field
|
||||||
|
v-model="editedRoomName"
|
||||||
|
ref="editedRoomName"
|
||||||
|
:rules="[(v) => !!v || $t('room.room_name_required')]"
|
||||||
|
:error="roomNameErrorMessage != null"
|
||||||
|
:error-messages="roomNameErrorMessage"
|
||||||
|
required
|
||||||
|
color="black"
|
||||||
|
counter="50"
|
||||||
|
background-color="white"
|
||||||
|
autofocus
|
||||||
|
v-if="isEditMode"
|
||||||
|
maxlength="50"
|
||||||
|
@blur="updateRoomName()"
|
||||||
|
@keyup.enter="updateRoomName()"
|
||||||
|
solo
|
||||||
|
></v-text-field>
|
||||||
|
</div>
|
||||||
<div class="topic">{{ roomTopic }}</div>
|
<div class="topic">{{ roomTopic }}</div>
|
||||||
<div class="created-by">
|
<div :class="{'created-by':true, 'cursor-default':!userCanPurgeRoom}">
|
||||||
{{ $t("room_info.created_by", { user: creator }) }}
|
{{ $t("room_info.created_by", { user: creator }) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,30 @@
|
||||||
<div class="text-center current-room">
|
<div class="text-center current-room">
|
||||||
<room-avatar-picker />
|
<room-avatar-picker />
|
||||||
<div class="h4">{{$t('room_info_sheet.this_room')}}</div>
|
<div class="h4">{{$t('room_info_sheet.this_room')}}</div>
|
||||||
<div class="h2">{{ roomName }}</div>
|
<div
|
||||||
|
class="h2"
|
||||||
|
v-if="!isEditMode"
|
||||||
|
@click="onRoomNameClicked()"
|
||||||
|
>
|
||||||
|
{{ roomName }}
|
||||||
|
</div>
|
||||||
|
<v-text-field
|
||||||
|
v-model="editedRoomName"
|
||||||
|
ref="editedRoomName"
|
||||||
|
:rules="[(v) => !!v || $t('room.room_name_required')]"
|
||||||
|
:error="roomNameErrorMessage != null"
|
||||||
|
:error-messages="roomNameErrorMessage"
|
||||||
|
required
|
||||||
|
color="black"
|
||||||
|
counter="50"
|
||||||
|
background-color="white"
|
||||||
|
autofocus
|
||||||
|
v-if="isEditMode"
|
||||||
|
maxlength="50"
|
||||||
|
@blur="updateRoomName()"
|
||||||
|
@keyup.enter="updateRoomName()"
|
||||||
|
solo
|
||||||
|
></v-text-field>
|
||||||
<v-btn
|
<v-btn
|
||||||
id="btn-room-details"
|
id="btn-room-details"
|
||||||
height="20px"
|
height="20px"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
rememberMe: false
|
rememberMe: this.$store.state.useLocalStorage
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,10 @@ export default {
|
||||||
return {
|
return {
|
||||||
roomJoinRule: null,
|
roomJoinRule: null,
|
||||||
userCanChangeJoinRule: false,
|
userCanChangeJoinRule: false,
|
||||||
userCanPurgeRoom: false
|
userCanPurgeRoom: false,
|
||||||
|
editedRoomName: "",
|
||||||
|
isEditMode: false,
|
||||||
|
roomNameErrorMessage: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -88,6 +91,20 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onRoomNameClicked() {
|
||||||
|
if(this.userCanPurgeRoom) {
|
||||||
|
this.isEditMode = !this.isEditMode;
|
||||||
|
this.editedRoomName = this.roomName;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
updateRoomName() {
|
||||||
|
if(this.editedRoomName) {
|
||||||
|
this.$matrix.matrixClient.setRoomName(this.room.roomId, this.editedRoomName);
|
||||||
|
this.isEditMode = !this.isEditMode;
|
||||||
|
} else {
|
||||||
|
this.$refs.editedRoomName.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
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import olm from "@matrix-org/olm/olm";
|
import olm from "@matrix-org/olm/olm";
|
||||||
global.Olm = olm;
|
global.Olm = olm;
|
||||||
import sdk from "matrix-js-sdk";
|
import * as sdk from "matrix-js-sdk";
|
||||||
import { TimelineWindow, EventTimeline } from "matrix-js-sdk";
|
import { TimelineWindow, EventTimeline } from "matrix-js-sdk";
|
||||||
import util from "../plugins/utils";
|
import util from "../plugins/utils";
|
||||||
import User from "../models/user";
|
import User from "../models/user";
|
||||||
|
|
@ -230,15 +230,11 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
const matrixStore = new sdk.MemoryStore(this.$store.getters.storage);
|
const matrixStore = new sdk.MemoryStore(this.$store.getters.storage);
|
||||||
const webStorageSessionStore = new sdk.WebStorageSessionStore(
|
|
||||||
this.$store.getters.storage
|
|
||||||
);
|
|
||||||
|
|
||||||
var opts = {
|
var opts = {
|
||||||
baseUrl: user.home_server,
|
baseUrl: user.home_server,
|
||||||
userId: user.user_id,
|
userId: user.user_id,
|
||||||
store: matrixStore,
|
store: matrixStore,
|
||||||
sessionStore: webStorageSessionStore,
|
|
||||||
deviceId: user.device_id,
|
deviceId: user.device_id,
|
||||||
accessToken: user.access_token,
|
accessToken: user.access_token,
|
||||||
timelineSupport: true,
|
timelineSupport: true,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
||||||
|
const webpack = require("webpack");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
transpileDependencies: ["vuetify"],
|
transpileDependencies: ["vuetify"],
|
||||||
|
|
@ -15,8 +16,23 @@ module.exports = {
|
||||||
|
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
devtool: "source-map",
|
devtool: "source-map",
|
||||||
|
resolve: {
|
||||||
|
fallback: {
|
||||||
|
"path": require.resolve("path-browserify"),
|
||||||
|
"crypto": false, //require.resolve("crypto-browserify"),
|
||||||
|
"stream": require.resolve("stream-browserify"),
|
||||||
|
"fs": require.resolve("browserify-fs"),
|
||||||
|
"buffer": require.resolve("buffer")
|
||||||
|
}
|
||||||
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new CopyWebpackPlugin([
|
new webpack.ProvidePlugin({
|
||||||
|
Buffer: ['buffer', 'Buffer'],
|
||||||
|
}),
|
||||||
|
new webpack.ProvidePlugin({
|
||||||
|
process: 'process/browser',
|
||||||
|
}),
|
||||||
|
new CopyWebpackPlugin({patterns: [
|
||||||
{
|
{
|
||||||
from: "./src/assets/config.json",
|
from: "./src/assets/config.json",
|
||||||
to: "./",
|
to: "./",
|
||||||
|
|
@ -25,7 +41,7 @@ module.exports = {
|
||||||
from: "./node_modules/@matrix-org/olm/olm.wasm",
|
from: "./node_modules/@matrix-org/olm/olm.wasm",
|
||||||
to: "./js/olm.wasm",
|
to: "./js/olm.wasm",
|
||||||
},
|
},
|
||||||
]),
|
]}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue