diff --git a/src/components/LeftSidebar/CallPhoneDialog/CallPhoneDialog.vue b/src/components/LeftSidebar/CallPhoneDialog/CallPhoneDialog.vue index 4c0980af500..08f7426f27e 100644 --- a/src/components/LeftSidebar/CallPhoneDialog/CallPhoneDialog.vue +++ b/src/components/LeftSidebar/CallPhoneDialog/CallPhoneDialog.vue @@ -67,9 +67,9 @@ import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js' import NcModal from '@nextcloud/vue/dist/Components/NcModal.js' import NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js' -import DialpadPanel from '../../UIShared/DialpadPanel.vue' import LoadingComponent from '../../LoadingComponent.vue' import SelectPhoneNumber from '../../SelectPhoneNumber.vue' +import DialpadPanel from '../../UIShared/DialpadPanel.vue' import { CONVERSATION, PARTICIPANT } from '../../../constants.js' import { callSIPDialOut } from '../../../services/callsService.js' diff --git a/src/components/LeftSidebar/LeftSidebar.vue b/src/components/LeftSidebar/LeftSidebar.vue index 89e66ceb63b..8fc85215412 100644 --- a/src/components/LeftSidebar/LeftSidebar.vue +++ b/src/components/LeftSidebar/LeftSidebar.vue @@ -182,28 +182,28 @@ @@ -316,10 +344,11 @@ import Conversation from './ConversationsList/Conversation.vue' import ConversationsListVirtual from './ConversationsList/ConversationsListVirtual.vue' import InvitationHandler from './InvitationHandler.vue' import OpenConversationsList from './OpenConversationsList/OpenConversationsList.vue' -import SearchBox from '../UIShared/SearchBox.vue' +import AvatarWrapper from '../AvatarWrapper/AvatarWrapper.vue' import ConversationIcon from '../ConversationIcon.vue' -import Hint from '../UIShared/Hint.vue' import NewConversationDialog from '../NewConversationDialog/NewConversationDialog.vue' +import Hint from '../UIShared/Hint.vue' +import SearchBox from '../UIShared/SearchBox.vue' import TransitionWrapper from '../UIShared/TransitionWrapper.vue' import { useArrowNavigation } from '../../composables/useArrowNavigation.js' @@ -349,6 +378,7 @@ export default { name: 'LeftSidebar', components: { + AvatarWrapper, CallPhoneDialog, InvitationHandler, NcAppNavigation, @@ -389,7 +419,7 @@ export default { const federationStore = useFederationStore() const talkHashStore = useTalkHashStore() - const { initializeNavigation, resetNavigation } = useArrowNavigation(leftSidebar, searchBox, '.list-item') + const { initializeNavigation, resetNavigation } = useArrowNavigation(leftSidebar, searchBox) const isMobile = useIsMobile() return { @@ -413,6 +443,7 @@ export default { searchResultsUsers: [], searchResultsGroups: [], searchResultsCircles: [], + searchResultsFederated: [], searchResultsListedConversations: [], contactsLoading: false, listedConversationsLoading: false, @@ -703,6 +734,10 @@ export default { }) this.searchResultsGroups = this.searchResults.filter((match) => match.source === ATTENDEE.ACTOR_TYPE.GROUPS) this.searchResultsCircles = this.searchResults.filter((match) => match.source === ATTENDEE.ACTOR_TYPE.CIRCLES) + this.searchResultsFederated = this.searchResults.filter((match) => match.source === ATTENDEE.ACTOR_TYPE.REMOTES) + .map((item) => { + return { ...item, source: ATTENDEE.ACTOR_TYPE.FEDERATED_USERS } + }) this.contactsLoading = false } catch (exception) { if (CancelableRequest.isCancel(exception)) { @@ -960,11 +995,15 @@ export default { }, iconData(item) { - if (item.source === ATTENDEE.ACTOR_TYPE.USERS) { + if (item.source === ATTENDEE.ACTOR_TYPE.USERS + || item.source === ATTENDEE.ACTOR_TYPE.FEDERATED_USERS) { return { - type: CONVERSATION.TYPE.ONE_TO_ONE, - displayName: item.label, - name: item.id, + id: item.id, + name: item.label, + source: item.source, + disableMenu: true, + token: 'new', + showUserStatus: true, } } return { @@ -1074,6 +1113,14 @@ export default { padding: 0 !important; } +:deep(.app-navigation-caption):not(:first-child) { + margin-top: 12px !important; +} + +:deep(.app-navigation-caption__name) { + margin: 0 !important; +} + :deep(.list-item) { overflow: hidden; outline-offset: -2px; diff --git a/src/components/NewConversationDialog/NewConversationContactsPage.vue b/src/components/NewConversationDialog/NewConversationContactsPage.vue index 1e357f38d3a..2423d116940 100644 --- a/src/components/NewConversationDialog/NewConversationContactsPage.vue +++ b/src/components/NewConversationDialog/NewConversationContactsPage.vue @@ -83,10 +83,10 @@ import { showError } from '@nextcloud/dialogs' import NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js' -import ContactSelectionBubble from '../UIShared/ContactSelectionBubble.vue' -import DialpadPanel from '../UIShared/DialpadPanel.vue' import ParticipantSearchResults from '../RightSidebar/Participants/ParticipantsSearchResults.vue' import SelectPhoneNumber from '../SelectPhoneNumber.vue' +import ContactSelectionBubble from '../UIShared/ContactSelectionBubble.vue' +import DialpadPanel from '../UIShared/DialpadPanel.vue' import TransitionWrapper from '../UIShared/TransitionWrapper.vue' import { useArrowNavigation } from '../../composables/useArrowNavigation.js' @@ -131,7 +131,7 @@ export default { const wrapper = ref(null) const setContacts = ref(null) - const { initializeNavigation, resetNavigation } = useArrowNavigation(wrapper, setContacts, '.participant-row') + const { initializeNavigation, resetNavigation } = useArrowNavigation(wrapper, setContacts) return { initializeNavigation, diff --git a/src/components/RightSidebar/Participants/Participant.vue b/src/components/RightSidebar/Participants/Participant.vue index 4bd5dedf92e..eb9ff6f01e1 100644 --- a/src/components/RightSidebar/Participants/Participant.vue +++ b/src/components/RightSidebar/Participants/Participant.vue @@ -31,7 +31,7 @@ 'selected': isSelected }" :aria-label="participantAriaLabel" :role="isSearched ? 'listitem' : undefined" - :tabindex="isSearched ? 0 : undefined" + :tabindex="0" v-on="isSearched ? { click: handleClick, 'keydown.enter': handleClick } : {}" @keydown.enter="handleClick"> diff --git a/src/components/RightSidebar/Participants/ParticipantsTab.vue b/src/components/RightSidebar/Participants/ParticipantsTab.vue index 5c4f442bd32..d814d5cca97 100644 --- a/src/components/RightSidebar/Participants/ParticipantsTab.vue +++ b/src/components/RightSidebar/Participants/ParticipantsTab.vue @@ -20,9 +20,10 @@ -->