From cfc14f05a04f60852cb2b515be9b89b10b2a4a2c Mon Sep 17 00:00:00 2001 From: N Pex Date: Mon, 7 Aug 2023 14:13:35 +0000 Subject: [PATCH] Only allow admins to change room mode --- src/components/Chat.vue | 7 +-- src/components/RoomInfo.vue | 48 +++++++++++++-------- src/components/file_mode/FileDropLayout.vue | 2 +- src/components/roomInfoMixin.js | 4 +- src/components/roomTypeMixin.js | 43 +++++++++++++++++- src/plugins/utils.js | 34 +++++---------- 6 files changed, 90 insertions(+), 48 deletions(-) diff --git a/src/components/Chat.vue b/src/components/Chat.vue index 6f294a2..7cbb7c3 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -358,6 +358,7 @@ import AudioLayout from "./AudioLayout.vue"; import FileDropLayout from "./file_mode/FileDropLayout"; import { requestNotificationAndServiceWorker, windowNotificationPermission, notificationCount } from "../plugins/notificationAndServiceWorker.js" import logoMixin from "./logoMixin"; +import roomTypeMixin from "./roomTypeMixin"; const sizeOf = require("image-size"); const dataUriToBuffer = require("data-uri-to-buffer"); @@ -393,7 +394,7 @@ ScrollPosition.prototype.prepareFor = function (direction) { export default { name: "Chat", - mixins: [chatMixin, logoMixin], + mixins: [chatMixin, logoMixin, roomTypeMixin], components: { ChatHeader, MessageOperations, @@ -652,13 +653,13 @@ export default { useVoiceMode: { get: function () { if (!this.$config.experimental_voice_mode) return false; - return util.roomDisplayType(this.room) === ROOM_TYPE_VOICE_MODE; + return (util.roomDisplayTypeOverride(this.room) || this.roomDisplayType) === ROOM_TYPE_VOICE_MODE; }, }, useFileModeNonAdmin: { get: function() { if (!this.$config.experimental_file_mode) return false; - return util.roomDisplayType(this.room) === ROOM_TYPE_FILE_MODE && !this.canCreatePoll; // TODO - Check user or admin + return (util.roomDisplayTypeOverride(this.room) || this.roomDisplayType) === ROOM_TYPE_FILE_MODE && !this.canCreatePoll; // TODO - Check user or admin } }, diff --git a/src/components/RoomInfo.vue b/src/components/RoomInfo.vue index 0468e81..8fc0fa3 100644 --- a/src/components/RoomInfo.vue +++ b/src/components/RoomInfo.vue @@ -138,9 +138,9 @@ - +