From deaecdc2dbe298a98b452036da1568401bbed2bd Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Wed, 5 Aug 2026 15:50:02 +0200 Subject: [PATCH 1/3] refactor: split CallButton into CallEndLeaveButton - logic is only used in a single place and only when isInCall Signed-off-by: Maksim Sukharev --- src/components/CallView/BottomBar.vue | 4 +- .../CallView/CallEndLeaveButton.vue | 284 ++++++++++++++++++ src/components/TopBar/CallButton.vue | 251 ++-------------- 3 files changed, 308 insertions(+), 231 deletions(-) create mode 100644 src/components/CallView/CallEndLeaveButton.vue diff --git a/src/components/CallView/BottomBar.vue b/src/components/CallView/BottomBar.vue index 4aeb3a7bc6d..159ace7961d 100644 --- a/src/components/CallView/BottomBar.vue +++ b/src/components/CallView/BottomBar.vue @@ -25,9 +25,9 @@ import IconSubtitles from 'vue-material-design-icons/Subtitles.vue' import IconSubtitlesOutline from 'vue-material-design-icons/SubtitlesOutline.vue' import IconViewGalleryOutline from 'vue-material-design-icons/ViewGalleryOutline.vue' import IconViewGridOutline from 'vue-material-design-icons/ViewGridOutline.vue' -import CallButton from '../TopBar/CallButton.vue' import ReactionMenu from '../TopBar/ReactionMenu.vue' import TopBarMediaControls from '../TopBar/TopBarMediaControls.vue' +import CallEndLeaveButton from './CallEndLeaveButton.vue' import { toggleFullscreen, useDocumentFullscreen, @@ -644,7 +644,7 @@ function changeView() { - + + + + + + diff --git a/src/components/TopBar/CallButton.vue b/src/components/TopBar/CallButton.vue index 76524844082..7f49ff8ee55 100644 --- a/src/components/TopBar/CallButton.vue +++ b/src/components/TopBar/CallButton.vue @@ -3,100 +3,6 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> - - + + From 37e37649335f4a419fc3e0b188ccc80a501b6e72 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Wed, 5 Aug 2026 15:52:28 +0200 Subject: [PATCH 2/3] refactor: drop redundant check - supported natively by component Signed-off-by: Maksim Sukharev --- src/components/CallView/BottomBar.vue | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/CallView/BottomBar.vue b/src/components/CallView/BottomBar.vue index 159ace7961d..db94cb38064 100644 --- a/src/components/CallView/BottomBar.vue +++ b/src/components/CallView/BottomBar.vue @@ -8,7 +8,6 @@ import { showError, } from '@nextcloud/dialogs' import { t } from '@nextcloud/l10n' -import { useIsMobile } from '@nextcloud/vue/composables/useIsMobile' import { useResizeObserver } from '@vueuse/core' import debounce from 'debounce' import { computed, onMounted, onUnmounted, ref, toValue, useTemplateRef } from 'vue' @@ -60,7 +59,6 @@ const settingsStore = useSettingsStore() const isLiveTranscriptionLoading = ref(false) const bottomBar = useTemplateRef('bottomBar') const callButtonWithActions = useTemplateRef('callButtonWithActions') -const isMobile = useIsMobile() const conversation = computed(() => { return store.getters.conversation(token.value) || store.getters.dummyConversation @@ -647,7 +645,8 @@ function changeView() { From 7cd08542c422e553d3c06169f2f9eb071daef649 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Wed, 5 Aug 2026 16:17:00 +0200 Subject: [PATCH 3/3] refactor: migrate to script setup Signed-off-by: Maksim Sukharev --- .../CallView/CallEndLeaveButton.vue | 233 ++++------ src/components/TopBar/CallButton.vue | 406 +++++++----------- 2 files changed, 247 insertions(+), 392 deletions(-) diff --git a/src/components/CallView/CallEndLeaveButton.vue b/src/components/CallView/CallEndLeaveButton.vue index d09c474399e..d6537311120 100644 --- a/src/components/CallView/CallEndLeaveButton.vue +++ b/src/components/CallView/CallEndLeaveButton.vue @@ -3,10 +3,13 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> - diff --git a/src/components/TopBar/CallButton.vue b/src/components/TopBar/CallButton.vue index 7f49ff8ee55..3d5dc721b3e 100644 --- a/src/components/TopBar/CallButton.vue +++ b/src/components/TopBar/CallButton.vue @@ -3,13 +3,16 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> -